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 |
---|---|---|---|
Usuario | texto(50) | Si | Usuario entregado por CorreosChile para acceder a los servicios web. |
Contrasena | texto(50) | Si | Contraseña entregada por CorreosChile para acceder a los servicios web. |
CodigoServicio | texto(2) | Si | Código del Servicio a utilizar. |
ComunaRemitente | texto(255) | Si | Nombre de la Comuna del Remitente. |
PaisRemitente | texto(3) | Si | Se utiliza e código del Teléfono por País. (Ejemplo: "056") en caso de necesitarlo, solicitar. |
CodigoPostalRemitente | texto(7) | No | Código Postal del remitente. |
ComunaDestino | texto(255) | Si | Nombre de la Comuna del Destinatario. |
PaisDestinatario | texto(3) | Si | Se utiliza e código del Teléfono por País. (Ejemplo: “056”) en caso de necesitarlo, solicitar. |
CodigoPostalDestinatario | texto(7) | No | Código Postal del Destinatario. |
ImporteReembolso | nú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 (.) |
ImporteValorAsegurado | nú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 (.) |
NumeroTotalPieza | número | Si | Número de bultos, asociados al número de envió:>1 <999. |
TipoPortes | texto(1) | Si |
P: Pago en Origen (valor por defecto).
D: Pago en Destino |
Kilos | nú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 (.) |
Volumen | nú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);
}
}