Consultar coberturas
Este método devuelve al cliente eCommerce la cobertura de los servicios 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. |
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 | texto(10) | Si | No debe superar el máximo de 7 enteros y 2 decimales, el separador de decimal debe ser “.”. |
ImporteValorAsegurado | texto(10) | Si | NO: por defecto - SI: Es obligatorio si <PAGO_SEGUROS> tiene valor “S”, no debe superar el máximo de 7 enteros y 2 decimales, el separador de decimal debe ser “.”. |
NumeroTotalPieza | número | Si | Número de bultos, asociados al número de envió:>1 <999. |
TipoPortes | texto(1) | Si | Valores: P/D - P: pago en origen - D: pago en destino. |
Kilos | texto (10) | Si | Peso en kilos: separado por "." (ejemplo 1.1), No debe superar el máximo de 7 enteros y 2 decimales. |
Volumen | texto (10) | Si | Volumen en m3 = (ancho x largo x alto) / 1000000 - Formula para el producto paquetería nacional, no debe superar el máximo de 7 enteros y 2 decimales, el separador de decimal debe ser ".". |
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.CoberturaTO;
import java.util.List; */
public List ConsultaCobertura(String usuario, String contrasena, String comunaOrigen, String comunaDestino, String kilos, String volumen) throws Exception
{
try
{
CoberturaTO cobertura = new CoberturaTO();
cobertura.setCodigoPostalRemitente("");
cobertura.setCodigoPostalDestinatario("");
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();
Tarificacion.ArrayOfServicioTO servicios = port.consultaCobertura(usuario, contrasena, cobertura);
return servicios.getServicioTO();
}
catch(Exception exception)
{
throw new Exception("Ocurrio un error intentando obtener las coberturas.", exception);
}
}
function consultaCobertura($wsdlUrl, $usuario, $contrasena, $comunaRemitente, $comunaDestinatario, $kilos, $volumen, $tipoPortes)
{
try
{
$client = new SoapClient($wsdlUrl, array('trace' => 1, 'exception' => 0));
$result = $client->__soapCall('consultaCobertura', array(
'consultaCobertura' => array(
'usuario' => $usuario,
'contrasena' => $contrasena,
'consultaCobertura' => array(
'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 las coberturas.', 0, $e);
}
}
/* Add Service Reference namespace Tarificacion
using Tarificacion; */
public ServicioTO[] ConsultaCobertura(string usuario, string contrasena, string comunaOrigen, string comunaDestino, string kilos, string volumen)
{
try
{
var cobertura = new CoberturaTO
{
CodigoPostalDestinatario = "",
CodigoPostalRemitente = "",
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 servicios = client.consultaCobertura(usuario, contrasena, cobertura);
return servicios;
}
catch (Exception ex)
{
throw new Exception("Ocurrio un error intentando obtener las coberturas.", ex);
}
}