Registrar retiro

Permite registrar la solicitud de retiro de un paquete.


URLs

Ambiente certificación
WSDL
Ambiente producción
WSDL

Parámetros
Nombre Tipo Requerido Descripción
Usuariotexto(50)SiUsuario entregado por CorreosChile para acceder a los servicios web.
Contrasenatexto(50)SiContraseña entregada por CorreosChile para acceder a los servicios web.
CodigoAdmisiontexto(60)SiIdentificador o ID de transacción interna del cliente, con este dato se devolverá el XML de respuesta.
ClienteRemitentetexto(11)SiCódigo de facturación SAP asociado al usuario. Validar en BD en tabla usuario.
CentroRemitentetexto(2)NoNo aplica.
RutRemitentetexto(16)NoRut del remitente, formato no validado.
NombreRemitentetexto(60)NoNombre de remitente.
PersonaContactoRemitentetexto(60)SiContacto del remitente.
TelefonoContactoRemitentetexto(20)SiTeléfono contacto del remitente (sólo números).
DireccionRemitentetexto(60)NoDirección de remitente.
PaisRemitentetexto(5)NoPor defecto "056".
ComunaRemitentetexto(60)NoComuna de remitente.
CodigoPostalRemitentetexto(7)NoDevuelto por servicio.
FechaRetirotexto(10)SiFecha de retiro (Formato YYYY/MM/DD).
HoraDesdetexto(5)SiHora desde (Formato HH:MM).
HoraHastatexto(5)SiHora hasta (Formato HH:MM).

Request


Response


Error


Códigos de error
Código Descripción
ERR_USR_INX Usuario no existe.
ERR_PASS_INC Contraseña incorrecta.
ERR_EXC_DAT Error en la ejecución del procedimiento, en base de datos.
ERR_CON_INX No se encontraron datos para la consulta.
ERR_SRV_USU Servicio no asociado al usuario.
ERR_SRV_INX Servicio no existe.
ERR_CMNCN_OD Error al comunicar con el origen de datos.
ERR_STOU_XML Error con estructura del XML de salida del origen de datos.
ERR_STIN_XML Error con estructura del XML de entrada.
ERR_DATOS_OBLI Faltan datos obligatorios del usuario.
ERR_ACT_TRANS Error al actualizar datos de la tabla LogTransaccional.
ERR_LGIN_INC Nombre usuario o contraseña incorrectas.
ERR_RTE_CODA Código de admisión no puede superar los 60 caracteres y no puede ser vacío.
ERR_RTE_CLIER Cliente remitente no puede superar los 11 caracteres y no puede ser vacío.
ERR_RTE_CNTRR Centro remitente no puede superar los 2 caracteres.
ERR_RTE_NOMR Nombre remitente no puede superar los 60 caracteres.
ERR_RTE_DIRR Dirección remitente no puede superar los 60 caracteres.
ERR_RTE_PAISR País remitente debe ser menor a 5 dígitos.
ERR_RTE_CODPT Código postal remitente no puede superar los 7 caracteres.
ERR_RTE_COMR Comuna remitente no puede superar los 60 caracteres.
ERR_RTE_RUTR Rut remitente no puede superar los 16 caracteres.
ERR_RTE_PCR Persona contacto remitente no puede superar los 60 caracteres y no puede ser vacío.
ERR_RTE_TCR Teléfono contacto remitente no puede superar los 20 caracteres y no puede ser vacío.
ERR_RTE_FECR Fecha retiro no puede ser vacío.
ERR_RTE_HRD Debe ingresar una hora desde valida (hh:mm).
ERR_RTE_HRH Debe ingresar una hora hasta valida (hh:mm).
ERR_DES_SERV Servicio deshabilitado.
EXT_ILIMT_SERV El servicio es ilimitado.
EXT_CUP_SERV Quedan cupos del servicio.
ERR_CUOT_MAX Se alcanzó la cuota limite.

