La API de Cotización de Envíos en la plataforma . Es una herramienta fundamental para empresas que requieren información precisa y detallada sobre el costo y la logística de envíos. Se trata de una solución basada en tecnología REST, que funciona mediante solicitudes HTTPS y requiere el uso del método POST a través de endpoints.
Mediante esta API, los usuarios pueden cotizar el costo de un envío a partir de detalles como el origen, destino, el peso del paquete y el tipo de envío requerido. La respuesta proporcionada por la API es desglosada y detallada, mostrando información sobre los costos de envío.
La estructura de la URL para enviar peticiones a la API Cotización, y cotizar las paqueterías disponibles es la siguiente:
| PAQUETERÍA | URL |
| DHL | |
| FedEx | |
| Estafeta | |
| Paquetexpress |
La autenticación para el uso de la API Cotizació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 | - |
| zipCode | ✔ | Cadena de caracteres | 5 | - |
| colonyName | ✖ | Texto | Ilimitado | - |
| deliveryType | ✔ | Cadena de caracteres | 1 | Catalogo |
| totalDeclaredValue | ✔ | Texto | Ilimitado | - |
| physicalPackaging | ✔ | Texto | Ilimitado | Catalogo |
| weight | ✔ | Flotante | - | - |
| width | Condicional | Flotante | - | - |
| length | Condicional | Flotante | - | - |
| height | Condicional | Flotante | - | - |
| quantity | ✔ | Entero | - | - |
| Valor (Cadena) | Descripción |
|---|---|
1 |
Entrega a domicilio |
2 |
Entrega en sucursal (Ocurre) |
| Valor (Cadena) | Descripción |
|---|---|
1 |
Sobre |
2 |
Caja |
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án los detalles propios de la cotización que se desea realizar en
zipCode (Código postal origen).
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 origen).
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.
En esta sección se solicitarán los detalles propios de la cotización que se desea realizar en
zipCode (Código postal destino).
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 destino).
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.
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 |
|---|---|
2 |
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.
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 |
|---|---|
2 |
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.
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": {
"zipCode": "44220",
"colonyName": ""
},
"destinationAddress": {
"zipCode": "44820",
"colonyName": ""
},
"services": {
"deliveryType": "1",
"totalDeclaredValue": "0"
},
"shipmentDetail": [
{
"physicalPackaging": "2",
"weight": "25",
"width": "10",
"length": "10",
"height": "10",
"quantity": "1"
}
]
}
}
}
}
[
{
"status":"200",
"message":"OK",
"responseDetails":[
{
"parcelCompany":"DHL Nacional",
"service":"ECONOMY SELECT DOMESTIC",
"deliveryDate":"2022-12-09 11:59:00",
"zone":"A",
"price":800,
"insurance":0,
"extendedArea":0,
"totalExtraCharges":0,
"totalAmount":800,
"extraChargesDetails":[]
},
{
"parcelCompany":"DHL Nacional",
"service":"EXPRESS DOMESTIC",
"deliveryDate":"2022-12-09 11:59:00",
"zone":"A",
"price":1000,
"insurance":0,
"extendedArea":0,
"totalExtraCharges":0,
"totalAmount":1000,
"extraChargesDetails":[]
}
]
}
]
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.
Arreglo en el cual se mostrarán los detalles de todas las paqueterías y sus correspondientes servicios disponibles, cada elemento cuenta con un conjunto de atributos descritos a continuación.
ParcelCompany (Paquetería).
Empresa de paquetería que entrega la opción mostrada.
Service (Servicio).
Servicio de la opción mostrada con el cual se generará en caso de decidir utilizar la opción, se presentará una opción por cada servicio que ofrece la paquetería.
DeliveryDate (Fecha de entrega).
Muestra la fecha de entrega de la opción.
Price
Muestra el precio del flete.
Zone (Zona).
En caso de las paqueterías de tarifa variable según la distancia en esta sección se mostrará que tarifa es la correspondiente a la distancia entre los códigos postales solicitados.
Zone (Zona).
En caso de las paqueterías de tarifa variable según la distancia en esta sección se mostrará que tarifa es la correspondiente a la distancia entre los códigos postales solicitados.
Insurance (Seguro).
En caso de las paqueterías de tarifa variable según la distancia en esta sección se mostrará que tarifa es la correspondiente a la distancia entre los códigos postales solicitados.
ExtendedArea (Área Remota).
En algunos casos se presentará este cargo adicional.
TotalExtraCharges (Monto Total Cargos Extra).
En caso de cobrar cargos extra por el envío cotizado el sistema mostrará la cantidad a cobrar.
ExtraChargesDetails (Cargos Extra Desglosadoz).
Describe en un arreglo cada cargo extra cobrado mostrando el nombre y el costo para tener una noción completa de la cobranza de los mismos.