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.


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'
  ),
));