API GENERACIÓN


INTRODUCCIÓN

La API de generación de envíos de HUIPIX ENVÍOS es una herramienta que permite automatizar el proceso de envío de productos mediante la integración de aplicaciones. Esta API se basa en la tecnología REST (Representational State Transfer), lo que la hace altamente adaptable y fácilmente integrable. con otros sistemas y aplicaciones existentes.

La API de generación de envíos ofrece una amplia gama de funcionalidades para satisfacer las necesidades de las empresas de comercio electrónico y logística, desde la gestión de etiquetas de envío y el seguimiento de pedidos hasta la programación de recolecciones y la estimación de costos de envío.


AUTENTICACIÓN

La autenticación para el uso de la API de Generación se hace mediante dos campos: key y password definido en el encabezado (header) en un objeto de nombre “security” de la petición.
Estos campos requieren de su solicitud al equipo de desarrollo de la API.

PROPIEDAD DESCRIPCIÓN
key Es una de las credenciales solicitadas para el acceso de la aplicación, se trata de una cadena de caracteres cifrados obligatoria cuyo nombre en la petición es “key”, debe de ser solicitada al equipo de desarrollo de la API y está asociada al usuario generado para el consumo de la aplicación.
password Es una de las credenciales solicitadas para el acceso de la aplicación, se trata de una cadena de caracteres cifrados obligatoria cuyo nombre en la petición es “password”, debe de ser solicitada al equipo de desarrollo de la API y está asociada al usuario generado para el consumo de la aplicación.


DESCRIPCIÓN DE PARÁMETROS
PROPIEDAD OBLIGATORIO TIPO DE DATO LONGITUD RESTRICCIONES
key Texto Cifrado Ilimitado Solicitar su generación
password Texto Cifrado Ilimitado Solicitar su generación
applicationName Texto Ilimitado -
type Texto Ilimitado -
name Texto Ilimitado -
company Texto Ilimitado -
rfc Texto Ilimitado -
streetAndNumber Texto Ilimitado -
zipCode Cadena de caracteres 5 -
colonyName Texto Ilimitado -
state Texto Ilimitado -
cityName Texto Ilimitado -
reference Texto Ilimitado -
phone Númerico 10 Solo 10 caracteres numéricos
email Texto Ilimitado -
serviceType Texto Ilimitado Solo se permite una opción.
deliveryType Cadena de caracteres 1 Catalogo.
totalDeclaredValue Flotante Valor mayor igual a 6000 -
description Texto Ilimitado -
physicalPackaging Cadena de caracteres 1 Catalogo.
weight Flotante - -
width Condicional Flotante - -
length Condicional Flotante - -
height Condicional Flotante - -
quantity Entero - -

CATÁLOGOS
Tipos de Entrega (deliveryType)
Valor (Cadena) Descripción
0 Entrega en sucursal (Ocurre)
1 Entrega a domicilio
Tipos de Embalaje (physicalPackaging)
Valor (Cadena) Descripción
0 Caja
1 Sobre
Listado de Servicios (serviceType)
PAQUETERÍA VALOR (CADENA) DESCRIPCIÓN
DHL ECONOMY SELECT DOMESTIC Guía económica con tiempo estimado de entrega normal.
EXPRESS DOMESTIC Guía express, costo más alto con un tiempo estimado de entrega más rápida.
FedEx FEDEX_EXPRESS_SAVER Guía económica con tiempo estimado de entrega normal.
STANDARD_OVERNIGHT Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Estafeta TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Paquetexpress TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Redpack TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.

Encabezado de la petición (header).

En esta sección obligatoria representada como un objeto de nombre “header” se solicitarán datos acerca del cliente que realiza la petición.

En esta sección obligatoria se solicitarán detalles de la terminal que efectúa la petición, así como del aplicativo desarrollado que requiere la información.
applicationName (Nombre de la aplicación).

En esta sección se solicitará una cadena de caracteres directa y sin restricciones de manera opcional cuyo nombre en la petición es “applicationName” en la cual el usuario podrá ingresar el nombre del aplicativo que realiza la petición.

type (tipo).

