API Generar Etiquetas


Contenidos

Objetivo

Disponer a nuestros clientes un servicio para solicitar números de envío que posteriormente se usarán a lo largo del proceso para su seguimiento. Además, permite generar la etiquetas en el formato solicitado.

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
nroDTEtextoSiNúmero de documento tributario si corresponde.
codClientetextoSiCódigo SAP del cliente.
posicionInicial número No Posición inicial de la etiqueta dentro de la hoja:
0-5 en caso de etiquetas PDFS (6 etiquetas por hoja)
0-1 en caso de etiquetas PDF (2 etiquetas por hoja)
* Valor por defecto 0.
formatoEtiqueta texto Si Formatos disponibles:
PDF: Etiquetas en archivo pdf de 18cm x 13cm.
PDFS: Etiquetas en archivo pdf de 9cm x 7cm.
ZPL: Etiquetas formato ZPL (Para impresoras zebra o compatibles).
EPL: Etiquetas formato EPL (Para impresoras zebra antiguas).
* En caso de dejar vacio se realizara la admisión sin generar etiqueta.
modo texto Si Modo de salida del servicio:
JSON: El reponse correspondera a JSON con el archivo incluido como string base64.
ARCHIVO: El response correspondera directamente al archivo generado.
data nodo Si Arreglo con información de los envíos.
* El limite de envíos del arreglo se define internamente por cliente, pero el máximo es 500.
data.codAdmisiontextoNoCódigo asignado a la admisión.
data.codCentrotextoNoCódigo de centro.
data.codServiciotextoSiCódigo de servicio del envío.
data.remitentenodoSi
data.remitente.nombretexto(60)SiNombre del remitente.
data.remitente.codPaistextoNoCódigo ISO 3166-1 numérico, por defecto 056.
data.remitente.comunatexto(60)SiDirección completa del remitente.
data.remitente.direccion texto(60) Si Dirección completa del remitente.
* Debe ir en el siguiente orden: Calle + Número. + Resto.
data.remitente.codPostaltexto(7)NoCódigo postal del remitente
data.remitente.rut texto No RUT del remitente.
data.remitente.contactotextoNoNombre de contacto del remitente.
data.remitente.telefonotextoNoTeléfono de contacto del remitente.
data.remitente.emailtextoNoEmail de contacto del remitente.
data.destinatarionodoSi
data.destinatario.nombretexto(60)SiNombre del destinatario.
data.destinatario.codPaistextoNoCódigo ISO 3166-1 numérico, por defecto 056.
data.destinatario.comunatexto(60)SiComuna del destinatario.
data.destinatario.direccion texto(60) Si Dirección completa del destinatario.
* Debe ir en el siguiente orden: Calle + Número. + Resto.
data.destinatario.codPostaltexto(7)SiCódigo postal del destinatario.
data.destinatario.ruttextoNoRUT del destinatario.
data.destinatario.contactotextoNoNombre de contacto del destinatario.
data.destinatario.telefonotextoNoTeléfono de contacto del destinatario.
data.destinatario.emailtextoNoEmail de contacto del destinatario.
data.pagoSeguro texto No Indica si aplica seguro sobre el envío, valores aceptados:
Si: 1 o S
No: 0 o N
* Valor por defecto 0.
data.bultos número No Valor entre 1-999.
Valor por defecto 1.
data.kilos texto 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 (.)
Valor por defecto 0.001 si no hay volumen definido.
data.volumen texto 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 (.)
* Nuestro calculo de volumen es el siguiente:
(ancho(cm) x largo(cm) x alto(cm)) / 1.000.000
Valor por defecto 0.001 si no hay kilos definido.
data.codReferenciatextoSiReferencia del envío.
data.observacionestextoSiObservaciones de la etiqueta.
data.observacionesInternastextoSiObservaciones para registro interno.
data.tipoMercanciatexto(60)NoDescripción del contenido del paquete.
data.tipoPortes texto No P: Pago en Origen.
D: Pago en Destino.
data.valorDeclarado número No Valor del contenido del envío.
* Requerido si pago seguro es 1 o S.
data.devolucionConforme número Si Indica si requiere documento indicando conformidad.
Si: 1 o S
No: 0 o N
* Valor por defecto 0.
data.importeReembolso texto Si Valor del reembolso en caso que corresponda.
* Valor por defecto 0.
data.numDocumentos número No Cantidad de copias de documento indicando conformidad.
* Requerido si devolucionConforme es 1 o S.
* Valor por defecto 0.


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 etiquetas en modo JSON. El modo archivo retornara el archivo con todas las etiquetas que se pudieron generar exitosamente.

