API Manifiestos
Contenidos
Objetivo
Disponer a nuestros clientes un servicio para generar el manifiesto en formato PDF, a través del envío de la información del usuario y la información de los envíos.
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 |
---|---|---|---|
rutCliente | texto | Si | Rut del cliente. |
nombreCliente | texto | Si | Nombre del cliente. |
codCliente | texto | Si | Código SAP del cliente. |
comunaRemitente | texto | Si | Comuna del cliente. |
fechaCreacion | texto | Si | Fecha de generación del documento. |
numeroManifiesto | texto | Si | Se trata de un correlativo con el número de su manifiesto, se compone de YYYYMMDDCOD_SAP_CORR, donde; YYYY = Año, MM = mes, DD = día, COD_SAP = código SAP del cliente y CORR_ correlativo largo 3. |
formato | texto | No | Por defecto la respuesta será directamente el archivo pdf generado, pero al incluir este capo con el valor "json", el response cambia a JSON, con el archivo Pdf en formato string base64. |
data | nodo | Si |
Arreglo con los items del manifiesto.
* El limite de items del arreglo se define internamente por cliente, pero el máximo es 500. |
data.nombreProducto | texto | Si | Identificador del Pedido. |
data.nombreDestinatario | texto | Si | Nombre del destinatario. |
data.comunaDestinatario. | texto | Si | Nombre de la comuna del destinatario. |
data.codReferencia | texto | Si | Referencia ingresada al generar la etiqueta. |
data.numeroEnvio | texto | Si | Número de envío de CorreosChile |
data.bultos | texto | Si | Número de bultos en los que se ha dividido el pedido al generar la etiqueta. |
Formato Response
Respuesta Satisfactoria
Dentro del body se enviará un objeto JSON con los campos listados a continuación.
Nota: Esta respuesta solo aplica a la generación de manifiestos en formato "data".
Nombre | Tipo de dato | Descripción |
---|---|---|
nombre | texto | Arreglo con la respueta de cada uno de los envíos admitidos. |
extension | texto | Extensión del archivo (.pdf) |
str64Data | texto | Archivo codificado en Base64. |
Status Codes
Status | Descripción | Acción |
---|---|---|
200 | Cuando la solicitud fue procesada satisfactoriamente. | Retorna la información del manifiesto realizado o el archivo con el manifiesto generado. |
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 (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/manifiestos',
'headers': {
'Authorization': authorization,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"rutCliente": "1-9",
"nombreCliente": "Prueba CorreosChile",
"codCliente": "888888",
"comunaRemitente": "ESTACION CENTRAL",
"fechaCreacion": "28/12/2021",
"numeroManifiesto": "20211228_526843_001",
"formato": "",
"data": [
{
"nombreProducto": "PEDIDO 1",
"nombreDestinatario": "CLIENTE 1",
"comunaDestinatario": "SANTIAGO",
"codReferencia": "PRB0001",
"numeroEnvio": "888888888881",
"bultos": "1"
}
]
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("https://apib2bv2.correos.cl/manifiestos");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic ?");
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@" ""rutCliente"": ""1-9"",
" + "\n" +
@" ""nombreCliente"": ""Prueba CorreosChile"",
" + "\n" +
@" ""codCliente"": ""888888"",
" + "\n" +
@" ""comunaRemitente"": ""ESTACION CENTRAL"",
" + "\n" +
@" ""fechaCreacion"": ""28/12/2021"",
" + "\n" +
@" ""numeroManifiesto"": ""20211228_526843_001"",
" + "\n" +
@" ""formato"": """",
" + "\n" +
@" ""data"": [
" + "\n" +
@" {
" + "\n" +
@" ""nombreProducto"": ""PEDIDO 1"",
" + "\n" +
@" ""nombreDestinatario"": ""CLIENTE 1"",
" + "\n" +
@" ""comunaDestinatario"": ""SANTIAGO"",
" + "\n" +
@" ""codReferencia"": ""PRB0001"",
" + "\n" +
@" ""numeroEnvio"": ""888888888881"",
" + "\n" +
@" ""bultos"": ""1""
" + "\n" +
@" }
" + "\n" +
@" ]
" + "\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 \"rutCliente\": \"1-9\",\r\n \"nombreCliente\": \"Prueba CorreosChile\",\r\n \"codCliente\": \"888888\",\r\n \"comunaRemitente\": \"ESTACION CENTRAL\",\r\n \"fechaCreacion\": \"28/12/2021\",\r\n \"numeroManifiesto\": \"20211228_526843_001\",\r\n \"formato\": \"\",\r\n \"data\": [\r\n {\r\n \"nombreProducto\": \"PEDIDO 1\",\r\n \"nombreDestinatario\": \"CLIENTE 1\",\r\n \"comunaDestinatario\": \"SANTIAGO\",\r\n \"codReferencia\": \"PRB0001\",\r\n \"numeroEnvio\": \"888888888881\",\r\n \"bultos\": \"1\"\r\n }\r\n ]\r\n}");
Request request = new Request.Builder()
.url("https://cert-apib2bv2.correos.cl:8000/manifiestos")
.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/manifiestos',
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 =>'{
"rutCliente": "1-9",
"nombreCliente": "Prueba CorreosChile",
"codCliente": "888888",
"comunaRemitente": "ESTACION CENTRAL",
"fechaCreacion": "28/12/2021",
"numeroManifiesto": "20211228_526843_001",
"formato": "",
"data": [
{
"nombreProducto": "PEDIDO 1",
"nombreDestinatario": "CLIENTE 1",
"comunaDestinatario": "SANTIAGO",
"codReferencia": "PRB0001",
"numeroEnvio": "888888888881",
"bultos": "1"
}
]
}',
CURLOPT_HTTPHEADER => array(
'Authorization: ' . $authorization,
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;