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.
La estructura de la URL para enviar peticiones a la API de Generación, y generar en las paqueterías disponibles es la siguiente:
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. |
| 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 |
| ✔ | 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 | - | - |
| Valor (Cadena) | Descripción |
|---|---|
0 |
Entrega en sucursal (Ocurre) |
1 |
Entrega a domicilio |
| Valor (Cadena) | Descripción |
|---|---|
0 |
Caja |
1 |
Sobre |
| 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. |
En esta sección obligatoria representada como un objeto de nombre “header” se solicitarán datos acerca del cliente que realiza la petición.
key (Llave).
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.
password (Clave).
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...
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...
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.
{
"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
}
]
}
}
}
}
[
{
"status":"200",
"message":"OK",
"shippingNumber":"1234567890",
"pdfb64": "{{PDF EN BASE64}}"
}
]
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.