Nombre Tipo de dato Descripción
info nodo Arreglo con la respueta de cada uno de los envíos admitidos.
info.estado texto OK: La admisión fue completamente exitosa.
WARNING: La admisión fue exitosa, sin embargo se realizaron ajustes.
ERROR: La admisión fallo.
info.mensaje_{n}textoUna lista de N mensajes de WARNING.
admisionnodoInformación de la admisión exitosa de un envío.
admision.abreviaturaCentrotextoAbreviatura del centro de origen.
admision.codSucursaltextoCódigo de sucursal en caso de que corresponda.
admision.nombreSucursaltextoNombre de la sucursal de destino.
admision.codDelegacionDestinotextoCódigo de planta de destino.
admision.nombreDelegacionDestinotextoNombre de planta de destino.
admision.direccionDestinotextoDirección de domicilio o sucursal del destinatario.
admision.cuarteltextoCuartel al que se asigna envío.
admision.codEncaminamientotextoCódigo de encaminamiento para seguimiento.
admision.sectortextoOficina de centro de distribución de carteros.
admision.numeroEnviotextoNúmero de envío.
admision.comunaDestinotextoNombre de la comuna de destino.
admision.abreviaturaServiciotextoAbreviatura de servicio utilizado.
admision.SDPtextoSector de distribución de paquetería.
admision.codigoBarrasnodoArreglo de códigos de barra de 26 dígitos (codEncaminamiento + numeroEnvio + bultos)
admision.erroresnodoArreglo de errores generados durante la admisión.
admision.errores.codAdmisiontextoCódigo asignado a la admisión.
admision.errores.estadotextoSiempre texto "ERROR"
admision.errores.mensaje_{n}textoUna lista de N mensajes de ERROR.
admision.archivosnodoArreglo de archivos generados con admisión exitosa.
admision.archivos.nombretextoNombre del archivo.
admision.archivos.extensiontextoExtensión del archivo (.pdf, .epl, .zpl)
admision.archivos.str64DatatextoArchivo codificado en Base64.
Status Codes
Status Descripción Acción
200 Cuando la solicitud fue procesada satisfactoriamente. Retorna la información de las admisiones realizadas o el archivo con las etiquetas generadas.
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/etiquetas',
  'headers': {
    'Authorization': authorization,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "nroDTE": 0,
    "codCliente": "888888",
    "posicionInicial": 0,
    "formatoEtiqueta": "PDF",
    "modo": "json",
    "data": [
      {
        "codAdmision": "PRUEBA01",
        "codCentro": "",
        "codServicio": "24",
        "remitente": {
          "nombre": "PRUEBA CORREOSCHILE",
          "codPais": "056",
          "comuna": "ESTACION CENTRAL",
          "direccion": "EXPOSICION 221. Sexto 6",
          "codPostal": "9160002",
          "rut": "55.555.555-5",
          "contacto": "Soporte ecommerce",
          "telefono": "6009502020",
          "email": "soporte.ecommerce@correos.cl"
        },
        "destinatario": {
          "nombre": "CLIENTE DE PRUEBA",
          "codPais": "056",
          "comuna": "ESTACION CENTRAL",
          "direccion": "EXPOSICION 221. Sexto 6",
          "codPostal": "",
          "rut": "55.555.555-5",
          "contacto": "cliente de prueba",
          "telefono": "555555555",
          "email": "cliente@deprueba.cl"
        },
        "pagoSeguro": 0,
        "bultos": 1,
        "kilos": 1,
        "volumen": 0.001,
        "codReferencia": "prbcch0001",
        "observaciones": "Observaciones",
        "observacionesInternas": "Observaciones de uso interno",
        "tipoMercancia": "",
        "tipoPortes": "P",
        "valorDeclarado": 10000,
        "devolucionConforme": 0,
        "importeReembolso": 0,
        "numDocumentos": 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/etiquetas") {
    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" +
@"    ""nroDTE"": 0,
" + "\n" +
@"    ""codCliente"": ""888888"",
" + "\n" +
@"    ""posicionInicial"": 0,
" + "\n" +
@"    ""formatoEtiqueta"": ""PDF"",
" + "\n" +
@"    ""modo"": ""json"",
" + "\n" +
@"    ""data"": [
" + "\n" +
@"        {
" + "\n" +
@"            ""codAdmision"": ""PRUEBA01"",
" + "\n" +
@"            ""codCentro"": """",
" + "\n" +
@"            ""codServicio"": ""24"",
" + "\n" +
@"            ""remitente"": {
" + "\n" +
@"                ""nombre"": ""PRUEBA CORREOSCHILE"",
" + "\n" +
@"                ""codPais"": ""056"",
" + "\n" +
@"                ""comuna"": ""ESTACION CENTRAL"",
" + "\n" +
@"                ""direccion"": ""EXPOSICION 221. Sexto 6"",
" + "\n" +
@"                ""codPostal"": ""9160002"",
" + "\n" +
@"                ""rut"": ""55.555.555-5"",
" + "\n" +
@"                ""contacto"": ""Soporte ecommerce"",
" + "\n" +
@"                ""telefono"": ""6009502020"",
" + "\n" +
@"                ""email"": ""soporte.ecommerce@correos.cl""
" + "\n" +
@"            },
" + "\n" +
@"            ""destinatario"": {
" + "\n" +
@"                ""nombre"": ""CLIENTE DE PRUEBA"",
" + "\n" +
@"                ""codPais"": ""056"",
" + "\n" +
@"                ""comuna"": ""ESTACION CENTRAL"",
" + "\n" +
@"                ""direccion"": ""EXPOSICION 221. Sexto 6"",
" + "\n" +
@"                ""codPostal"": """",
" + "\n" +
@"                ""rut"": ""55.555.555-5"",
" + "\n" +
@"                ""contacto"": ""cliente de prueba"",
" + "\n" +
@"                ""telefono"": ""555555555"",
" + "\n" +
@"                ""email"": ""cliente@deprueba.cl""
" + "\n" +
@"            },
" + "\n" +
@"            ""pagoSeguro"": 0,
" + "\n" +
@"            ""bultos"": 1,
" + "\n" +
@"            ""kilos"": 1,
" + "\n" +
@"            ""volumen"": 0.001,
" + "\n" +
@"            ""codReferencia"": ""prbcch0001"",
" + "\n" +
@"            ""observaciones"": ""Observaciones"",
" + "\n" +
@"            ""observacionesInternas"": ""Observaciones de uso interno"",
" + "\n" +
@"            ""tipoMercancia"": """",
" + "\n" +
@"            ""tipoPortes"": ""P"",
" + "\n" +
@"            ""valorDeclarado"": 10000,
" + "\n" +
@"            ""devolucionConforme"": 0,
" + "\n" +
@"            ""importeReembolso"": 0,
" + "\n" +
@"            ""numDocumentos"": 0
" + "\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    \"nroDTE\": 0,\r\n    \"codCliente\": \"888888\",\r\n    \"posicionInicial\": 0,\r\n    \"formatoEtiqueta\": \"PDF\",\r\n    \"modo\": \"json\",\r\n    \"data\": [\r\n        {\r\n            \"codAdmision\": \"PRUEBA01\",\r\n            \"codCentro\": \"\",\r\n            \"codServicio\": \"24\",\r\n            \"remitente\": {\r\n                \"nombre\": \"PRUEBA CORREOSCHILE\",\r\n                \"codPais\": \"056\",\r\n                \"comuna\": \"ESTACION CENTRAL\",\r\n                \"direccion\": \"EXPOSICION 221. Sexto 6\",\r\n                \"codPostal\": \"9160002\",\r\n                \"rut\": \"55.555.555-5\",\r\n                \"contacto\": \"Soporte ecommerce\",\r\n                \"telefono\": \"6009502020\",\r\n                \"email\": \"soporte.ecommerce@correos.cl\"\r\n            },\r\n            \"destinatario\": {\r\n                \"nombre\": \"CLIENTE DE PRUEBA\",\r\n                \"codPais\": \"056\",\r\n                \"comuna\": \"ESTACION CENTRAL\",\r\n                \"direccion\": \"EXPOSICION 221. Sexto 6\",\r\n                \"codPostal\": \"\",\r\n                \"rut\": \"55.555.555-5\",\r\n                \"contacto\": \"cliente de prueba\",\r\n                \"telefono\": \"555555555\",\r\n                \"email\": \"cliente@deprueba.cl\"\r\n            },\r\n            \"pagoSeguro\": 0,\r\n            \"bultos\": 1,\r\n            \"kilos\": 1,\r\n            \"volumen\": 0.001,\r\n            \"codReferencia\": \"prbcch0001\",\r\n            \"observaciones\": \"Observaciones\",\r\n            \"observacionesInternas\": \"Observaciones de uso interno\",\r\n            \"tipoMercancia\": \"\",\r\n            \"tipoPortes\": \"P\",\r\n            \"valorDeclarado\": 10000,\r\n            \"devolucionConforme\": 0,\r\n            \"importeReembolso\": 0,\r\n            \"numDocumentos\": 0\r\n        }\r\n    ]\r\n}");
Request request = new Request.Builder()
  .url("https://cert-apib2bv2.correos.cl:8000/etiquetas")
  .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/etiquetas',
  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 =>'{
    "nroDTE": 0,
    "codCliente": "888888",
    "posicionInicial": 0,
    "formatoEtiqueta": "PDF",
    "modo": "json",
    "data": [
        {
            "codAdmision": "PRUEBA01",
            "codCentro": "",
            "codServicio": "24",
            "remitente": {
                "nombre": "PRUEBA CORREOSCHILE",
                "codPais": "056",
                "comuna": "ESTACION CENTRAL",
                "direccion": "EXPOSICION 221. Sexto 6",
                "codPostal": "9160002",
                "rut": "55.555.555-5",
                "contacto": "Soporte ecommerce",
                "telefono": "6009502020",
                "email": "soporte.ecommerce@correos.cl"
            },
            "destinatario": {
                "nombre": "CLIENTE DE PRUEBA",
                "codPais": "056",
                "comuna": "ESTACION CENTRAL",
                "direccion": "EXPOSICION 221. Sexto 6",
                "codPostal": "",
                "rut": "55.555.555-5",
                "contacto": "cliente de prueba",
                "telefono": "555555555",
                "email": "cliente@deprueba.cl"
            },
            "pagoSeguro": 0,
            "bultos": 1,
            "kilos": 1,
            "volumen": 0.001,
            "codReferencia": "prbcch0001",
            "observaciones": "Observaciones",
            "observacionesInternas": "Observaciones de uso interno",
            "tipoMercancia": "",
            "tipoPortes": "P",
            "valorDeclarado": 10000,
            "devolucionConforme": 0,
            "importeReembolso": 0,
            "numDocumentos": 0
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: ' . $authorization,
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;