API Tarifas
Contenidos
Objetivo
Disponer a nuestros clientes un medio seguro donde consultar las tarifas sobre sus distintos servicios disponibles.
Importante:
Cada cliente poseerá una credencial de acceso para la integración.
Puede consultar en Control de Acceso para mas información.
Cada cliente poseerá una credencial de acceso para la integración.
Puede consultar en Control de Acceso para mas información.
Formato Request
Se enviará un mensaje con la siguiente estructura:Dentro del body se enviará un objeto JSON con los campos listados a continuación.
Nombre | Tipo de dato | Requerido | Descripción |
---|---|---|---|
codServicio | texto(2) | No | Indica el código del servicio a consultar. En caso de venir vacío, se retornará la tarificación para todos los servicio que tiene el cliente tiene asociados. |
comunaRemitente | texto(50) | No | Nombre comuna del remitente. |
comunaDestino | texto(50) | Si | Nombre comuna del destinatario. |
tipoPortes | texto(1) | No |
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 |
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 (.) |
valorAsegurado | 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 (.) Por defecto es 0. |
Formato Response
Respuesta Satisfactoria
Dentro del body, el sistema devolverá un objeto JSON con los datos listados a continuación.
Nombre | Tipo de dato | Descripción |
---|---|---|
codServicio | texto | Código del servicio. |
totalTasacion | texto | Total de la tarifa. |
Status Codes
Status | Descripción | Acción |
---|---|---|
200 | Cuando la solicitud fue procesada satisfactoriamente. | Arreglo con las tarifas. |
400 | Cualquier error del lado del cliente. | Cualquier falla en el payload, como un header o body erroneo. |
500 | Cualquier error del lado del servidor. | Cualquier falla operativa interna, como no poder conectar con la base de datos. |
Ejemplos
Request
Response
Ok (200)
Error (400)
Error (400)
Error (500)
Códigos de ejemplo
//Si desea utilizar usuario y contraseña
var usuario = "[USUARIO]";
var password = "[CONTRASEÑA]";
var authorization = "basic " + Buffer.from(usuario + ":" + password).toString('base64');
//Si desea utilizar el token de acceso
var authorization = "token [TOKEN DE ACCESO]";
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://cert-apib2bv2.correos.cl:8000/tarifas',
'headers': {
'Authorization': authorization,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"comunaRemitente": "SANTIAGO",
"comunaDestino": "SANTIAGO",
"tipoPortes": "P",
"bultos": 1,
"kilos": 1,
"volumen": 0,
"importeReembolso": 0,
"valorAsegurado": 0
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("https://cert-apib2bv2.correos.cl:8000/tarifas") {
client.Timeout = -1
}
var request = new RestRequest(Method.POST);
//Si desea utilizar usuario y contraseña
var usr = "[USUARIO]";
var pwd = "[CONTRASEÑA]";
var authorization = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(usr + ":" + pwd));
request.AddHeader("Authorization", "basic " + authorization);
//Si desea utilizar el token de acceso
var token = "[TOKEN DE ACCESO]"
request.AddHeader("Authorization", authorization);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@" ""comunaRemitente"": ""SANTIAGO"",
" + "\n" +
@" ""comunaDestino"": ""SANTIAGO"",
" + "\n" +
@" ""tipoPortes"": ""P"",
" + "\n" +
@" ""bultos"": 1,
" + "\n" +
@" ""kilos"": 1,
" + "\n" +
@" ""volumen"": 0,
" + "\n" +
@" ""importeReembolso"": 0,
" + "\n" +
@" ""valorAsegurado"": 0
" + "\n" +
@"}";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
//import okhttp3.Credentials;
//import okhttp3.OkHttpClient;
//Si desea utilizar usuario y contraseña
String usuario = "[USUARIO]";
String contrasena = "[CONTRASEÑA]";
String authorization = "basic " + Credentials.basic(usuario, contrasena);
//Si desea utilizar token de acceso
String authorization = "token [TOKEN DE ACCESO]";
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"comunaRemitente\": \"SANTIAGO\",\r\n \"comunaDestino\": \"SANTIAGO\",\r\n \"tipoPortes\": \"P\",\r\n \"bultos\": 1,\r\n \"kilos\": 1,\r\n \"volumen\": 0,\r\n \"importeReembolso\": 0,\r\n \"valorAsegurado\": 0\r\n}");
Request request = new Request.Builder()
.url("https://cert-apib2bv2.correos.cl:8000/tarifas")
.method("POST", body)
.addHeader("Authorization", authorization)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
//Si desea utilizar usuario y contraseña
$usuario = '[USUARIO]';
$contrasena = '[CONTRASEÑA]';
$authorization = 'basic' . base64_encode($usuario . ':' . $contrasena);
//Si desea utilizar token de acceso
$token = '[TOKEN DE ACCESO]';
$authorization = 'token' . token;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://cert-apib2bv2.correos.cl:8000/tarifas',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"comunaRemitente": "SANTIAGO",
"comunaDestino": "SANTIAGO",
"tipoPortes": "P",
"bultos": 1,
"kilos": 1,
"volumen": 0,
"importeReembolso": 0,
"valorAsegurado": 0
}',
CURLOPT_HTTPHEADER => array(
'Authorization: ' . $authorization,
'Content-Type: application/json'
),
));