En esta sección se solicitará una cadena de caracteres directa y sin restricciones de manera opcional cuyo nombre en la petición es “type” en la cual el usuario podrá ingresar el tipo de desarrollo que está realizando, ya sea Web, Móvil, Ejecutable para windows, etc...

Cuerpo de la petición (body).

En este objeto se describirán la mayoría de los detalles de la petición.

En esta sección se solicitará la información necesaria del remitente.

name (Nombre del contacto).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “name” en la cual el usuario podrá ingresar el nombre del contacto que enviará las piezas de la guía.

company (Empresa).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “company” en la cual el usuario podrá ingresar el nombre del la empresa que enviará las piezas de la guía.

rfc (RFC).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “rfc” en la cual el usuario podrá ingresar el RFC del contacto que enviará las piezas de la guía.

streetAndNumber (Calle y número).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “streetAndNumber” en la cual el usuario podrá ingresar el nombre de la calle que enviará las piezas de la guía.

zipCode (Código postal).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, forzosamente compuesta por 5 caracteres. Se identifica en la petición con el nombre de “zipCode” en la cual el usuario deberá ingresar el código postal de la zona desde la cual se enviarán las piezas de la guía.

colonyName (Nombre de la colonia).

En esta sección se solicitará una cadena de caracteres directa y sin restricciones de manera opcional cuyo nombre en la petición es “colonyName” en la cual el usuario podrá ingresar el nombre de la colonia desde la cual se enviarán las piezas de la guía.

state (Estado).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es "state" en la cual el usuario podrá ingresar el estado desde la cual se enviarán las piezas de la guía.

cityName (Ciudad).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “cityName” en la cual el usuario podrá ingresar la ciudad desde la cual se enviarán las piezas de la guía.

reference (Referencia).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “reference” en la cual el usuario podrá ingresar la referencia de dirección desde la cual se enviarán las piezas de la guía.

phone (Teléfono).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, forzosamente compuesta por 10 caracteres. Se identifica en la petición con el nombre de “phone” en la cual el usuario deberá ingresar el número telefónico de la persona de origen donde se podrá contactar.

email (Correo electrónico).

En esta sección se solicitará una cadena de caracteres directa de manera obligatoria, cuyo nombre en la petición es “email” en la cual el usuario deberá ingresar el correo electrónico de la persona de origen donde se podrá contactar.

En esta sección se solicitará la información necesaria del destinatario.
las propiedades de esta sección son las mismas que las de originAddress

serviceType (Tipo de servicio).

En esta sección se solicitará una cadena de caracteres directa obligatoria, forzosamente compuesta una selección de 2 opciones posibles cuyo nombre en la petición es “serviceType” en la cual el usuario deberá seleccionar una opción de entrega de la siguiente lista.

PAQUETERÍA VALOR (CADENA) DESCRIPCIÓN
DHL ECONOMY SELECT DOMESTIC Guía económica con tiempo estimado de entrega normal.
EXPRESS DOMESTIC Guía express, costo más alto con un tiempo estimado de entrega más rápida.
FedEx FEDEX_EXPRESS_SAVER Guía económica con tiempo estimado de entrega normal.
STANDARD_OVERNIGHT Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Estafeta TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Paquetexpress TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.
Redpack TERRESTRE Guía económica con tiempo estimado de entrega normal.
EXPRESS Guía express, costo más alto con un tiempo estimado de entrega más rápida.

deliveryType (Tipo de entrega).

En esta sección se solicitará una cadena de caracteres directa obligatoria, forzosamente compuesta por 1 carácter cuyo nombre en la petición es “deliveryType” en la cual el usuario deberá seleccionar una opción de entrega de la siguiente lista.

PROPIEDAD DESCRIPCIÓN
0 Entrega en sucursal (Ocurre).
1 Entrega a domicilio.

totalDeclaredValue (Valor Declarado).

En esta sección se solicitará valor flotante obligatorio con un valor mayor igual a 6000 cuyo nombre en la petición es “totalDeclaredValue” en la cual el usuario deberá referir el valor del envío si y sólo si requiere asegurar el mismo, en caso de no desear asegurar el paquete puede introducir en ese dato el valor 0 y el sistema considerará que no se desea asegurar el envío.

