Consultar cobertura por producto

Este método devuelve al cliente eCommerce la cobertura de un servicio específico que dispone en CorreosChile.


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.
CodigoServiciotexto(2)SiCódigo del Servicio a utilizar.
ComunaRemitentetexto(255)SiNombre de la Comuna del Remitente.
PaisRemitentetexto(3)SiSe utiliza e código del Teléfono por País. (Ejemplo: "056") en caso de necesitarlo, solicitar.
CodigoPostalRemitentetexto(7)NoCódigo Postal del remitente.
ComunaDestinotexto(255)SiNombre de la Comuna del Destinatario.
PaisDestinatariotexto(3)SiSe utiliza e código del Teléfono por País. (Ejemplo: “056”) en caso de necesitarlo, solicitar.
CodigoPostalDestinatariotexto(7)NoCódigo Postal del Destinatario.
ImporteReembolsonúmero(7.2)No Número con 5 dígitos enteros y 2 después de la coma como máximo.
Separación decimal a usar debe ser un punto (.)
ImporteValorAseguradonúmero(7.2)No Número con 5 dígitos enteros y 2 después de la coma como máximo.
Separación decimal a usar debe ser un punto (.)
NumeroTotalPiezanúmeroSiNúmero de bultos, asociados al número de envió:>1 <999.
TipoPortestexto(1)Si P: Pago en Origen (valor por defecto).
D: Pago en Destino
Kilosnúmero(7.2)Si Número con 5 dígitos enteros y 2 después de la coma como máximo.
Separación decimal a usar debe ser un punto (.)
Volumennúmero(7.2)Si Número con 5 dígitos enteros y 2 después de la coma como máximo.
Separación decimal a usar debe ser un punto (.)
* Nuestro calculo de volumen es el siguiente:
(ancho(cm) x largo(cm) x alto(cm)) / 1.000.000

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_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: Tarificacion
import Tarificacion.ServicioTO;
import Tarificacion.CoberturaProductoTO; */
public ServicioTO ConsultaCoberturaPorProducto(String usuario, String contrasena, String codigoServicio, String comunaOrigen, String comunaDestino, 
                                               String kilos, String volumen) throws Exception
{
    try
    {
        CoberturaProductoTO cobertura = new CoberturaProductoTO();
        cobertura.setCodigoPostalRemitente("");
        cobertura.setCodigoPostalDestinatario("");
        cobertura.setCodigoServicio(codigoServicio);
        cobertura.setComunaRemitente(comunaOrigen);
        cobertura.setComunaDestino(comunaDestino);
        cobertura.setImporteValorAsegurado("0");
        cobertura.setImporteReembolso("0");
        cobertura.setNumeroTotalPieza("1");
        cobertura.setKilos(kilos);
        cobertura.setVolumen(volumen);
        cobertura.setTipoPortes("P");
        cobertura.setPaisDestinatario("056");
        cobertura.setPaisRemitente("056");
        
        Tarificacion.ExternoTarificacion service = new Tarificacion.ExternoTarificacion();
        Tarificacion.ExternoTarificacionSoap port = service.getExternoTarificacionSoap();
        ServicioTO servicio = port.consultaCoberturaPorProducto(usuario, contrasena, cobertura);
        return servicio;
    }
    catch(Exception exception)
    {
        throw new Exception("Ocurrio un error intentando obtener la cobertura por producto.", exception);
    }
}
function consultaCoberturaPorProducto($wsdlUrl, $usuario, $contrasena, $codigoServicio, $comunaRemitente, $comunaDestinatario, $kilos, $volumen, $tipoPortes)
{
    try
    {
        $client = new SoapClient($wsdlUrl, array('trace' => 1, 'exception' => 0));
        $result = $client->__soapCall('consultaCoberturaPorProducto', array(
            'consultaCoberturaPorProducto' => array(
                'usuario' => $usuario, 
                'contrasena' => $contrasena,
                'consultaCobertura' => array(
                    'CodigoServicio' => $codigoServicio, 
                    'CodigoPostalDestinatario' => '',
                    'CodigoPostalRemitente' => '',
                    'ComunaDestino' => $comunaDestinatario, 
                    'ComunaRemitente' => $comunaRemitente, 
                    'NumeroTotalPieza' => '1',
                    'Kilos' => $kilos, 
                    'Volumen' => $volumen,
                    'NumeroTotalPieza' => '1', 
                    'PaisDestinatario' => '056', 
                    'PaisRemitente' => '056', 
                    'TipoPortes' => $tipoPortes
                )
            )), null, null);
        return $result->consultaCoberturaResult;
    }
    catch (SoapFault $e) {
        throw new Exception($e->getMessage(), 0, $e);
    }
    catch (Exception $e) {
        throw new Exception('Ocurrio un error intentando obtener la cobertura por producto.', 0, $e);
    }
}
/* Add Service Reference namespace Tarificacion
   using Tarificacion; */
public ServicioTO ConsultaCoberturaPorProducto(string usuario, string contrasena, string codigoServicio, string comunaOrigen, string comunaDestino, string kilos, string volumen)
{
    try
    {
        var consultaCobertura = new CoberturaProductoTO
        {
            CodigoPostalDestinatario = "",
            CodigoPostalRemitente = "",
            CodigoServicio = codigoServicio,
            ComunaRemitente = comunaOrigen,
            ComunaDestino = comunaDestino,
            ImporteValorAsegurado = "0",
            ImporteReembolso = "0",
            NumeroTotalPieza = "1",
            Kilos = kilos,
            Volumen = volumen,
            TipoPortes = "P",
            PaisDestinatario = "056",
            PaisRemitente = "056"
        };
        var client = new ExternoTarificacionSoapClient();
        var servicio = client.consultaCoberturaPorProducto(usuario, contrasena, consultaCobertura);
        return servicio;
    }
    catch (Exception ex)
    {
        throw new Exception("Ocurrio un error intentando obtener la cobertura por producto.", ex);
    }
}