API Retiros
Contenidos
Objetivo
Disponer a nuestros clientes un servicio para solicitar el retiro de paquetes.
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 |
---|---|---|---|
remitente | nodo | Si | |
remitente.codCliente | texto(26) | Si | Código de facturación SAP asociado al usuario. Validar en BD en tabla usuario. |
remitente.nombre | texto(60) | Si | Nombre de remitente. |
remitente.codPais | texto(5) | No | Por defecto "056". |
remitente.direccion | texto(60) | Si | Dirección de remitente. |
remitente.comuna | texto(60) | Si | Comuna de Remitente. |
remitente.codPostal | texto(7) | No | Devuelto por el servicio. |
remitente.rut | texto(16) | No | Rut del remitente. |
remitente.contacto | texto(60) | Si | Contacto del remitente. |
remitente.telefono | texto(20) | Si | Teléfono contacto del remitente (sólo números). |
fechaRetiro | texto(10) | Si | Fecha de retiro (Formato dd/mm/yyyy). |
horaDesde | texto(5) | Si | Inicio intervalo de retiro (Formato hh:mm). |
horaHasta | texto(5) | Si | Fin intervalo de retiro (Formato hh:mm). |
bultos | número | No | Número de bultos del envió, entre 0 y 99. |
volumen | número | decimal(5,3) | Tamaño del envió. |
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 |
---|---|---|
mensaje | texto | Cualquier detalle relevante al retiro. |
data | nodo | |
data.codigoRetiro | texto | Identificador del retiro. |
Status Codes
Status | Descripción | Acción |
---|---|---|
200 | Cuando la solicitud fue procesada satisfactoriamente. | Respuesta JSON son los detalles del retiro solicitado. |
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/retiros',
'headers': {
'Authorization': authorization,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"remitente": {
"codCliente": "888888-01",
"nombre": "CORREOS CHILE",
"codPais": "056",
"direccion": "EXPOSICION 221",
"comuna": "",
"codPostal": "",
"rut": "55555555-5",
"contacto": "CONTACTO",
"telefono": "555555555"
},
"fechaRetiro": "25/12/2021",
"horaDesde": "14:00",
"horaHasta": "16:00",
"bultos": "1",
"volumen": "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/retiros") {
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" +
@" ""remitente"": {
" + "\n" +
@" ""codCliente"": ""888888-01"",
" + "\n" +
@" ""nombre"": ""CORREOS CHILE"",
" + "\n" +
@" ""codPais"": ""056"",
" + "\n" +
@" ""direccion"": ""EXPOSICION 221"",
" + "\n" +
@" ""comuna"": """",
" + "\n" +
@" ""codPostal"": """",
" + "\n" +
@" ""rut"": ""55555555-5"",
" + "\n" +
@" ""contacto"": ""CONTACTO"",
" + "\n" +
@" ""telefono"": ""555555555""
" + "\n" +
@" },
" + "\n" +
@" ""fechaRetiro"": ""25/12/2021"",
" + "\n" +
@" ""horaDesde"": ""14:00"",
" + "\n" +
@" ""horaHasta"": ""16:00"",
" + "\n" +
@" ""bultos"": ""1"",
" + "\n" +
@" ""volumen"": ""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 \"remitente\": {\r\n \"codCliente\": \"888888-01\",\r\n \"nombre\": \"CORREOS CHILE\",\r\n \"codPais\": \"056\",\r\n \"direccion\": \"EXPOSICION 221\",\r\n \"comuna\": \"\",\r\n \"codPostal\": \"\",\r\n \"rut\": \"55555555-5\",\r\n \"contacto\": \"CONTACTO\",\r\n \"telefono\": \"555555555\"\r\n },\r\n \"fechaRetiro\": \"25/12/2021\",\r\n \"horaDesde\": \"14:00\",\r\n \"horaHasta\": \"16:00\",\r\n \"bultos\": \"1\",\r\n \"volumen\": \"0\"\r\n}");
Request request = new Request.Builder()
.url("https://cert-apib2bv2.correos.cl:8000/retiros")
.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/retiros',
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 =>'{
"remitente": {
"codCliente": "888888-01",
"nombre": "CORREOS CHILE",
"codPais": "056",
"direccion": "EXPOSICION 221",
"comuna": "",
"codPostal": "",
"rut": "55555555-5",
"contacto": "CONTACTO",
"telefono": "555555555"
},
"fechaRetiro": "25/12/2021",
"horaDesde": "14:00",
"horaHasta": "16:00",
"bultos": "1",
"volumen": "0"
}',
CURLOPT_HTTPHEADER => array(
'Authorization: ' . $authorization,
'Content-Type: application/json'
),
));