description (Descripción).

En esta sección se solicitará una cadena de caracteres directa obligatoria, forzosamente compuesta sin límite de carácter cuyo nombre en la petición es “description” en la cual el usuario deberá referir la descripción de esta pieza.

physicalPackaging (Embalaje Físico).

En esta sección se solicitará una cadena de caracteres directa obligatoria, forzosamente compuesta por 1 carácter cuyo nombre en la petición es “physicalPackaging” en la cual el usuario deberá seleccionar una opción de entrega de la siguiente lista.

PROPIEDAD DESCRIPCIÓN
0 Caja.
1 Sobre.

weight (Peso).

En esta sección se solicitará valor flotante obligatorio cuyo nombre en la petición es “weight” en la cual el usuario deberá referir el peso de esta pieza.

width (Ancho).

En esta sección se solicitará valor flotante cuyo nombre en la petición es “width” en la cual el usuario deberá referir la anchura en centímetros de la pieza solo si seleccionó caja.

length (Largo).

En esta sección se solicitará valor flotante obligatorio cuyo nombre en la petición es “length” en la cual el usuario deberá referir la longitud en centímetros de la pieza solo si seleccionó caja.

height (Alto).

En esta sección se solicitará valor flotante obligatorio cuyo nombre en la petición es “height” en la cual el usuario deberá referir la altura en centímetros de la pieza solo si seleccionó caja.

product_code (Código del producto).

En esta sección se solicitará valor numérico obligatorio cuyo nombre en la petición es “product_code” en la cual el usuario deberá referir el código del producto del SAT.

quantity (Cantidad).

En esta sección se solicitará valor entero obligatorio cuyo nombre en la petición es “quantity” en la cual el usuario deberá referir cuántas piezas iguales se envían.


EJEMPLO DHL REQUEST

{
  "header": {
    "security": {
      "key": "[USER KEY]",
      "password": "[USER PASSWORD]"
    },
    "device": {
      "applicationName": "",
      "type": "Web"
    }
  },
  "body": {
    "request": {
      "data":{
        "originAddress":{
           "name":"Contacto de Origen",
           "company":"Empresa de Origen",
           "rfc":"RFCDEORIGEN",
           "streetAndNumber":"Calle de Origen",
           "zipCode":"23000",
           "colonyName":"Colonia de Origen",
           "state":"Baja California",
           "cityName":"La Paz",
           "reference":"Prueba",
           "phone":"3312312312",
           "email":"origen@gmail.com"
        },
        "destinationAddress":{
           "name":"Contacto de Destino",
           "company":"Empresa de Destino",
           "rfc":"RFCDEDESTINO",
           "streetAndNumber":"Calle de Destino",
           "zipCode":"97000",
           "colonyName":"Colonia de Destino",
           "state":"Yucatán",
           "cityName":"Mérida",
           "reference":"Prueba",
           "phone":"3312312312",
           "email":"destino@gmail.com"
        },
        "services":{
           "serviceType":"ECONOMY SELECT DOMESTIC",
           "deliveryType":1,
           "totalDeclaredValue":0
        },
        "shipmentDetail":[
           {
              "description":"ROPA",
              "physicalPackaging":"2",
              "weight":5,
              "height":"20",
              "width":"20",
              "length":"20",
              "product_code":"151201561",
              "quantity":1
           }
        ]
      }
    }
  }
}
                      

EJEMPLO DHL RESPONSE

[
   {
      "status":"200",
      "message":"OK",
      "shippingNumber":"1234567890",
      "pdfb64": "{{PDF EN BASE64}}"
   }
]
                      

DATOS RESPONSE
status (CÓDIGOS DE ERROR)

Este valor significa que la respuesta ha sido exitosa.

Este valor significa que la que hubo un error de autenticación.

Este valor significa que la que hubo un error no especificado y se debe consultar con el proveedor del servicio.

Apartado que presenta la descripción textual del estado de la petición, en caso de tener un error identificado se brindará la descripción en esta sección.

Apartado que presenta una cadena de caracteres con el número de envío ingresado.

Apartado que presenta una cadena en base64 que trae codificado el binario del pdf.

© , ENVIOS HUIPIX