Ejemplos
/* New Web Service Client via WSDL
PackageName: Retiros
import Retiros.RespuestaAnulacionTO;
import import javax.xml.datatype.XMLGregorianCalendar; */   
public static ResultadoRetiroTO RegistrarRetiro(String usuario, String contrasena, String codigoAdmision, String clienteRemitente, 
                                                String nombre, String direccion, String codigoPostal, String comuna, String rut,
                                                String contacto, String telefono, XMLGregorianCalendar fecha, String horaDesde, 
                                                String horaHasta) throws Exception
{
    try
    {
        Retiros.RetiroTO retiro = new Retiros.RetiroTO();
        retiro.setCodigoAdmision(codigoAdmision);
        retiro.setClienteRemitente(clienteRemitente);
        retiro.setNombreRemitente(nombre);
        retiro.setDireccionRemitente(direccion);
        retiro.setCodigoPostalRemitente(codigoPostal);
        retiro.setRutRemitente(rut);
        retiro.setPersonaContactoRemitente(contacto);
        retiro.setTelefonoContactoRemitente(telefono);
        retiro.setFechaRetiro(fecha);
        retiro.setHoraDesde(horaDesde);
        retiro.setHoraHasta(horaHasta);
        
        Retiros.ServicioExternoRetiro service = new Retiros.ServicioExternoRetiro();
        Retiros.ServicioExternoRetiroSoap port = service.getServicioExternoRetiroSoap();
        ResultadoRetiroTO respuestaRetiro = port.registrarRetiro(retiro, contrasena, usuario);
        return respuestaRetiro;
    }
    catch(Exception exception)
    {
        throw new Exception("Ocurrio un error intentando realizar la anulación del envío.", exception);
    }
}
function registrarRetiro($wsdlUrl, $usuario, $contrasena, $codigoAdmision, $clienteRemitente, $nombre, $direccion, $comuna, 
                         $codigoPostal, $contacto, $telefono, $fecha, $horaDesde, $horaHasta)
{
    try
    {
        $client = new SoapClient($wsdlUrl, array('trace' => 1, 'exception' => 0));
        $result = $client->__soapCall('registrarRetiro', array(
            'registrarRetiro' => array(
                'usuario' => $usuario, 
                'contrasena' => $contrasena,
                'retiroTO' => array(
                    'CodigoAdmision' => $codigoAdmision,
                    'ClienteRemitente' => $clienteRemitente,
                    'CentroRemitente' => '',
                    'NombreRemitente' => $nombre,
                    'DireccionRemitente' => $direccion,
                    'PaisRemitente' => '056',
                    'CodigoPostalRemitente' => $codigoPostal,
                    'ComunaRemitente' => $comuna,
                    'RutRemitente' => '',
                    'PersonaContactoRemitente' => $contacto,
                    'TelefonoContactoRemitente' => $telefono,
                    'FechaRetiro' => $fecha,
                    'HoraDesde' => $horaDesde,
                    'HoraHasta' => $horaHasta,
                )
            )), null, null);
        return $result->registrarRetiroResult;
    }
    catch (SoapFault $e) {
        throw new Exception($e->getMessage(), 0, $e);
    }
    catch (Exception $e) {
        throw new Exception('Ocurio un error intentando registrar el Retiro.', 0, $e);
    }
}
/* Add Service Reference namespace Retiros
   using Retiros; */
public ResultadoRetiroTO RegistrarRetiro(string usuario, string contrasena, string codigoAdmision, string clienteRemitente, string nombre, 
                                         string direccion, string codigoPostal, string comuna, string rut, string contacto, string telefono, 
                                         DateTime fecha, string horaDesde, string horaHasta)
{
    try
    {
        var retiro = new RetiroTO()
        {
            CodigoAdmision = codigoAdmision,
            ClienteRemitente = clienteRemitente,
            NombreRemitente = nombre,
            DireccionRemitente = direccion,
            CodigoPostalRemitente = codigoPostal,
            ComunaRemitente = comuna,
            RutRemitente = rut,
            PersonaContactoRemitente = contacto,
            TelefonoContactoRemitente = telefono,
            FechaRetiro = fecha,
            HoraDesde = horaDesde,
            HoraHasta = horaHasta
        };
        var client = new ServicioExternoRetiroSoapClient();
        var respuestaRetiro = client.registrarRetiro(retiro, contrasena, usuario);
        return respuestaRetiro;
    }
    catch (Exception ex)
    {
        throw new Exception("Ocurrio un error intentando solicitar el retiro.", ex);
    }
}