¡Bienvenido a nuestra documentación de integraciones!
Podrás automatizar envíos y procesos, sincronizar las órdenes de tiendas online; programar recolecciones, configurar impresión, rastrear los movimientos de tus envíos y protegerlos.
Busca las credenciales y conecta con nuestra API
Simplifica tu integración, elige el ambiente y empieza a usar nuestra API en minutos…
- 1. Encuentra tus credenciales
- Ve a Conexiones > API y copia tus credenciales (Client ID y Client Secret).
- 2. Genera tu bearer token
- Utiliza las credenciales y genera el bearer token para autenticar tus solicitudes
- 3. Empieza a llamar a la API
Con tu token listo podrás hacer solicitudes a la API.
¿Comenzamos cotizando un envío?El token expira en 2 horas y permite hasta 2 solicitudes por segundo. Asegúrate de usar el host correcto: api-pro.skydropx.com.
Inicia sesión para consultar la duración del token.
Iniciar sesión¿Necesitas ayuda con tu integración? Escríbenos a
api@skydropx.comDirecciones
- GET
-
Resumen: Recupera todas las direcciones
Descripción:GET /api/v1/address_templatesRetorna una lista paginada de direcciones con sus direcciones asociadas y estados de verificación por paquetera.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a obtener
Type: integerExample1per_page query
Número de elementos por página (max 20, default 20)
Type: integerExample20 -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/address_templates' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de direcciones
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "alias_name": { "type": "string" }, "address_type": { "type": "string" }, "default": { "type": "boolean", "nullable": true }, "address": { "type": "object", "properties": { "name": { "type": "string" }, "company": { "type": "string", "nullable": true }, "street1": { "type": "string" }, "street_number": { "type": "string", "nullable": true }, "apartment_number": { "type": "string", "nullable": true }, "postal_code": { "type": "string" }, "area_level1": { "type": "string" }, "area_level2": { "type": "string" }, "area_level3": { "type": "string", "nullable": true }, "country_code": { "type": "string" }, "phone": { "type": "string" }, "email": { "type": "string" }, "reference": { "type": "string", "nullable": true }, "rfc": { "type": "string", "nullable": true }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "verified_carriers": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string" }, "status": { "type": "string" }, "verification_id": { "type": "string", "nullable": true } } } } } } }, "meta": { "type": "object", "properties": { "total_count": { "type": "integer" }, "per_page": { "type": "integer" }, "current_page": { "type": "integer" }, "total_pages": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true } } } } }Ejemplo:{ "data": [ { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "alias_name": "Bodega Principal", "address_type": "from", "default": false, "address": { "name": "Juan Perez", "company": "Acme INC", "street1": "Insurgentes Sur 1234", "street_number": "1234", "apartment_number": "example_apartment_number", "postal_code": "06600", "area_level1": "Ciudad de Mexico", "area_level2": "Cuauhtemoc", "area_level3": "Juarez", "country_code": "MX", "phone": "5215555555555", "email": "juan@example.com", "reference": "Cerca del parque", "rfc": "example_rfc", "tax_id_number": "example_tax_id_number", "tax_id_type": "example_tax_id_type" }, "verified_carriers": [ { "carrier_name": "interrapidisimo", "status": "verified", "verification_id": "SUC-001" } ] } ], "meta": { "total_count": 8, "per_page": 20, "current_page": 1, "total_pages": 1, "next_page": 1, "prev_page": 1 } }
- GET
-
Resumen: Consulta dirección
Descripción:GET /api/v1/address_templates/{id}Consulta la información de una dirección guardada.
Parámetros:
address_template_id path
RequiredID de la dirección
Type: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/address_templates/example_address_template_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna la dirección
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "alias_name": { "type": "string" }, "address_type": { "type": "string" }, "default": { "type": "boolean", "nullable": true }, "address": { "type": "object", "properties": { "name": { "type": "string" }, "company": { "type": "string", "nullable": true }, "street1": { "type": "string" }, "street_number": { "type": "string", "nullable": true }, "apartment_number": { "type": "string", "nullable": true }, "postal_code": { "type": "string" }, "area_level1": { "type": "string" }, "area_level2": { "type": "string" }, "area_level3": { "type": "string", "nullable": true }, "country_code": { "type": "string" }, "phone": { "type": "string" }, "email": { "type": "string" }, "reference": { "type": "string", "nullable": true }, "rfc": { "type": "string", "nullable": true }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "verified_carriers": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string" }, "status": { "type": "string" }, "verification_id": { "type": "string", "nullable": true } } } } } } } }Ejemplo:{ "data": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "alias_name": "Bodega Principal", "address_type": "from", "default": false, "address": { "name": "example_name", "company": "example_company", "street1": "example_street1", "street_number": "example_street_number", "apartment_number": "example_apartment_number", "postal_code": "SUCCESS", "area_level1": "example_area_level1", "area_level2": "example_area_level2", "area_level3": "example_area_level3", "country_code": "SUCCESS", "phone": "example_phone", "email": "example_email", "reference": "example_reference", "rfc": "example_rfc", "tax_id_number": "example_tax_id_number", "tax_id_type": "example_tax_id_type" }, "verified_carriers": [ { "carrier_name": "example_carrier_name", "status": "example_status", "verification_id": "example_verification_id" } ] } }Código: 404Descripción:Dirección no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Dirección no encontrada" }
- POST
-
Resumen: Crear dirección
Descripción:POST /api/v1/address_templatesGuarda una nueva ubicación en tu libreta de direcciones.
Parámetros de la solicitud:
Ejemplo de Cuerpo de Solicitud: Dirección México (MX)
Content-Type: application/jsonObject:address_templateObject:alias_nameRequiredType: stringExample
Bodega Principaladdress_typeRequiredType: stringExample
fromdefaultType: booleanaddress_attributesRequiredObject:nameRequiredType: stringExample
Juan PerezcompanyType: stringExample
Acme INCstreet1RequiredType: stringExample
Insurgentes Sur 1234street_numberType: stringExample
1234apartment_numberType: stringExample
4Bpostal_codeRequiredType: stringExample
06600area_level1RequiredType: stringExample
Ciudad de Mexicoarea_level2RequiredType: stringExample
Cuauhtemocarea_level3RequiredType: stringExample
Juarezcountry_codeRequiredType: stringExample
MXphoneRequiredType: stringExample
5215555555555emailRequiredType: stringExample
juan@example.comreferenceRequiredType: stringExample
Cerca del parquerfcType: stringExample
XAXX010101000 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/address_templates/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Dirección creada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "alias_name": { "type": "string" }, "address_type": { "type": "string" }, "default": { "type": "boolean", "nullable": true }, "address": { "type": "object", "properties": { "name": { "type": "string" }, "company": { "type": "string", "nullable": true }, "street1": { "type": "string" }, "street_number": { "type": "string", "nullable": true }, "apartment_number": { "type": "string", "nullable": true }, "postal_code": { "type": "string" }, "area_level1": { "type": "string" }, "area_level2": { "type": "string" }, "area_level3": { "type": "string", "nullable": true }, "country_code": { "type": "string" }, "phone": { "type": "string" }, "email": { "type": "string" }, "reference": { "type": "string", "nullable": true }, "rfc": { "type": "string", "nullable": true }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "verified_carriers": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string" }, "status": { "type": "string" }, "verification_id": { "type": "string", "nullable": true } } } } } } } }Ejemplo:{ "data": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "alias_name": "Bodega Principal", "address_type": "from", "default": false, "address": { "name": "example_name", "company": "example_company", "street1": "example_street1", "street_number": "example_street_number", "apartment_number": "example_apartment_number", "postal_code": "SUCCESS", "area_level1": "example_area_level1", "area_level2": "example_area_level2", "area_level3": "example_area_level3", "country_code": "SUCCESS", "phone": "example_phone", "email": "example_email", "reference": "example_reference", "rfc": "example_rfc", "tax_id_number": "example_tax_id_number", "tax_id_type": "example_tax_id_type" }, "verified_carriers": [ { "carrier_name": "example_carrier_name", "status": "example_status", "verification_id": "example_verification_id" } ] } }
- PATCH
-
Resumen: Actualizar dirección
Descripción:PATCH /api/v1/address_templates/{id}Modifica la información de una dirección guardada.
Parámetros de la solicitud:
Parámetros:
id path
RequiredID de la dirección
Type: stringEjemplo de Cuerpo de Solicitud: Actualizar Dirección México (MX)
Content-Type: application/jsonObject:idType: stringID de la direcciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddress_templateObject:alias_nameType: stringExample
Bodega Principaladdress_typeType: stringExample
fromdefaultType: booleanaddress_attributesObject:nameType: stringExample
Juan PerezcompanyType: stringExample
Acme INCstreet1Type: stringExample
Insurgentes Sur 1234street_numberType: stringExample
1234apartment_numberType: stringExample
4Bpostal_codeType: stringExample
06600area_level1Type: stringExample
Ciudad de Mexicoarea_level2Type: stringExample
Cuauhtemocarea_level3Type: stringExample
Juarezcountry_codeType: stringExample
MXphoneType: stringExample
5215555555555emailType: stringExample
juan@example.comreferenceType: stringExample
Cerca del parquerfcType: stringExample
XAXX010101000 -
Respuestas:
curl -X PATCH 'https://pro.skydropx.com/api/v1/address_templates/example_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Dirección actualizada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "alias_name": { "type": "string" }, "address_type": { "type": "string" }, "default": { "type": "boolean", "nullable": true }, "address": { "type": "object", "properties": { "name": { "type": "string" }, "company": { "type": "string", "nullable": true }, "street1": { "type": "string" }, "street_number": { "type": "string", "nullable": true }, "apartment_number": { "type": "string", "nullable": true }, "postal_code": { "type": "string" }, "area_level1": { "type": "string" }, "area_level2": { "type": "string" }, "area_level3": { "type": "string", "nullable": true }, "country_code": { "type": "string" }, "phone": { "type": "string" }, "email": { "type": "string" }, "reference": { "type": "string", "nullable": true }, "rfc": { "type": "string", "nullable": true }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "verified_carriers": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string" }, "status": { "type": "string" }, "verification_id": { "type": "string", "nullable": true } } } } } } } }Ejemplo:{ "data": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "alias_name": "Bodega Principal", "address_type": "from", "default": false, "address": { "name": "example_name", "company": "example_company", "street1": "example_street1", "street_number": "example_street_number", "apartment_number": "example_apartment_number", "postal_code": "SUCCESS", "area_level1": "example_area_level1", "area_level2": "example_area_level2", "area_level3": "example_area_level3", "country_code": "SUCCESS", "phone": "example_phone", "email": "example_email", "reference": "example_reference", "rfc": "example_rfc", "tax_id_number": "example_tax_id_number", "tax_id_type": "example_tax_id_type" }, "verified_carriers": [ { "carrier_name": "example_carrier_name", "status": "example_status", "verification_id": "example_verification_id" } ] } }
- DELETE
-
Resumen: Eliminar dirección
Descripción:DELETE /api/v1/address_templates/{id}Remueve permanentemente una dirección de tu cuenta.
Parámetros:
id path
RequiredID de la dirección
Type: string -
Respuestas:
curl -X DELETE 'https://pro.skydropx.com/api/v1/address_templates/example_id/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Dirección eliminada
Código: 404Descripción:Dirección no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Dirección no encontrada" }
- POST
-
Resumen: Validar dirección
Descripción:POST /api/v1/address_templates/{address_template_id}/verify_by_carriersValida si una dirección es apta para generar guías.
Parámetros de la solicitud:
Parámetros:
address_template_id path
RequiredID de la dirección
Type: stringEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:address_template_idType: stringID de la direcciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcarriersRequiredArray of:Type: string -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/address_templates/example_address_template_id/verify_by_carriers' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 202Descripción:Solicitud de verificación aceptada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "alias_name": { "type": "string" }, "address_type": { "type": "string" }, "default": { "type": "boolean", "nullable": true }, "address": { "type": "object", "properties": { "name": { "type": "string" }, "company": { "type": "string", "nullable": true }, "street1": { "type": "string" }, "street_number": { "type": "string", "nullable": true }, "apartment_number": { "type": "string", "nullable": true }, "postal_code": { "type": "string" }, "area_level1": { "type": "string" }, "area_level2": { "type": "string" }, "area_level3": { "type": "string", "nullable": true }, "country_code": { "type": "string" }, "phone": { "type": "string" }, "email": { "type": "string" }, "reference": { "type": "string", "nullable": true }, "rfc": { "type": "string", "nullable": true }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "verified_carriers": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string" }, "status": { "type": "string" }, "verification_id": { "type": "string", "nullable": true } } } } } } } }Ejemplo:{ "data": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "alias_name": "Bodega Principal", "address_type": "from", "default": false, "address": { "name": "example_name", "company": "example_company", "street1": "example_street1", "street_number": "example_street_number", "apartment_number": "example_apartment_number", "postal_code": "SUCCESS", "area_level1": "example_area_level1", "area_level2": "example_area_level2", "area_level3": "example_area_level3", "country_code": "SUCCESS", "phone": "example_phone", "email": "example_email", "reference": "example_reference", "rfc": "example_rfc", "tax_id_number": "example_tax_id_number", "tax_id_type": "example_tax_id_type" }, "verified_carriers": [ { "carrier_name": "example_carrier_name", "status": "example_status", "verification_id": "example_verification_id" } ] } }
Oauth
- POST
-
Resumen: Obtener un token de acceso
Descripción:POST /api/v1/oauth/tokenEl endpoint de token se utiliza para que el cliente obtenga un token de acceso presentando su concesión de autorización o token de actualización.
Parámetros de la solicitud:
grant_type: El tipo de concesión utilizada, comorefresh_tokenoclient_credentials.client_id: El identificador del cliente.client_secret: La clave secreta del cliente.refresh_token: El token de actualización (para el tipo de concesiónrefresh_token).redirect_uri: La URI de redirección, debe ser la misma que laredirect_urialmacenada en la aplicación Cliente.scope:Los scopes limitan el acceso de los tokens de acceso a partes específicas de la API. Al solicitar un token de acceso, puedes especificar uno o más scopes.
Ejemplo de solicitud:
POST /api/v1/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRETEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:client_idRequiredType: stringclient_secretRequiredType: stringgrant_typeRequiredType: stringredirect_uriType: stringrefresh_tokenType: stringscopeType: string -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/oauth/token' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Obtener un token de acceso
Esquema:{ "type": "object", "properties": { "access_token": { "type": "string" }, "token_type": { "type": "string" }, "expires_in": { "type": "integer" }, "scope": { "type": "string" }, "created_at": { "type": "integer" } } }Ejemplo:{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", "token_type": "Bearer", "expires_in": 7200, "scope": "read write", "created_at": 1779014995 }Código: 400Descripción:Credenciales faltantes
Esquema:{ "type": "object", "properties": { "error": { "type": "string" }, "error_description": { "type": "string" } } }Ejemplo:{ "error": "Credenciales faltantes", "error_description": "Credenciales faltantes" }Código: 401Descripción:Credenciales inválidas
Esquema:{ "type": "object", "properties": { "error": { "type": "string" }, "error_description": { "type": "string" } } }Ejemplo:{ "error": "Credenciales inválidas", "error_description": "Credenciales inválidas" }
- POST
-
Resumen: Revocar un token
Descripción:POST /api/v1/oauth/revokeEl endpoint de revocación permite a los clientes notificar al servidor de autorización que un token de actualización o acceso previamente obtenido ya no es necesario.
Parámetros de la solicitud:
client_id: El identificador del cliente.client_secret: La clave secreta del cliente.token: El token que el cliente desea revocar.token_type_hint: Una pista sobre el tipo de token enviado para revocación, por ejemplo,access_tokenorefresh_token.
Ejemplo de solicitud:
POST /api/v1/oauth/revoke Content-Type: application/x-www-form-urlencoded client_id=CLIENT_ID&client_secret=CLIENT_SECRET&token=TOKEN&token_type_hint=access_tokenEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:client_idRequiredType: stringclient_secretRequiredType: stringtokenRequiredType: stringtoken_type_hintType: string -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/oauth/revoke' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Revocar un token
Esquema:{ "type": "object", "properties": {} }Ejemplo:{}Código: 403Descripción:Cliente no autorizado
Esquema:{ "type": "object", "properties": { "error": { "type": "string" }, "error_description": { "type": "string" } } }Ejemplo:{ "error": "Cliente no autorizado", "error_description": "Cliente no autorizado" }
- POST
-
Resumen: Obtener detalles del token
Descripción:POST /api/v1/oauth/introspectEl endpoint de introspección se utiliza para verificar el estado activo de un token de acceso o de actualización.
Parámetros de la solicitud:
client_id: El identificador del cliente.client_secret: La clave secreta del cliente.token: El token del cual el cliente desea obtener detalles.token_type_hint: Una pista sobre el tipo de token enviado para introspección, por ejemplo,access_tokenorefresh_token.
Ejemplo de solicitud:
POST /api/v1/oauth/introspect Content-Type: application/x-www-form-urlencoded client_id=CLIENT_ID&client_secret=CLIENT_SECRET&token=TOKEN&token_type_hint=access_tokenEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:client_idRequiredType: stringclient_secretRequiredType: stringtokenRequiredType: stringtoken_type_hintType: string -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/oauth/introspect' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Obtener detalles del token
Esquema:{ "type": "object", "properties": { "active": { "type": "boolean" }, "scope": { "type": "string" }, "client_id": { "type": "string" }, "token_type": { "type": "string" }, "exp": { "type": "integer" }, "iat": { "type": "integer" } } }Ejemplo:{ "active": true, "scope": "read write", "client_id": "example_client_id", "token_type": "Bearer", "exp": 1, "iat": 1 }Código: 400Descripción:Credenciales faltantes
Esquema:{ "type": "object", "properties": { "error": { "type": "string" }, "error_description": { "type": "string" } } }Ejemplo:{ "error": "Credenciales faltantes", "error_description": "Credenciales faltantes" }Código: 401Descripción:Credenciales inválidas
Esquema:{ "type": "object", "properties": { "error": { "type": "string" }, "error_description": { "type": "string" } } }Ejemplo:{ "error": "Credenciales inválidas", "error_description": "Credenciales inválidas" }
Finanzas
- GET
-
Resumen: Obtener créditos
Descripción:GET /api/v1/finance/creditsObtiene el saldo y la moneda de la cuenta Skydropx actual.
-
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/finance/credits' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Éxito
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "balance": { "type": "number", "description": "Saldo actual de la cuenta." }, "currency": { "type": "string", "description": "Código de moneda (ej. MXN, USD)." } } } } }Ejemplo:{ "data": { "balance": 1500.5, "currency": "MXN" } }
- GET
-
Resumen: Obtener cargos extra
Descripción:GET /api/v1/finance/extra-chargesDevuelve una lista paginada de cargos extra asociados a la cuenta autenticada. Opcionalmente filtra por rango de fecha de detección.
Parámetros:
page query
Page number (default: 1)
Type: integerper_page query
Items per page (max: 20, default: 20)
Type: integerstart_date query
Filter by detection_date from (e.g. 2026-01-01)
Type: stringend_date query
Filter by detection_date to (e.g. 2026-03-31)
Type: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/finance/extra-charges' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Éxito
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "package_id": { "type": "string", "description": "UUID del paquete del envío." }, "shipment_id": { "type": "string", "description": "UUID del envío." }, "status": { "type": "string", "description": "Estado de pago del cargo extra." }, "carrier": { "type": "string", "description": "Nombre del carrier." }, "service": { "type": "string", "nullable": true, "description": "Nombre del servicio del carrier." }, "tracking_number": { "type": "string", "description": "Número de rastreo del paquete." }, "label_date": { "type": "string", "nullable": true, "description": "Fecha de creación de la guía del envío (ISO 8601)." }, "detection_date": { "type": "string", "nullable": true, "description": "Fecha en que se detectó el cargo extra (ISO 8601)." }, "amount": { "type": "string", "description": "Monto del cargo extra." }, "charge_type": { "type": "string", "description": "Tipo de cargo extra." }, "metadata": { "type": "object", "description": "Metadatos adicionales relacionados al cargo. Puede estar vacío." } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "package_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "shipment_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "status": "pending_payment", "carrier": "fedex", "service": "FedEx Ground", "tracking_number": "TRACK12345", "label_date": "2026-02-26T00:00:00-06:00", "detection_date": "2026-02-26T16:30:35-06:00", "amount": "15.50", "charge_type": "ExtraCharge::Overweight", "metadata": {} } ], "meta": { "current_page": 1, "next_page": 2, "total_pages": 5, "total_count": 95 } }
Ordenes
- GET
-
Resumen: Recupera todas las órdenes
Descripción:GET /api/v1/ordersEl endpoint de órdenes sirve para recuperar todas las órdenes realizadas. Funciona como un historial.
Parámetros de la solicitud:
Está sección no tiene parámetros.
-
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/orders' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de pedidos
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string" }, "platform": { "type": "string", "nullable": true }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true }, "ecommerce_id": { "type": "string", "nullable": true }, "price": { "type": "string", "nullable": true }, "shipping_preferences": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": true, "properties": { "service": { "type": [ "string", null ] }, "price": { "type": [ "string", null ] } } } }, "payment_type": { "type": "string", "nullable": true }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } } } } } } } }Ejemplo:{ "data": [ { "id": "The order uuid, example: 0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "type": "order", "attributes": { "id": "The order uuid, example: 0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "platform": "Wix", "tags": [ "tag1", "tag2" ], "ecommerce_id": "12342", "price": "44532", "shipping_preferences": [ { "service": "me2", "price": "100.00" } ], "payment_type": "COD", "created_at": "example_created_at", "updated_at": "example_updated_at" } } ] }
- GET
-
Resumen: Recupera una orden
Descripción:GET /api/v1/orders/:idEl endpoint para recuperar una orden sirve para obtener toda la información de una orden.
Parámetros:
id path
RequiredType: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/orders/example_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una orden
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string" }, "reference": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true }, "platform": { "type": [ "string", null ] }, "ecommerce_id": { "type": [ "string", null ] }, "price": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "shipping_preferences": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": true, "properties": { "service": { "type": [ "string", null ] }, "price": { "type": [ "string", null ] } } } }, "payment_type": { "type": "string", "nullable": true }, "created_at": { "type": "string", "format": "date-time" }, "address_from": { "type": "object", "nullable": true, "properties": { "area_level1": { "type": [ "string", null ] }, "area_level2": { "type": [ "string", null ] }, "area_level3": { "type": [ "string", null ] }, "name": { "type": [ "string", null ] }, "postal_code": { "type": [ "string", null ] }, "country_code": { "type": [ "string", null ] }, "street1": { "type": [ "string", null ] }, "company": { "type": [ "string", null ] }, "phone": { "type": [ "string", null ] }, "email": { "type": [ "string", null ] }, "reference": { "type": [ "string", null ] }, "address_type": { "type": "string" }, "apartment_number": { "type": [ "string", null ] }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "address_to": { "type": "object", "nullable": true, "properties": { "area_level1": { "type": [ "string", null ] }, "area_level2": { "type": [ "string", null ] }, "area_level3": { "type": [ "string", null ] }, "name": { "type": [ "string", null ] }, "postal_code": { "type": [ "string", null ] }, "country_code": { "type": [ "string", null ] }, "street1": { "type": [ "string", null ] }, "company": { "type": [ "string", null ] }, "phone": { "type": [ "string", null ] }, "email": { "type": [ "string", null ] }, "reference": { "type": [ "string", null ] }, "address_type": { "type": "string" }, "apartment_number": { "type": [ "string", null ] }, "further_information": { "type": [ "string", null ] }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "parcel": { "type": "object", "properties": { "weight": { "type": "float" }, "length": { "type": "integer" }, "width": { "type": "integer" }, "height": { "type": "integer" } } } } }, "relationships": { "type": "object", "properties": { "items": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "shipments": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } }, "included": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "type": "string" }, "sku": { "type": "string", "nullable": true }, "quantity": { "type": "integer" }, "price": { "type": "number" }, "weight": { "type": "number" }, "height": { "type": "number" }, "width": { "type": "number" }, "length": { "type": "number" } } } } }, "nullable": true } } }Ejemplo:{ "data": { "id": "9e270243-762f-40c8-833e-ef1c4ee8282d", "type": "order", "attributes": { "id": "9e270243-762f-40c8-833e-ef1c4ee8282d", "reference": "example_reference", "tags": [ "tag1", "tag2" ], "platform": "Shopify", "ecommerce_id": "SDFG", "price": 10.0, "shipping_preferences": [ { "service": "me2", "price": "100.00" } ], "payment_type": "COD", "created_at": "2025-01-07T14:46:38.203-06:00", "address_from": { "area_level1": "Nuevo León", "area_level2": "Monterrey", "area_level3": "La Finca", "name": "Name", "postal_code": "64000", "country_code": "MX", "street1": "Olivo 4618", "company": "", "phone": "1242452456", "email": "email@example.com", "reference": "Green house", "address_type": "from", "apartment_number": "", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "address_to": { "area_level1": "Monterrey Centro", "area_level2": "Monterrey", "area_level3": "La finca", "name": "Mayra Doe", "postal_code": "64000", "country_code": "MX", "street1": "22 Main St", "company": "ACS Inc.", "phone": "1234567890", "email": "jhon@doe.com", "reference": "Near the park", "address_type": "to", "apartment_number": "123", "further_information": "", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "parcel": { "weight": 2.0, "length": 10, "width": 10, "height": 10 } }, "relationships": { "items": { "data": [ { "id": "c2092234-1b85-41a2-a200-858d052c0ad1", "type": "item" } ] }, "shipments": { "data": [ { "id": "9eae25ba-11b4-4b9f-9b01-3d09da8bc12d", "type": "shipment" } ] } } }, "included": [ { "id": "c2092234-1b85-41a2-a200-858d052c0ad1", "type": "item", "attributes": { "name": "prueba", "sku": "prueba", "quantity": 2, "price": 15.0, "weight": 20.0, "height": 30.0, "width": 30.0, "length": 30.0 } } ] }
- GET
-
Resumen: Obtener URLs de guías de envíos de una orden
Descripción:Devuelve las URLs de las guías para todos los envíos descargables asociados a la orden.
Parámetros:
order_id path
RequiredType: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/orders/example_order_id/labels' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna la URL de la guía de la orden
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "order_id": { "type": "string" }, "label_urls": { "type": "array", "items": { "type": "string" } } } } } }Ejemplo:{ "data": { "order_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "label_urls": [ "https://example.com/labels/label.pdf" ] } }
- POST
-
Resumen: Crea una orden
Descripción:POST /api/v1/ordersEl endpoint permite crear una orden en específico. Se necesita enviar al menos uno de todos los atributos, para crear una orden.
Ejemplo de Cuerpo de Solicitud: Orden México (MX)
Content-Type: application/jsonObject:orderRequiredObject:referenceType: stringA través de este campo se podrá identificar la orden en la plataforma.Example
188reference_numberType: stringIdentificador externo de la orden en la plataforma. Puede ser nulo. Si esta presente, debe ser único.Example
188-5455445-33334433payment_statusType: stringEstado de pago.Example
paidtotal_priceType: stringPrecio total de la orden.Example
57.00merchant_store_idType: stringId de la tiendaExample
139539ASheadquarter_idType: stringId del headquarterExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxplatformType: stringPlataforma desde donde se realizará la ordenExample
Shopifypackage_typeType: stringTipo de paqueteExample
4GshippingObject:serviceType: stringMetodo de envio seleccionado por tu cliente.Example
me2priceType: stringPrecio de envio informado a tu cliente.Example
100.00parcelsArray of:Object:weightType: floatPeso del paquete.Example
10lengthType: integerLongitud del paquete.Example
10widthType: integerAncho del paquete.Example
10heightType: integerAltura del paquete.Example
10quantityType: integerCantidad de paquetes con las mismas medidas.Example
1dimension_unitType: stringUnidad de medida de las dimensiones.Example
CMmass_unitType: stringUnidad de medida del peso.Example
KGpackage_typeType: stringTipo de paquete, requerido para automatizaciones que crean guía automática.Example
7H1consignment_noteType: stringDescripción del contenido del paquete. Requerido para México (MX), donde corresponde al código del catálogo Carta Porte (SAT).Example
24121500productsArray of:Object:nameType: stringNombre del producto.Example
Bicicletahs_codeType: stringCódigo HS del producto.Example
9560.63skuType: stringCódigo del producto.Example
BIC-001priceType: stringPrecio del producto.Example
57.00quantityType: integerCantidad de productos.Example
1weightType: floatPeso del producto en kilogramos.Example
10heightType: integerAltura del producto en centímetros.Example
10lengthType: integerLongitud del producto en centímetros.Example
10widthType: integerAncho del producto en centímetros.Example
10shipper_addressObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Cuando es un UUID válido de una plantilla de origen, los valores del template (country_code, postal_code, area_level1, area_level2, street1, company, phone, email, etc.) SUSTITUYEN los campos explícitos enviados en shipper_address y se vincula la plantilla a la orden. Si está vacío, es un UUID desconocido o pertenece a una plantilla de destino, se ignora y se usan los campos explícitos de shipper_address.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddressType: stringNombre de la calle o avenida.Example
Vía Industrialinternal_numberType: stringNúmero de la casa o departamento.Example
100referenceType: stringReferencia de la dirección.Example
Planta nuclearsectorType: stringNombre de la Colonia.Example
AsarcocityType: stringNombre de la ciudad.Example
MonterreystateType: stringNombre del estado.Example
Nuevo Leónpostal_codeType: stringCódigo postal.Example
64550countryType: stringCódigo de país según el formato alpha-2 de la ISO 3166-1.Example
MXperson_nameType: stringNombre de la persona que recibirá los paquetes.Example
Homero SimpsoncompanyType: stringNombre de la empresa que recibirá los paquetes.Example
Inversiones Montgomery Burns S.A.S de C.V.phoneType: stringNúmero de teléfono de la persona que recibirá los paquetes.Example
4434434444emailType: stringCorreo electrónico de la persona que recibirá los paquetes.Example
homero@burns.comtax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000recipient_addressObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Cuando es un UUID válido de una plantilla de destino, los valores del template (country_code, postal_code, area_level1, area_level2, street1, company, phone, email, etc.) SUSTITUYEN los campos explícitos enviados en recipient_address y se vincula la plantilla a la orden. Si está vacío, es un UUID desconocido o pertenece a una plantilla de origen, se ignora y se usan los campos explícitos de recipient_address.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddressType: stringNombre de la calle o avenida.Example
Avenida Siempre Vivainternal_numberType: stringNúmero de la casa o departamento.Example
742referenceType: stringReferencia de la dirección.Example
Casa color durazno.sectorType: stringNombre de la Colonia.Example
La FincacityType: stringNombre de la ciudad.Example
MonterreystateType: stringNombre del estado.Example
Nuevo Leónpostal_codeType: stringCódigo postal.Example
64000countryType: stringPaís.Example
MXperson_nameType: stringNombre de la persona que enviará los paquetes.Example
Bart SimpsoncompanyType: stringNombre de la empresa que enviará los paquetes.Example
Casa de Bart S.A.S de C.V.phoneType: stringNúmero de teléfono de la persona que enviará los paquetes.Example
4434434444emailType: stringCorreo electrónico de la persona que enviará los paquetes.Example
bart@simpson.comfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/orders/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Pedido creado
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string" }, "platform": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true }, "ecommerce_id": { "type": [ "string", null ] }, "price": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "shipping_preferences": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": true, "properties": { "service": { "type": [ "string", null ] }, "price": { "type": [ "string", null ] } } } }, "payment_type": { "type": "string", "nullable": true } } } } } }, "required": [ "data" ] }Ejemplo:{ "data": { "id": "e7c50876-2715-4f76-a83d-da5307d58b07", "type": "order", "attributes": { "id": "e7c50876-2715-4f76-a83d-da5307d58b07", "platform": "Shopify", "tags": [ "tag1", "tag2" ], "price": 100.0, "created_at": "2024-09-05T23:13:40.417-06:00", "updated_at": "2024-09-05T23:13:40.417-06:00", "shipping_preferences": [ { "service": "me2", "price": "100.00" } ], "payment_type": "COD" } } }Código: 403Descripción:Prohibido
Código: 422Descripción:Solicitud inválida
Esquema:{ "type": "object", "properties": { "errors": { "type": "string" } } }Ejemplo:{ "errors": "example_errors" }
- PATCH
-
Resumen: Actualiza una orden
Descripción:PATCH /api/v1/orders/:idEl endpoint permite actualizar la información de una orden.
Parámetros:
order_id path
RequiredType: stringEjemplo de Cuerpo de Solicitud: Orden México (MX)
Content-Type: application/jsonObject:order_idRequiredType: stringId de la ordenExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxorderRequiredObject:total_priceType: stringPrecio total de la orden.Example
57.00payment_statusType: stringEstado de pago.Example
paidshippingObject:serviceType: stringMetodo de envio seleccionado por tu cliente.Example
me2priceType: stringPrecio de envio informado a tu cliente.Example
100.00parcelsArray of:Object:idType: stringUUID del paquete. Si se envía, actualiza el paquete existente. Si se omite, se crea uno nuevo.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_destroyType: booleanEstablecer en true junto con el id del paquete para eliminarlo de la orden.weightType: floatPeso del paquete.Example
10.0mass_unitType: stringUnidad de medida del peso.Example
KGlengthType: integerLongitud del paquete.Example
10widthType: integerAncho del paquete.Example
10heightType: integerAltura del paquete.Example
10quantityType: integerCantidad de paquetes con las mismas medidas.Example
1dimension_unitType: stringUnidad de medida de las dimensiones.Example
CMpackage_typeType: stringTipo de paquete, requerido para automatizaciones que crean guía automática.Example
7H1consignment_noteType: stringDescripción del contenido del paquete. Requerido para México (MX), donde corresponde al código del catálogo Carta Porte (SAT).Example
24121500productsArray of:Object:nameType: stringNombre del producto.Example
Bicicletahs_codeType: stringCódigo HS del producto.Example
9560.63skuType: stringCódigo del producto.Example
BIC-001priceType: stringPrecio del producto.Example
57.00quantityType: integerCantidad de productos.Example
1weightType: integerPeso del producto en kilogramos.Example
10heightType: integerAltura del producto en centímetros.Example
10lengthType: integerLongitud del producto en centímetros.Example
10widthType: integerAncho del producto en centímetros.Example
10shipper_addressObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Cuando es un UUID válido de una plantilla de origen, los valores del template (country_code, postal_code, area_level1, area_level2, street1, company, phone, email, etc.) SUSTITUYEN los campos explícitos enviados en shipper_address y se vincula la plantilla a la orden. Si está vacío, es un UUID desconocido o pertenece a una plantilla de destino, se ignora y se usan los campos explícitos de shipper_address.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddressType: stringNombre de la calle o avenida.Example
Vía Industrialinternal_numberType: stringNúmero de la casa o departamento.Example
100referenceType: stringReferencia de la dirección.Example
Planta nuclearsectorType: stringNombre de la Colonia.Example
AsarcocityType: stringNombre de la ciudad.Example
MonterreystateType: stringNombre del estado.Example
Nuevo Leónpostal_codeType: stringCódigo postal.Example
64550countryType: stringCódigo de país según el formato alpha-2 de la ISO 3166-1.Example
MXperson_nameType: stringNombre de la persona que recibirá los paquetes.Example
Homero SimpsoncompanyType: stringNombre de la empresa que recibirá los paquetes.Example
Inversiones Montgomery Burns S.A.S de C.V.phoneType: stringNúmero de teléfono de la persona que recibirá los paquetes.Example
4434434444emailType: stringCorreo electrónico de la persona que recibirá los paquetes.Example
homero@burns.comtax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000recipient_addressObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Cuando es un UUID válido de una plantilla de destino, los valores del template (country_code, postal_code, area_level1, area_level2, street1, company, phone, email, etc.) SUSTITUYEN los campos explícitos enviados en recipient_address y se vincula la plantilla a la orden. Si está vacío, es un UUID desconocido o pertenece a una plantilla de origen, se ignora y se usan los campos explícitos de recipient_address.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddressType: stringNombre de la calle o avenida.Example
Avenida Siempre Vivainternal_numberType: stringNúmero de la casa o departamento.Example
742referenceType: stringReferencia de la dirección.Example
Casa color durazno.sectorType: stringNombre de la Colonia.Example
La FincacityType: stringNombre de la ciudad.Example
MonterreystateType: stringNombre del estado.Example
Nuevo Leónpostal_codeType: stringCódigo postal.Example
64000countryType: stringPaís.Example
MXperson_nameType: stringNombre de la persona que enviará los paquetes.Example
Bart SimpsoncompanyType: stringNombre de la empresa que enviará los paquetes.Example
Casa de Bart S.A.S de C.V.phoneType: stringNúmero de teléfono de la persona que enviará los paquetes.Example
4434434444emailType: stringCorreo electrónico de la persona que enviará los paquetes.Example
bart@simpson.comfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789 -
Respuestas:
curl -X PATCH 'https://pro.skydropx.com/api/v1/orders/example_order_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Orden actualizada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string" }, "reference": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true }, "platform": { "type": [ "string", null ] }, "ecommerce_id": { "type": [ "string", null ] }, "price": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "shipping_preferences": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": true, "properties": { "service": { "type": [ "string", null ] }, "price": { "type": [ "string", null ] } } } }, "payment_type": { "type": "string", "nullable": true }, "created_at": { "type": "string", "format": "date-time" }, "address_from": { "type": "object", "nullable": true, "properties": { "area_level1": { "type": [ "string", null ] }, "area_level2": { "type": [ "string", null ] }, "area_level3": { "type": [ "string", null ] }, "name": { "type": [ "string", null ] }, "postal_code": { "type": [ "string", null ] }, "country_code": { "type": [ "string", null ] }, "street1": { "type": [ "string", null ] }, "company": { "type": [ "string", null ] }, "phone": { "type": [ "string", null ] }, "email": { "type": [ "string", null ] }, "reference": { "type": [ "string", null ] }, "address_type": { "type": "string" }, "apartment_number": { "type": [ "string", null ] }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "address_to": { "type": "object", "nullable": true, "properties": { "area_level1": { "type": [ "string", null ] }, "area_level2": { "type": [ "string", null ] }, "area_level3": { "type": [ "string", null ] }, "name": { "type": [ "string", null ] }, "postal_code": { "type": [ "string", null ] }, "country_code": { "type": [ "string", null ] }, "street1": { "type": [ "string", null ] }, "company": { "type": [ "string", null ] }, "phone": { "type": [ "string", null ] }, "email": { "type": [ "string", null ] }, "reference": { "type": [ "string", null ] }, "address_type": { "type": "string" }, "apartment_number": { "type": [ "string", null ] }, "further_information": { "type": [ "string", null ] }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "parcel": { "type": "object", "properties": { "weight": { "type": "float" }, "length": { "type": "integer" }, "width": { "type": "integer" }, "height": { "type": "integer" } } } } }, "relationships": { "type": "object", "properties": { "items": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "shipments": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } }, "included": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "type": "string" }, "sku": { "type": "string", "nullable": true }, "quantity": { "type": "integer" }, "price": { "type": "number" }, "weight": { "type": "number" }, "height": { "type": "number" }, "width": { "type": "number" }, "length": { "type": "number" } } } } }, "nullable": true } } }Ejemplo:{ "data": { "id": "9e270243-762f-40c8-833e-ef1c4ee8282d", "type": "order", "attributes": { "id": "9e270243-762f-40c8-833e-ef1c4ee8282d", "reference": "example_reference", "tags": [ "tag1", "tag2" ], "platform": "Shopify", "ecommerce_id": "SDFG", "price": 10.0, "shipping_preferences": [ { "service": "me2", "price": "100.00" } ], "payment_type": "COD", "created_at": "2025-01-07T14:46:38.203-06:00", "address_from": { "area_level1": "Nuevo León", "area_level2": "Monterrey", "area_level3": "La Finca", "name": "Name", "postal_code": "64000", "country_code": "MX", "street1": "Olivo 4618", "company": "", "phone": "1242452456", "email": "email@example.com", "reference": "Green house", "address_type": "from", "apartment_number": "", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "address_to": { "area_level1": "Monterrey Centro", "area_level2": "Monterrey", "area_level3": "La finca", "name": "Mayra Doe", "postal_code": "64000", "country_code": "MX", "street1": "22 Main St", "company": "ACS Inc.", "phone": "1234567890", "email": "jhon@doe.com", "reference": "Near the park", "address_type": "to", "apartment_number": "123", "further_information": "", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "parcel": { "weight": 2.0, "length": 10, "width": 10, "height": 10 } }, "relationships": { "items": { "data": [ { "id": "c2092234-1b85-41a2-a200-858d052c0ad1", "type": "item" } ] }, "shipments": { "data": [ { "id": "9eae25ba-11b4-4b9f-9b01-3d09da8bc12d", "type": "shipment" } ] } } }, "included": [ { "id": "c2092234-1b85-41a2-a200-858d052c0ad1", "type": "item", "attributes": { "name": "prueba", "sku": "prueba", "quantity": 2, "price": 15.0, "weight": 20.0, "height": 30.0, "width": 30.0, "length": 30.0 } } ] }Código: 422Descripción:La orden no puede ser actualizada
Esquema:{ "type": "object", "properties": { "errors": { "type": "string" } } }Ejemplo:{ "errors": "example_errors" }Código: 404Descripción:Orden no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Orden no encontrada" }
Recolecciones
- GET
-
Resumen: Obtiene cobertura de Fechas
Descripción:GET /api/v1/pickups/coverage?shipment_id={shipment_id}Este endpoint obtiene la cobertura de fechas para realizar una recolección.
Parámetros de la solicitud:
shipment_id: ID Envío de referencia que obtuviste del endpoint de envíos (GET /api/v1/shipments)
Parámetros:
shipment_id query
RequiredID Envío
Type: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/pickups/coverage' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna fechas disponibles para recolección
Esquema:{ "type": "object", "properties": { "success": { "type": "boolean", "description": "Indica si la solicitud se procesó exitosamente." }, "carrier": { "type": "string", "description": "Paquetería responsable de la recolección." }, "service": { "type": "string", "description": "Tipo de servicio ofrecido por la paquetería" }, "version": { "type": "string" }, "pickupDates": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "format": "date", "description": "Fecha disponible para la recolección." }, "startHour": { "type": "string", "format": "time", "description": "Hora de inicio de la ventana de recolección." }, "endHour": { "type": "string", "format": "time", "description": "Hora de finalización de la ventana de recolección." } } } } } }Ejemplo:{ "success": true, "carrier": "FEDEX", "service": "FEDEX_EXPRESS_SAVER", "version": "2.0.0", "pickupDates": [ { "date": "2024-09-20", "startHour": "08:30:00", "endHour": "14:00:00" } ] }Código: 422Descripción:Solicitud inválida
Esquema:{ "type": "object", "properties": { "success": { "type": "boolean", "description": "Indica si la solicitud se procesó exitosamente." }, "message": { "type": "string", "description": "Proporciona detalles sobre el error ocurrido." } } }Ejemplo:{ "success": false, "message": "Carrier services error" }Código: 404Descripción:Recurso no encontrado
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "El recurso buscado no se pudo encontrar." }
- POST
-
Resumen: Reprograma una recolección
Descripción:POST /api/v1/pickups/rescheduleEste endpoint permite reprogramar una recolección
Parámetros de la solicitud:
reference_shipment_id: Id del envio a recolectarpackages: Número de paquetes a recolectartotal_weight: Peso total de los paquetes a recolectarscheduled_from: Fecha y hora de inicio de franja horaria de recolecciónscheduled_to: Fecha y hora final de franja horaria de recolección
Ejemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:pickupRequiredObject:reference_shipment_idType: stringId del envio a recolectarExample
0ac5adcc-a13d-427d-81dd-9ddd70b2f660packagesType: integerNúmero de paquetes a recolectarExample
5total_weightType: ["number", "string"]Peso total de los paquetes a recolectarExample
30.0scheduled_fromType: stringFecha y hora de inicio de franja horaria de recolecciónExample
2024-09-24 09:00:00scheduled_toType: stringFecha y hora final de franja horaria de recolecciónExample
2024-09-24 14:00:00 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/pickups/reschedule' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna la recolección reprogramada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la recolección" }, "status": { "type": "string", "description": "Estado de la recolección" }, "request_number": { "type": "string", "description": "Número de solicitud de la recolección" }, "packages": { "type": "integer", "description": "Número de paquetes a recolectar" }, "total_weight": { "type": [ "number", "string" ], "format": "decimal", "description": "Peso total de los paquetes a recolectar" }, "scheduled_from": { "type": "string", "format": "date-time", "description": "Fecha y hora de inicio de franja horaria de recolección" }, "scheduled_to": { "type": "string", "format": "date-time", "description": "Fecha y hora final de franja horaria de recolección" }, "created_at": { "type": "string", "format": "date-time", "description": "Fecha de creación" }, "updated_at": { "type": "string", "format": "date-time", "description": "Fecha de actualización" }, "error_reason": { "type": "string", "nullable": true, "description": "Motivo del error si la recolección no se pudo programar" }, "reschedule_remaining_days": { "type": "integer", "nullable": true, "description": "Días restantes hasta que el envío alcance el máximo de días permitidos para reagendar la recolección (14 días). Solo se muestra cuando la recolección puede ser reagendada (available_for_reschedule? retorna true)." } } }, "relationships": { "type": "object", "properties": { "reference_shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } }, "address": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "nullable": true, "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" } } } } } ] } } } }Ejemplo:{ "data": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "type": "pickup", "attributes": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "status": "scheduled", "request_number": "123456789", "packages": 1, "total_weight": "30.0", "scheduled_from": "2024-09-20T09:00:00.000-06:00", "scheduled_to": "2024-09-20T14:00:00.000-06:00", "created_at": "2024-09-19T07:43:46.614-06:00", "updated_at": "2024-09-19T07:43:46.614-06:00", "error_reason": "Error al programar la recolección", "reschedule_remaining_days": 9 }, "relationships": { "reference_shipment": { "data": { "id": "d4ad5784-4f71-4474-9f34-e2a6f8366d5e", "type": "shipment" } }, "address": { "data": { "id": "901e4d68-a147-4fdf-9078-c252a672611c", "type": "address" } } } }, "included": [ { "oneOf": [ { "id": "example_id", "type": "address", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "area_level3": "Romero rubio", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "from", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "apartment_number": "Apartamento 404" } } ] } ] }Código: 404Descripción:Recolección no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "El recurso buscado no se pudo encontrar." }Código: 422Descripción:Retorna una respuesta de error
Esquema:{ "type": "object", "properties": { "errors": { "type": "object" } } }Ejemplo:{ "errors": { "message": "An error occurred" } }
- GET
-
Resumen: Recupera todas las recolecciones
Descripción:GET /api/v1/pickups?page={page}Este endpoint recupera todas las recolecciones, paginadas de diez en diez.
Parámetros:
page query
Nro de página
Type: integer -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/pickups' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección paginada de recolecciones
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" }, "attributes": { "type": "object,", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la recolección" }, "status": { "type": "string", "description": "Estado de la recolección" }, "request_number": { "type": "string", "description": "Número de solicitud de la recolección" }, "packages": { "type": "integer", "description": "Número de paquetes a recolectar" }, "total_weight": { "type": [ "number", "string" ], "format": "decimal", "description": "Peso total de los paquetes a recolectar" }, "scheduled_from": { "type": "string", "format": "date-time", "description": "Fecha y hora de inicio de franja horaria de recolección" }, "scheduled_to": { "type": "string", "format": "date-time", "description": "Fecha y hora final de franja horaria de recolección" }, "created_at": { "type": "string", "format": "date-time", "description": "Fecha de creación" }, "updated_at": { "type": "string", "format": "date-time", "description": "Fecha de actualización" }, "error_reason": { "type": "string", "nullable": true, "description": "Motivo del error si la recolección no se pudo programar" }, "reschedule_remaining_days": { "type": "integer", "nullable": true, "description": "Días restantes hasta que el envío alcance el máximo de días permitidos para reagendar la recolección (14 días). Solo se muestra cuando la recolección puede ser reagendada (available_for_reschedule? retorna true)." } } }, "relationships": { "type": "object", "properties": { "reference_shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } }, "address": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "nullable": true, "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" } } } } } ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "type": "pickup", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "status": "scheduled", "request_number": "123456789", "packages": 5, "total_weight": "30.0", "scheduled_from": "Fecha y hora de inicio de franja horaria de recolección", "scheduled_to": "Fecha y hora final de franja horaria de recolección", "created_at": "Fecha de creación", "updated_at": "Fecha de actualización", "error_reason": "Error al programar la recolección", "reschedule_remaining_days": 9 }, "relationships": { "reference_shipment": { "data": { "id": "5782fd5e-0863-4851-913d-db06858e445c", "type": "shipment" } }, "address": { "data": { "id": "e3665230-ae94-484f-a192-de04582dc653", "type": "address" } } } } ], "included": [ { "oneOf": [ { "id": "example_id", "type": "address", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "area_level3": "Romero rubio", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "from", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "apartment_number": "Apartamento 404" } } ] } ], "meta": { "current_page": 2, "next_page": 3, "prev_page": 1, "total_pages": 3, "total_count": 30 } }
- GET
-
Resumen: Detalle de Recolección
Descripción:GET /api/v1/pickups/{id}Este endpoint recupera una recolección
Parámetros:
id path
RequiredID de la recolección
Type: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/pickups/example_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Recolección encontrada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la recolección" }, "status": { "type": "string", "description": "Estado de la recolección" }, "request_number": { "type": "string", "description": "Número de solicitud de la recolección" }, "packages": { "type": "integer", "description": "Número de paquetes a recolectar" }, "total_weight": { "type": [ "number", "string" ], "format": "decimal", "description": "Peso total de los paquetes a recolectar" }, "scheduled_from": { "type": "string", "format": "date-time", "description": "Fecha y hora de inicio de franja horaria de recolección" }, "scheduled_to": { "type": "string", "format": "date-time", "description": "Fecha y hora final de franja horaria de recolección" }, "created_at": { "type": "string", "format": "date-time", "description": "Fecha de creación" }, "updated_at": { "type": "string", "format": "date-time", "description": "Fecha de actualización" }, "error_reason": { "type": "string", "nullable": true, "description": "Motivo del error si la recolección no se pudo programar" }, "reschedule_remaining_days": { "type": "integer", "nullable": true, "description": "Días restantes hasta que el envío alcance el máximo de días permitidos para reagendar la recolección (14 días). Solo se muestra cuando la recolección puede ser reagendada (available_for_reschedule? retorna true)." } } }, "relationships": { "type": "object", "properties": { "reference_shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } }, "address": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "nullable": true, "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" } } } } } ] } } } }Ejemplo:{ "data": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "type": "pickup", "attributes": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "status": "scheduled", "request_number": "123456789", "packages": 1, "total_weight": "30.0", "scheduled_from": "2024-09-20T09:00:00.000-06:00", "scheduled_to": "2024-09-20T14:00:00.000-06:00", "created_at": "2024-09-19T07:43:46.614-06:00", "updated_at": "2024-09-19T07:43:46.614-06:00", "error_reason": "Error al programar la recolección", "reschedule_remaining_days": 9 }, "relationships": { "reference_shipment": { "data": { "id": "d4ad5784-4f71-4474-9f34-e2a6f8366d5e", "type": "shipment" } }, "address": { "data": { "id": "901e4d68-a147-4fdf-9078-c252a672611c", "type": "address" } } } }, "included": [ { "oneOf": [ { "id": "example_id", "type": "address", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "area_level3": "Romero rubio", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "from", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "apartment_number": "Apartamento 404" } } ] } ] }Código: 404Descripción:Recolección no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "El recurso buscado no se pudo encontrar." }
- POST
-
Resumen: Programa una recolección
Descripción:POST /api/v1/pickups/Este endpoint permite programar una recolección
Parámetros de la solicitud:
reference_shipment_id: Id del envio a recolectarpackages: Número de paquetes a recolectartotal_weight: Peso total de los paquetes a recolectarscheduled_from: Fecha y hora de inicio de franja horaria de recolecciónscheduled_to: Fecha y hora final de franja horaria de recolección
Ejemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:pickupRequiredObject:reference_shipment_idType: stringId del envio a recolectarExample
0ac5adcc-a13d-427d-81dd-9ddd70b2f660packagesType: integerNúmero de paquetes a recolectarExample
5total_weightType: ["number", "string"]Peso total de los paquetes a recolectarExample
30.0scheduled_fromType: stringFecha y hora de inicio de franja horaria de recolecciónExample
2024-09-24 09:00:00scheduled_toType: stringFecha y hora final de franja horaria de recolecciónExample
2024-09-24 14:00:00 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/pickups/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna la recolección programada
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la recolección" }, "status": { "type": "string", "description": "Estado de la recolección" }, "request_number": { "type": "string", "description": "Número de solicitud de la recolección" }, "packages": { "type": "integer", "description": "Número de paquetes a recolectar" }, "total_weight": { "type": [ "number", "string" ], "format": "decimal", "description": "Peso total de los paquetes a recolectar" }, "scheduled_from": { "type": "string", "format": "date-time", "description": "Fecha y hora de inicio de franja horaria de recolección" }, "scheduled_to": { "type": "string", "format": "date-time", "description": "Fecha y hora final de franja horaria de recolección" }, "created_at": { "type": "string", "format": "date-time", "description": "Fecha de creación" }, "updated_at": { "type": "string", "format": "date-time", "description": "Fecha de actualización" }, "error_reason": { "type": "string", "nullable": true, "description": "Motivo del error si la recolección no se pudo programar" }, "reschedule_remaining_days": { "type": "integer", "nullable": true, "description": "Días restantes hasta que el envío alcance el máximo de días permitidos para reagendar la recolección (14 días). Solo se muestra cuando la recolección puede ser reagendada (available_for_reschedule? retorna true)." } } }, "relationships": { "type": "object", "properties": { "reference_shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } }, "address": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "type": "string" } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "nullable": true, "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" } } } } } ] } } } }Ejemplo:{ "data": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "type": "pickup", "attributes": { "id": "ed06f78a-8757-488c-bb82-31964449aea0", "status": "scheduled", "request_number": "123456789", "packages": 1, "total_weight": "30.0", "scheduled_from": "2024-09-20T09:00:00.000-06:00", "scheduled_to": "2024-09-20T14:00:00.000-06:00", "created_at": "2024-09-19T07:43:46.614-06:00", "updated_at": "2024-09-19T07:43:46.614-06:00", "error_reason": "Error al programar la recolección", "reschedule_remaining_days": 9 }, "relationships": { "reference_shipment": { "data": { "id": "d4ad5784-4f71-4474-9f34-e2a6f8366d5e", "type": "shipment" } }, "address": { "data": { "id": "901e4d68-a147-4fdf-9078-c252a672611c", "type": "address" } } } }, "included": [ { "oneOf": [ { "id": "example_id", "type": "address", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "area_level3": "Romero rubio", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "from", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "apartment_number": "Apartamento 404" } } ] } ] }Código: 400Descripción:Retorna una respuesta de error (solicitud incorrecta)
Código: 422Descripción:Retorna una respuesta de error
Esquema:{ "type": "object", "properties": { "errors": { "type": "object" } } }Ejemplo:{ "errors": { "message": "An error occurred" } }
Productos
- GET
-
Resumen: Obtener lista de productos
Descripción:GET /api/v1/productsEl endpoint de productos sirve para obtener una lista de productos.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a recuperar
Type: integerExample1filters[destination_country_code] query
Filtrar productos por código de país de destino
Type: stringExample"MX" -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/products' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Devuelve una lista de productos
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "El id del producto" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "El id del producto" }, "name": { "type": "string", "description": "El nombre del producto" }, "sku": { "type": "string", "description": "El código del producto" }, "hscode": { "type": "string", "description": "El código HS del producto" }, "description": { "type": "string", "description": "La descripción del producto" }, "weight": { "type": "number", "description": "El peso del producto" }, "width": { "type": "number", "description": "El ancho del producto" }, "height": { "type": "number", "description": "La altura del producto" }, "length": { "type": "number", "description": "La longitud del producto" }, "price": { "type": "number", "description": "El precio del producto" }, "created_at": { "type": "string", "description": "La fecha de creación del producto" }, "updated_at": { "type": "string", "description": "La fecha de actualización del producto" }, "country_id": { "type": "string", "description": "El id del país del producto" }, "product_type_code": { "type": "string", "description": "El código del tipo de producto" }, "product_type_name": { "type": "string", "description": "El nombre del tipo de producto" }, "description_en": { "type": "string", "description": "La descripción del producto en inglés" }, "created_from": { "type": "string", "description": "La fuente de creación del producto" }, "international_shipment_enabled": { "type": "boolean", "description": "Indica si el producto está habilitado para envío internacional" }, "price_mxn": { "type": "number", "description": "El precio del producto en pesos mexicanos" }, "destination_country_id": { "type": "string", "description": "El id del país de destino del producto" } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "id": 73, "type": "product", "attributes": { "id": 73, "name": "Pantalón", "sku": 1234567890, "hscode": 6402.2, "description": "Descripción del producto", "weight": 4, "width": 4, "height": 4, "length": 4, "price": 4.5, "created_at": "2025-02-06 21:26:41 -0500", "updated_at": "2025-02-06 21:26:41 -0500", "country_id": "f12f8764-1ee7-48c7-94b3-3f5a4e610e5b", "product_type_code": 31261500, "product_type_name": "Producto 1", "description_en": "Product 1", "created_from": "interface", "international_shipment_enabled": true, "price_mxn": 4.5, "destination_country_id": "f12f8764-1ee7-48c7-94b3-3f5a4e610e5b" } } ], "meta": { "current_page": 2, "next_page": 3, "prev_page": 1, "total_pages": 3, "total_count": 8 } }
Cotizaciones
- POST
-
Resumen: Crea una cotización
Descripción:POST /api/v1/quotationsEl endpoint de cotizaciones se utiliza para consultar los precios con las diferentes transportadoras.
Ejemplo de Cuerpo de Solicitud: Cotización Nacional (MX)
Content-Type: application/jsonObject:quotationObject:order_idType: stringID de la orden a la que pertenece la cotizaciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_from.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
XAXX010101000parcelsRequiredArray of:Object:lengthRequiredType: integerLongitud del paquete.Example
10widthRequiredType: integerAncho del paquete.Example
10heightRequiredType: integerAltura del paquete.Example
10weightRequiredType: floatPeso del paquete.Example
2package_protectedType: booleanPackage protection indicator.Example
truedeclared_valueType: floatDeclared value of the package.Example
100requested_carriersArray of:Type: stringPaqueterias a cotizar.Example
[ "fedex", "dhl" ]Ejemplo de Cuerpo de Solicitud: Cotización Internacional
Content-Type: application/jsonObject:quotationObject:order_idType: stringID de la orden a la que pertenece la cotizaciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_from.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
USpostal_codeRequiredType: stringCódigo postal de la dirección.Example
11201area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
New Yorkarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Brooklynarea_level3Type: stringBarrio o colonia de la dirección.Example
Kings Countytax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:lengthRequiredType: integerLongitud del paquete.Example
10widthRequiredType: integerAncho del paquete.Example
10heightRequiredType: integerAltura del paquete.Example
10weightRequiredType: floatPeso del paquete.Example
2package_protectedType: booleanPackage protection indicator.Example
truedeclared_valueType: floatDeclared value of the package.Example
100productsRequiredArray of:Object:hs_codeRequiredType: stringCódigo HS del producto.Example
3407.002000description_enRequiredType: stringDescripción del producto en inglés.Example
Medicine for childrencountry_codeRequiredType: stringCódigo de país del producto (ISO 3166-1 alpha-2).Example
USquantityRequiredType: integerCantidad del producto.Example
1priceRequiredType: floatPrecio del producto.Example
100.0requested_carriersArray of:Type: stringPaqueterias a cotizar.Example
[ "fedex", "dhl" ] -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/quotations' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna una respuesta completa de cotización
Esquema:{ "type": "object", "properties": { "id": { "type": "string", "description": "ID de la cotización." }, "is_completed": { "type": "boolean", "description": "Estado de la cotización." }, "quotation_scope": { "type": "object", "oneOf": [ { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" } } }, { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" }, "found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias encontradas." } }, "not_found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias no encontradas." } } } } ], "required": [ "carriers_scoped_to" ] }, "rates": { "type": "array", "description": "Tarifas de las paqueterias.", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "ID de la tarifa." }, "success": { "type": "boolean", "description": "Indicador de éxito." }, "rate_type": { "type": "string", "nullable": true, "description": "Tipo de tarifa." }, "country_code": { "type": "string", "nullable": true, "description": "Código de país de la dirección." }, "provider_name": { "type": "string", "description": "Nombre de la paquetería." }, "provider_display_name": { "type": "string", "description": "Nombre para mostrar de la paquetería." }, "provider_service_name": { "type": "string", "description": "Nombre del servicio de la paquetería." }, "provider_service_code": { "type": "string", "description": "Código del servicio de la paquetería." }, "status": { "type": "string", "description": "Estado de la tarifa (Tarifa pendiente `pending`)(Tafira no aplica `not_applicable`)(Tarifa encontrada `approved`)(Tarifa sin cobertura `no_coverage`)(Tarifa con cobertura comprobada `coverage_checked`)(Tarifa encontrada `price_found_internal`)(Tarifa encontrada `price_found_external`)(Tarifa sin precio `tariff_price_not_found`)" }, "currency_code": { "type": "string", "description": "Código de moneda." }, "amount": { "type": "string", "description": "Monto de la tarifa." }, "total": { "type": "string", "description": "Total de la tarifa." }, "service_fee": { "type": "float", "nullable": true, "description": "Tarifa de gestión." }, "weight": { "type": "float", "description": "Peso del paquete." }, "days": { "type": "integer", "description": "Días de entrega." }, "insurable": { "type": "boolean", "description": "Indicador de seguro." }, "has_own_agreement": { "type": "boolean", "description": "Indicador de acuerdo propio." }, "own_agreement_amount": { "type": "number", "nullable": true, "description": "Monto del acuerdo propio." }, "extra_fees": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "value": { "type": "string" } } }, "nullable": true }, "error_messages": { "type": "array", "nullable": true }, "zone": { "type": "string", "nullable": true, "description": "Zona de la tarifa." }, "plan_type": { "type": "string", "nullable": true, "description": "Tipo de plan." }, "packaging_type": { "type": "string", "description": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet)." }, "protection_value_total": { "type": "float", "description": "Valor de la protección total." }, "total_value_with_protection": { "type": "float", "description": "Costo total del envío que incluye el total de la tarifa (costo del envío, IVA y cargo por servicio cuando aplica) más el valor de la protección." }, "pickup": { "type": "boolean", "description": "Indica si la recolección está disponible para esta tarifa." }, "pickup_automatic": { "type": "boolean", "description": "Indica si la recolección es automática para esta tarifa." }, "pickup_package_min": { "type": "integer", "description": "Número mínimo de paquetes requeridos para la recolección." }, "pickup_ocurre": { "type": "boolean", "description": "Indica si la recolección ocurre en origen (true) o en sucursal (false)." }, "pickup_via_support": { "type": "boolean", "description": "Indica si la recolección via soporte esta disponible (true) o no (false)." }, "shipment_creation_type": { "type": "string", "description": "El tipo de envío si es creado utilizando esta tarifa (single/multipackage/multishipment)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si el carrier requiere verificar la dirección de origen y la plantilla de origen aún no está verificada para ese carrier. Si es true, el shipment fallará al crearse hasta completar la verificación." }, "customs_payment_payer": { "type": "array", "nullable": true, "items": { "type": "string", "enum": [ "sender", "recipient" ] }, "description": "Lista de valores aceptados para `customs_payment_payer` al crear el envío con esta tarifa. Solo aplica a cotizaciones internacionales y contiene `sender`, `recipient` o ambos, según las restricciones del país de destino y del servicio del carrier." }, "service_zone": { "type": "string", "nullable": true, "description": "Zona real de la tarifa." }, "vat_fee": { "type": "string", "nullable": true, "description": "Tasa de IVA." } } } }, "address_template_from_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de origen usada en la cotización (si aplica)." }, "address_template_to_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de destino usada en la cotización (si aplica)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si alguna de las tarifas de la cotización requiere verificación de la dirección de origen." }, "packages": { "type": "array", "items": { "type": "object", "properties": { "package_number": { "type": "integer", "description": "Número de índice del paquete cotizado." }, "weight": { "type": "string", "description": "Peso del paquete." }, "length": { "type": "string", "description": "Longitud del paquete." }, "width": { "type": "string", "description": "Ancho del paquete." }, "height": { "type": "string", "description": "Altura del paquete." }, "package_protected": { "type": "boolean", "nullable": true, "description": "Package protection indicator." }, "declared_value": { "type": "float", "description": "Declared value of the package." }, "protection_value": { "type": "float", "description": "Valor de la protección del paquete" } } } }, "overweight": { "type": "boolean", "description": "Indicador de sobrepeso del paquete." } }, "required": [ "id", "is_completed", "quotation_scope" ] }Ejemplo:{ "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "is_completed": true, "quotation_scope": {}, "rates": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "success": true, "rate_type": "Tipo de tarifa.", "country_code": "mx", "provider_name": "fedex", "provider_display_name": "FedEx", "provider_service_name": "Standard Overnight", "provider_service_code": "standard_overnight", "status": "pending", "currency_code": "MXN", "amount": 150.0, "total": 150.0, "service_fee": 15.0, "weight": 5, "days": 2, "insurable": true, "has_own_agreement": false, "own_agreement_amount": 1.0, "extra_fees": [ { "code": "SUCCESS", "value": "example_value" } ], "error_messages": [ {} ], "zone": "Zona de la tarifa.", "plan_type": "Tipo de plan.", "packaging_type": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet).", "protection_value_total": 100, "total_value_with_protection": 100, "pickup": true, "pickup_automatic": false, "pickup_package_min": 1, "pickup_ocurre": true, "pickup_via_support": true, "shipment_creation_type": "single", "requires_origin_verification": false, "customs_payment_payer": [ "sender", "recipient" ], "service_zone": "Zona real de la tarifa.", "vat_fee": "Tasa de IVA." } ], "address_template_from_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "address_template_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "requires_origin_verification": false, "packages": [ { "package_number": 1, "weight": "2.0", "length": "10.0", "width": "10.0", "height": "10.0", "package_protected": true, "declared_value": 100, "protection_value": 100 } ], "overweight": true }Código: 422Descripción:Retorna una respuesta de error
Esquema:{ "type": "object", "properties": { "errors": { "type": "object", "properties": { "address_from": { "type": "object", "properties": { "postal_code": { "type": "array", "items": { "type": "string" } }, "area_level1": { "type": "array", "items": { "type": "string" } }, "area_level2": { "type": "array", "items": { "type": "string" } }, "area_level3": { "type": "array", "items": { "type": "string" } } } }, "address_to": { "type": "object", "properties": { "postal_code": { "type": "array", "items": { "type": "string" } }, "area_level1": { "type": "array", "items": { "type": "string" } }, "area_level2": { "type": "array", "items": { "type": "string" } }, "area_level3": { "type": "array", "items": { "type": "string" } } } }, "parcel": { "type": "object", "properties": { "weight": { "type": "array", "items": { "type": "string" } }, "length": { "type": "array", "items": { "type": "string" } }, "width": { "type": "array", "items": { "type": "string" } }, "height": { "type": "array", "items": { "type": "string" } } } } } }, "error": { "type": "string" } }, "required": [ "error" ] }Ejemplo:{ "errors": { "address_from": { "postal_code": [ "SUCCESS" ], "area_level1": [ "example_area_level1" ], "area_level2": [ "example_area_level2" ], "area_level3": [ "example_area_level3" ] }, "address_to": { "postal_code": [ "SUCCESS" ], "area_level1": [ "example_area_level1" ], "area_level2": [ "example_area_level2" ], "area_level3": [ "example_area_level3" ] }, "parcel": { "weight": [ "example_weight" ], "length": [ "example_length" ], "width": [ "example_width" ], "height": [ "example_height" ] } }, "error": "Retorna una respuesta de error" }Código: 400Descripción:Retorna una respuesta de error (solicitud incorrecta)
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Retorna una respuesta de error (solicitud incorrecta)" }
- GET
-
Resumen: Obtiene una cotización
Descripción:GET /api/v1/quotations/{id}El endpoint de cotizaciones obtiene las diferentes tarifas de las transportadoras creadas con los datos del paso anterior.
Parámetros de la solicitud:
id: El parámetro que obtuviste del endpoint de cotizaciones (POST /api/v1/quotations) se agrega en esta sección
Parámetros:
id path
RequiredID de la Cotización
Type: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/quotations/example_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Cotización encontrada
Esquema:{ "type": "object", "properties": { "id": { "type": "string", "description": "ID de la cotización." }, "is_completed": { "type": "boolean", "description": "Estado de la cotización." }, "quotation_scope": { "type": "object", "oneOf": [ { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" } } }, { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" }, "found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias encontradas." } }, "not_found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias no encontradas." } } } } ], "required": [ "carriers_scoped_to" ] }, "rates": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "ID de la tarifa." }, "success": { "type": "boolean", "description": "Indicador de éxito." }, "rate_type": { "type": "string", "nullable": true, "description": "Tipo de tarifa." }, "country_code": { "type": "string", "nullable": true, "description": "Código de país de la dirección." }, "provider_name": { "type": "string", "description": "Nombre de la paquetería." }, "provider_display_name": { "type": "string", "description": "Nombre para mostrar de la paquetería." }, "provider_service_name": { "type": "string", "description": "Nombre del servicio de la paquetería." }, "provider_service_code": { "type": "string", "description": "Código del servicio de la paquetería." }, "status": { "type": "string", "description": "Estado de la tarifa (Tarifa pendiente `pending`)(Tafira no aplica `not_applicable`)(Tarifa encontrada `approved`)(Tarifa sin cobertura `no_coverage`)(Tarifa con cobertura comprobada `coverage_checked`)(Tarifa encontrada `price_found_internal`)(Tarifa encontrada `price_found_external`)(Tarifa sin precio `tariff_price_not_found`)" }, "currency_code": { "type": "string", "description": "Código de moneda." }, "amount": { "type": "string", "description": "Monto de la tarifa." }, "total": { "type": "string", "description": "Total de la tarifa." }, "service_fee": { "type": "float", "nullable": true, "description": "Tarifa de gestión." }, "weight": { "type": "float", "description": "Peso del paquete." }, "days": { "type": "integer", "description": "Días de entrega." }, "insurable": { "type": "boolean", "description": "Indicador de seguro." }, "has_own_agreement": { "type": "boolean", "description": "Indicador de acuerdo propio." }, "own_agreement_amount": { "type": "number", "nullable": true, "description": "Monto del acuerdo propio." }, "extra_fees": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "value": { "type": "string" } } }, "nullable": true }, "error_messages": { "type": "array", "nullable": true }, "zone": { "type": "string", "nullable": true, "description": "Zona de la tarifa." }, "service_zone": { "type": "string", "nullable": true, "description": "Zona real de la tarifa." }, "vat_fee": { "type": "string", "nullable": true, "description": "Tasa de IVA." }, "plan_type": { "type": "string", "nullable": true, "description": "Tipo de plan." }, "packaging_type": { "type": "string", "description": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet)." }, "protection_value_total": { "type": "float", "description": "Valor de la protección total." }, "total_value_with_protection": { "type": "float", "description": "Costo total del envío que incluye el total de la tarifa (costo del envío, IVA y cargo por servicio cuando aplica) más el valor de la protección." }, "pickup": { "type": "boolean", "description": "Indica si la recolección está disponible para esta tarifa." }, "pickup_automatic": { "type": "boolean", "description": "Indica si la recolección es automática para esta tarifa." }, "pickup_package_min": { "type": "integer", "description": "Número mínimo de paquetes requeridos para la recolección." }, "pickup_ocurre": { "type": "boolean", "description": "Indica si la recolección ocurre en origen (true) o en sucursal (false)." }, "pickup_via_support": { "type": "boolean", "description": "Indica si la recolección via soporte esta disponible (true) o no (false)." }, "shipment_creation_type": { "type": "string", "description": "El tipo de envío si es creado utilizando esta tarifa (single/multipackage/multishipment)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si el carrier requiere verificar la dirección de origen y la plantilla de origen aún no está verificada para ese carrier. Si es true, el shipment fallará al crearse hasta completar la verificación." } } } }, "address_template_from_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de origen usada en la cotización (si aplica)." }, "address_template_to_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de destino usada en la cotización (si aplica)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si alguna de las tarifas de la cotización requiere verificación de la dirección de origen." }, "packages": { "type": "array", "items": { "type": "object", "properties": { "package_number": { "type": "integer", "description": "Número de índice del paquete cotizado." }, "weight": { "type": "string", "description": "Peso del paquete." }, "length": { "type": "string", "description": "Longitud del paquete." }, "width": { "type": "string", "description": "Ancho del paquete." }, "height": { "type": "string", "description": "Altura del paquete." }, "package_protected": { "type": "boolean", "nullable": true, "description": "Package protection indicator." }, "declared_value": { "type": "float", "description": "Declared value of the package." }, "protection_value": { "type": "float", "description": "Valor de la protección del paquete" } } } } }, "required": [ "id", "is_completed", "quotation_scope" ] }Ejemplo:{ "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "is_completed": true, "quotation_scope": {}, "rates": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "success": true, "rate_type": "Tipo de tarifa.", "country_code": "mx", "provider_name": "fedex", "provider_display_name": "FedEx", "provider_service_name": "Standard Overnight", "provider_service_code": "standard_overnight", "status": "pending", "currency_code": "MXN", "amount": 150.0, "total": 150.0, "service_fee": 15.0, "weight": 5, "days": 2, "insurable": true, "has_own_agreement": false, "own_agreement_amount": 1.0, "extra_fees": [ { "code": "SUCCESS", "value": "example_value" } ], "error_messages": [ {} ], "zone": "Zona de la tarifa.", "service_zone": "Zona real de la tarifa.", "vat_fee": "Tasa de IVA.", "plan_type": "Tipo de plan.", "packaging_type": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet).", "protection_value_total": 100, "total_value_with_protection": 100, "pickup": true, "pickup_automatic": false, "pickup_package_min": 1, "pickup_ocurre": true, "pickup_via_support": true, "shipment_creation_type": "single", "requires_origin_verification": false } ], "address_template_from_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "address_template_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "requires_origin_verification": false, "packages": [ { "package_number": 1, "weight": "2.0", "length": "10.0", "width": "10.0", "height": "10.0", "package_protected": true, "declared_value": 100, "protection_value": 100 } ] }Código: 404Descripción:Cotización no encontrada
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Cotización no encontrada" }
- POST
-
Resumen: Crea una cotización V2
Descripción:POST /api/v2/quotationsEl endpoint de cotizaciones se utiliza para consultar los precios con las diferentes transportadoras. A diferencia de V1, este endpoint devuelve todos los tipos de tarifa, incluyendo tarifas con shipment_creation_type "multishipment" (para transportadoras que no soportan multipackage nativo), brindando visibilidad completa sobre qué tipo de envío producirá cada tarifa.
Ejemplo de Cuerpo de Solicitud: Cotización Nacional (MX)
Content-Type: application/jsonObject:quotationObject:order_idType: stringID de la orden a la que pertenece la cotizaciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_from.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
XAXX010101000parcelsRequiredArray of:Object:lengthRequiredType: integerLongitud del paquete.Example
10widthRequiredType: integerAncho del paquete.Example
10heightRequiredType: integerAltura del paquete.Example
10weightRequiredType: floatPeso del paquete.Example
2package_protectedType: booleanPackage protection indicator.Example
truedeclared_valueType: floatDeclared value of the package.Example
100requested_carriersArray of:Type: stringPaqueterias a cotizar.Example
[ "fedex", "dhl" ]Ejemplo de Cuerpo de Solicitud: Cotización Internacional
Content-Type: application/jsonObject:quotationObject:order_idType: stringID de la orden a la que pertenece la cotizaciónExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_from.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
64000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Nuevo Leónarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Monterreyarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Monterrey Centrotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, sus valores rellenan los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
USpostal_codeRequiredType: stringCódigo postal de la dirección.Example
11201area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
New Yorkarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Brooklynarea_level3Type: stringBarrio o colonia de la dirección.Example
Kings Countytax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:lengthRequiredType: integerLongitud del paquete.Example
10widthRequiredType: integerAncho del paquete.Example
10heightRequiredType: integerAltura del paquete.Example
10weightRequiredType: floatPeso del paquete.Example
2package_protectedType: booleanPackage protection indicator.Example
truedeclared_valueType: floatDeclared value of the package.Example
100productsRequiredArray of:Object:hs_codeRequiredType: stringCódigo HS del producto.Example
3407.002000description_enRequiredType: stringDescripción del producto en inglés.Example
Medicine for childrencountry_codeRequiredType: stringCódigo de país del producto (ISO 3166-1 alpha-2).Example
USquantityRequiredType: integerCantidad del producto.Example
1priceRequiredType: floatPrecio del producto.Example
100.0requested_carriersArray of:Type: stringPaqueterias a cotizar.Example
[ "fedex", "dhl" ] -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v2/quotations' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna una respuesta completa de cotización
Esquema:{ "type": "object", "properties": { "id": { "type": "string", "description": "ID de la cotización." }, "is_completed": { "type": "boolean", "description": "Estado de la cotización." }, "quotation_scope": { "type": "object", "oneOf": [ { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" } } }, { "properties": { "carriers_scoped_to": { "type": "string", "enum": [ "ALL_AVAILABLE", "PARTIALLY_SELECTED_CARRIERS" ], "description": "Paqueterias cotizadas (todas las paqueterias `ALL_AVAILABLE`)(paqueterias seleccionadas `PARTIALLY_SELECTED_CARRIERS`)" }, "found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias encontradas." } }, "not_found_carriers": { "type": "array", "items": { "type": "string", "description": "Paqueterias no encontradas." } } } } ], "required": [ "carriers_scoped_to" ] }, "rates": { "type": "array", "description": "Tarifas de las paqueterias.", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "ID de la tarifa." }, "success": { "type": "boolean", "description": "Indicador de éxito." }, "rate_type": { "type": "string", "nullable": true, "description": "Tipo de tarifa." }, "country_code": { "type": "string", "nullable": true, "description": "Código de país de la dirección." }, "provider_name": { "type": "string", "description": "Nombre de la paquetería." }, "provider_display_name": { "type": "string", "description": "Nombre para mostrar de la paquetería." }, "provider_service_name": { "type": "string", "description": "Nombre del servicio de la paquetería." }, "provider_service_code": { "type": "string", "description": "Código del servicio de la paquetería." }, "status": { "type": "string", "description": "Estado de la tarifa (Tarifa pendiente `pending`)(Tafira no aplica `not_applicable`)(Tarifa encontrada `approved`)(Tarifa sin cobertura `no_coverage`)(Tarifa con cobertura comprobada `coverage_checked`)(Tarifa encontrada `price_found_internal`)(Tarifa encontrada `price_found_external`)(Tarifa sin precio `tariff_price_not_found`)" }, "currency_code": { "type": "string", "description": "Código de moneda." }, "amount": { "type": "string", "description": "Monto de la tarifa." }, "total": { "type": "string", "description": "Total de la tarifa." }, "service_fee": { "type": "float", "nullable": true, "description": "Tarifa de gestión." }, "weight": { "type": "float", "description": "Peso del paquete." }, "days": { "type": "integer", "description": "Días de entrega." }, "insurable": { "type": "boolean", "description": "Indicador de seguro." }, "has_own_agreement": { "type": "boolean", "description": "Indicador de acuerdo propio." }, "own_agreement_amount": { "type": "number", "nullable": true, "description": "Monto del acuerdo propio." }, "extra_fees": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "value": { "type": "string" } } }, "nullable": true }, "error_messages": { "type": "array", "nullable": true }, "zone": { "type": "string", "nullable": true, "description": "Zona de la tarifa." }, "plan_type": { "type": "string", "nullable": true, "description": "Tipo de plan." }, "packaging_type": { "type": "string", "description": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet)." }, "protection_value_total": { "type": "float", "description": "Valor de la protección total." }, "total_value_with_protection": { "type": "float", "description": "Costo total del envío que incluye el total de la tarifa (costo del envío, IVA y cargo por servicio cuando aplica) más el valor de la protección." }, "pickup": { "type": "boolean", "description": "Indica si la recolección está disponible para esta tarifa." }, "pickup_automatic": { "type": "boolean", "description": "Indica si la recolección es automática para esta tarifa." }, "pickup_package_min": { "type": "integer", "description": "Número mínimo de paquetes requeridos para la recolección." }, "pickup_ocurre": { "type": "boolean", "description": "Indica si la recolección ocurre en origen (true) o en sucursal (false)." }, "pickup_via_support": { "type": "boolean", "description": "Indica si la recolección via soporte esta disponible (true) o no (false)." }, "shipment_creation_type": { "type": "string", "description": "El tipo de envío si es creado utilizando esta tarifa (single/multipackage/multishipment)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si el carrier requiere verificar la dirección de origen y la plantilla de origen aún no está verificada para ese carrier. Si es true, el shipment fallará al crearse hasta completar la verificación." }, "customs_payment_payer": { "type": "array", "nullable": true, "items": { "type": "string", "enum": [ "sender", "recipient" ] }, "description": "Lista de valores aceptados para `customs_payment_payer` al crear el envío con esta tarifa. Solo aplica a cotizaciones internacionales y contiene `sender`, `recipient` o ambos, según las restricciones del país de destino y del servicio del carrier." }, "service_zone": { "type": "string", "nullable": true, "description": "Zona real de la tarifa." }, "vat_fee": { "type": "string", "nullable": true, "description": "Tasa de IVA." } } } }, "address_template_from_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de origen usada en la cotización (si aplica)." }, "address_template_to_id": { "type": "string", "format": "uuid", "nullable": true, "description": "ID de la plantilla de dirección de destino usada en la cotización (si aplica)." }, "requires_origin_verification": { "type": "boolean", "description": "Indica si alguna de las tarifas de la cotización requiere verificación de la dirección de origen." }, "packages": { "type": "array", "items": { "type": "object", "properties": { "package_number": { "type": "integer", "description": "Número de índice del paquete cotizado." }, "weight": { "type": "string", "description": "Peso del paquete." }, "length": { "type": "string", "description": "Longitud del paquete." }, "width": { "type": "string", "description": "Ancho del paquete." }, "height": { "type": "string", "description": "Altura del paquete." }, "package_protected": { "type": "boolean", "nullable": true, "description": "Package protection indicator." }, "declared_value": { "type": "float", "description": "Declared value of the package." }, "protection_value": { "type": "float", "description": "Valor de la protección del paquete" } } } }, "overweight": { "type": "boolean", "description": "Indicador de sobrepeso del paquete." } }, "required": [ "id", "is_completed", "quotation_scope" ] }Ejemplo:{ "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "is_completed": true, "quotation_scope": {}, "rates": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "success": true, "rate_type": "Tipo de tarifa.", "country_code": "mx", "provider_name": "fedex", "provider_display_name": "FedEx", "provider_service_name": "Standard Overnight", "provider_service_code": "standard_overnight", "status": "pending", "currency_code": "MXN", "amount": 150.0, "total": 150.0, "service_fee": 15.0, "weight": 5, "days": 2, "insurable": true, "has_own_agreement": false, "own_agreement_amount": 1.0, "extra_fees": [ { "code": "SUCCESS", "value": "example_value" } ], "error_messages": [ {} ], "zone": "Zona de la tarifa.", "plan_type": "Tipo de plan.", "packaging_type": "Indica el tipo de embalaje requerido para el envío, ya sea caja (Package) o tarima (Pallet).", "protection_value_total": 100, "total_value_with_protection": 100, "pickup": true, "pickup_automatic": false, "pickup_package_min": 1, "pickup_ocurre": true, "pickup_via_support": true, "shipment_creation_type": "single", "requires_origin_verification": false, "customs_payment_payer": [ "sender", "recipient" ], "service_zone": "Zona real de la tarifa.", "vat_fee": "Tasa de IVA." } ], "address_template_from_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "address_template_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "requires_origin_verification": false, "packages": [ { "package_number": 1, "weight": "2.0", "length": "10.0", "width": "10.0", "height": "10.0", "package_protected": true, "declared_value": 100, "protection_value": 100 } ], "overweight": true }Código: 422Descripción:Retorna una respuesta de error
Esquema:{ "type": "object", "properties": { "errors": { "type": "object", "properties": { "address_from": { "type": "object", "properties": { "postal_code": { "type": "array", "items": { "type": "string" } }, "area_level1": { "type": "array", "items": { "type": "string" } }, "area_level2": { "type": "array", "items": { "type": "string" } }, "area_level3": { "type": "array", "items": { "type": "string" } } } }, "address_to": { "type": "object", "properties": { "postal_code": { "type": "array", "items": { "type": "string" } }, "area_level1": { "type": "array", "items": { "type": "string" } }, "area_level2": { "type": "array", "items": { "type": "string" } }, "area_level3": { "type": "array", "items": { "type": "string" } } } }, "parcel": { "type": "object", "properties": { "weight": { "type": "array", "items": { "type": "string" } }, "length": { "type": "array", "items": { "type": "string" } }, "width": { "type": "array", "items": { "type": "string" } }, "height": { "type": "array", "items": { "type": "string" } } } } } }, "error": { "type": "string" } }, "required": [ "error" ] }Ejemplo:{ "errors": { "address_from": { "postal_code": [ "SUCCESS" ], "area_level1": [ "example_area_level1" ], "area_level2": [ "example_area_level2" ], "area_level3": [ "example_area_level3" ] }, "address_to": { "postal_code": [ "SUCCESS" ], "area_level1": [ "example_area_level1" ], "area_level2": [ "example_area_level2" ], "area_level3": [ "example_area_level3" ] }, "parcel": { "weight": [ "example_weight" ], "length": [ "example_length" ], "width": [ "example_width" ], "height": [ "example_height" ] } }, "error": "Retorna una respuesta de error" }Código: 400Descripción:Retorna una respuesta de error (solicitud incorrecta)
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Retorna una respuesta de error (solicitud incorrecta)" }
Envíos
- POST
-
Resumen: Crear un envío sin cotizar
Descripción:Crea un envío directamente sin una cotización previa. El cálculo del precio se realiza internamente usando los parámetros enviados en la solicitud.
Ejemplo de Cuerpo de Solicitud: Envío nacional (MX)
Content-Type: application/jsonObject:timeoutType: integerTiempo de espera en segundos.Example
8quotationObject:printing_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
thermalcarrierObject:nameType: stringNombre de la paqueteríaExample
Nombre de la paquetería en minúsculaservice_nameType: stringNombre del servicioExample
Código del servicioaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeType: stringCódigo postal de la dirección.Example
68000area_level1Type: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2Type: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3Type: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeType: stringCódigo postal de la dirección.Example
68000area_level1Type: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2Type: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3Type: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:weightRequiredType: integerPeso del paqueteExample
5heightRequiredType: integerAltura del paqueteExample
5widthRequiredType: integerAncho del paqueteExample
5lengthRequiredType: integerLongitud del paqueteExample
5package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GEjemplo de Cuerpo de Solicitud: Envío internacional
Content-Type: application/jsonObject:timeoutType: integerTiempo de espera en segundos.Example
8quotationObject:customs_payment_payerRequiredType: stringEntidad que pagará los aranceles del envío. Puede ser `sender` o `recipient`.Example
sendershipment_purposeRequiredType: stringPropósito del envío (`goods`, `documents`, `sample`, `return_of_goods`, `gift` o `humanitarian_donation`).Example
goodsprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
standardcarrierObject:nameType: stringNombre de la paqueteríaExample
Nombre de la paquetería en minúsculaservice_nameType: stringNombre del servicioExample
Código del servicioaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
68000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
USpostal_codeRequiredType: stringCódigo postal de la dirección.Example
33326area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Floridaarea_level2RequiredType: WestonCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3RequiredType: WestonBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:weightRequiredType: integerPeso del paqueteExample
5heightRequiredType: integerAltura del paqueteExample
5widthRequiredType: integerAncho del paqueteExample
5lengthRequiredType: integerLongitud del paqueteExample
5package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsRequiredArray of:Object:nameRequiredType: stringNombre del productoExample
Producto 1description_enRequiredType: stringDescripción en inglésExample
Product descriptionquantityType: integerCantidadExample
1priceType: numberPrecio en pesos mexicanosExample
100.0skuType: stringSKUExample
SKU-123hs_codeRequiredType: stringCódigo HarmonizadoExample
9706.900060hs_code_descriptionType: stringDescripción del código HarmonizadoExample
Descripción del HS Codeproduct_type_codeType: stringCódigo de tipo de productoExample
Pproduct_type_nameType: stringNombre del tipo de productoExample
Productocountry_codeType: stringCódigo de país en ISO 3166-1 alpha-2Example
MX -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/rate/shipments/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna el envío creado
Esquema:{ "type": "object", "required": [ "id", "status", "rate", "packages" ], "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "master_tracking_number": { "type": "string", "nullable": true }, "label_url": { "type": "string", "nullable": true }, "rate": { "type": "object", "required": [ "success", "id", "provider_name", "provider_display_name", "provider_service_name", "provider_service_code", "status", "currency_code", "amount", "total", "days", "insurable", "has_own_agreement", "extra_fees", "packaging_type", "weight", "protection_value_total", "total_value_with_protection", "pickup", "pickup_automatic", "pickup_package_min", "pickup_ocurre", "pickup_via_support", "shipment_creation_type" ], "properties": { "success": { "type": "boolean" }, "id": { "type": "string", "format": "uuid" }, "rate_type": { "type": "string", "nullable": true }, "provider_name": { "type": "string" }, "provider_display_name": { "type": "string" }, "provider_service_name": { "type": "string" }, "provider_service_code": { "type": "string" }, "status": { "type": "string" }, "currency_code": { "type": "string" }, "amount": { "type": "string" }, "total": { "type": "string" }, "days": { "type": "integer" }, "insurable": { "type": "boolean" }, "has_own_agreement": { "type": "boolean" }, "own_agreement_amount": { "type": "string", "nullable": true }, "extra_fees": { "type": "array", "items": { "type": "object" } }, "zone": { "type": "string", "nullable": true }, "service_zone": { "type": "string", "nullable": true }, "vat_fee": { "type": "string", "nullable": true }, "country_code": { "type": "string", "nullable": true }, "plan_type": { "type": "string", "nullable": true }, "packaging_type": { "type": "string" }, "error_messages": { "type": "array", "nullable": true, "items": { "type": "string" } }, "weight": { "type": "string" }, "protection_value_total": { "type": "string" }, "total_value_with_protection": { "type": "number", "format": "float" }, "pickup": { "type": "boolean" }, "pickup_automatic": { "type": "boolean" }, "pickup_package_min": { "type": "integer" }, "pickup_ocurre": { "type": "boolean" }, "pickup_via_support": { "type": "boolean" }, "shipment_creation_type": { "type": "string", "nullable": true }, "requires_origin_verification": { "type": "boolean" }, "import_duty_amount": { "type": "string", "nullable": true }, "customs_payment_payer": { "type": "array", "nullable": true, "items": { "type": "string", "enum": [ "sender", "recipient" ] } } } }, "error_message_detail": { "type": "string", "nullable": true }, "packages": { "type": "array", "items": { "type": "object" } } } }Ejemplo:{ "id": "73783895-147e-40f6-83d8-5f901d71a1a3", "status": "success", "master_tracking_number": "1234567890", "label_url": "https://label.com", "rate": { "success": false, "id": "38ed719c-6a21-4b15-9ef3-d2bdce374018", "rate_type": "standard", "provider_name": "medrano santillán s.r.l chad", "provider_display_name": "Ups", "provider_service_name": "Medrano Santillán S.R.L Chad Bronze", "provider_service_code": "MEDRANO_SANTILLAN_S_R_L_CHAD_BRONZE", "status": "pending", "currency_code": "MXN", "amount": "9.99", "total": "100", "days": 1, "insurable": false, "has_own_agreement": false, "own_agreement_amount": "50.00", "extra_fees": [], "zone": "example_zone", "service_zone": "example_service_zone", "vat_fee": "example_vat_fee", "country_code": "MX", "plan_type": "example_plan_type", "packaging_type": "package", "error_messages": [ "example_error_messages" ], "weight": "0.0", "protection_value_total": "0.0", "total_value_with_protection": 0.0, "pickup": false, "pickup_automatic": false, "pickup_package_min": 1, "pickup_ocurre": false, "pickup_via_support": false, "shipment_creation_type": "single", "requires_origin_verification": false, "import_duty_amount": "example_import_duty_amount", "customs_payment_payer": [ "sender", "recipient" ] }, "error_message_detail": "Invalid token", "packages": [] }Código: 400Descripción:Retorna una respuesta de error
Código: 422Descripción:Retorna una respuesta de error
Esquema:{ "type": "object", "properties": { "error": { "type": "string" } }, "required": [ "error" ] }Ejemplo:{ "error": "Retorna una respuesta de error" }
- POST
-
Resumen: Cancelar un envío
Descripción:Este endpoint permite cancelar un envío.
Parámetros:
shipment_id path
RequiredType: stringEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:reasonType: stringRazón de la cancelación.Example
Ya no es necesarioshipment_idType: stringId o número de rastreo del envío.Example
12345 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/shipments/example_shipment_id/cancellations' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna la cancelcación del envío
Esquema:{ "type": "object", "properties": { "id": { "type": "string", "description": "UUID de la cancelación" }, "reason": { "type": "string", "description": "Razón de la cancelación" }, "status": { "type": "string", "description": "Estado de la cancelación" }, "success": { "type": "boolean", "description": "Indicador de éxito" } } }Ejemplo:{ "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "reason": "Ya no es necesario", "status": "approved", "success": true }Código: 422Descripción:El envío no se puede cancelar
Esquema:{ "type": "object", "properties": { "error": { "type": "string" } } }Ejemplo:{ "error": "El envío no se puede cancelar" }Código: 404Descripción:Envío no encontrado
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "Envío no encontrado" }
- GET
-
Resumen: Obtiene todos los servicios
Descripción:GET /api/v1/shipments/carrier_servicesEste endpoint obtiene todos los servicios de transportadora disponibles.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a obtener
Type: integerExample1per_page query
Número de elementos por página (máx 20, por defecto 20)
Type: integerExample5 -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments/carrier_services' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de servicios
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "carrier_name": { "type": "string", "description": "Nombre de la transportadora" }, "service_name": { "type": "string", "description": "Nombre del servicio de la transportadora" }, "service_code": { "type": "string", "description": "Código único del servicio de la transportadora" }, "min_delivery_packages": { "type": "integer", "nullable": true, "description": "Número mínimo de paquetes para entrega" }, "is_national": { "type": "boolean", "description": "Si el servicio es nacional" }, "volumetric_weight_formula": { "type": "string", "description": "Fórmula utilizada para calcular el peso volumétrico" }, "has_pickup": { "type": "boolean", "description": "Si el servicio soporta recolección" }, "multi_packages_enabled": { "type": "boolean", "description": "Si el servicio soporta múltiples paquetes" }, "is_ltl": { "type": "boolean", "description": "Si el servicio es de carga parcial" }, "package_type": { "type": "string", "description": "Tipo de paquete soportado" }, "has_reschedule_pick": { "type": "boolean", "description": "Si el servicio soporta reprogramación de recolección" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "carrier_name": "fedex", "service_name": "standard_overnight", "service_code": "standard_overnight", "min_delivery_packages": 1, "is_national": true, "volumetric_weight_formula": "(height * width * length) / 5000.00", "has_pickup": false, "multi_packages_enabled": false, "is_ltl": false, "package_type": "package", "has_reschedule_pick": true } ], "meta": { "current_page": 1, "next_page": 2, "total_pages": 1, "total_count": 5 } }
- GET
-
Resumen: Obtiene todas las carta porte
Descripción:GET /api/v1/shipments/consignment_notesEl endpoint se utiliza para obtener todas las carta porte.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a obtener
Type: integerExample1per_page query
Número de elementos por página (máx 20, por defecto 20)
Type: integerExample5 -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments/consignment_notes' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de carta porte
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "consignment_note": { "type": "integer" }, "description": { "type": "string" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "consignment_note": 20142200, "description": "Calentadores de linea" } ], "meta": { "current_page": 2, "next_page": 3, "prev_page": 1, "total_pages": 3, "total_count": 8 } }
- GET
-
Resumen: Obtiene todos los tipos de empaque
Descripción:GET /api/v1/shipments/packagingsEste endpoint obtiene todos los tipos de empaque disponibles.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a obtener
Type: integerExample1per_page query
Número de elementos por página (máx 20, por defecto 20)
Type: integerExample20 -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments/packagings' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de tipos de empaque
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "description": "Código del tipo de empaque" }, "name": { "type": "string", "description": "Nombre del tipo de empaque" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "code": "4G", "name": "Box" } ], "meta": { "current_page": 1, "next_page": 2, "total_pages": 1, "total_count": 5 } }
- POST
-
Resumen: Protege un envío
Descripción:Este endpoint permite proteger un envío.
Parámetros:
shipment_id path
RequiredType: stringEjemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:protectRequiredObject:declared_valueType: stringValor declarado del envíoExample
1000shipment_idType: stringUUID del envíoExample
7f433cf4-e54a-4294-b421-1522cd377c12 -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/shipments/example_shipment_id/protect' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 201Descripción:Retorna la información de la protección del envío
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string" }, "declared_value": { "type": "string", "description": "Valor declarado del envío" }, "total": { "type": "string", "description": "Costo total de la protección del envío" }, "fixed_cost": { "type": "string", "description": "Costo fijo del envío" }, "percentage": { "type": "number", "description": "Costo porcentaje del envío" }, "created_at": { "type": "string", "description": "Fecha de creación de la protección" }, "updated_at": { "type": "string", "description": "Fecha de actualización de la protección" }, "shipment_id": { "type": "string", "description": "UUID del envío" } } } } } }, "required": [ "data" ] }Ejemplo:{ "data": { "id": "681ddd3e-4fc5-4c15-bfed-f9f4224e8095", "type": "protect", "attributes": { "id": "681ddd3e-4fc5-4c15-bfed-f9f4224e8095", "declared_value": 1000, "total": 110, "fixed_cost": 10, "percentage": 10, "created_at": "2024-10-09 13:38:33", "updated_at": "2024-10-09 13:38:33", "shipment_id": "7f433cf4-e54a-4294-b421-1522cd377c12" } } }Código: 422Descripción:El envío no se puede proteger
Esquema:{ "type": "object", "properties": { "errors": { "type": "string" } } }Ejemplo:{ "errors": "Valor declarado debe estar entre 100.0 y 500.0" }
- GET
-
Resumen: Rastrea un envío
Descripción:Este endpoint permite rastrear un envío.
Parámetros:
tracking_number path
RequiredType: stringcarrier_name path
RequiredType: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments/tracking?tracking_number=example_tracking_number&carrier_name=example_carrier_name' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna la lista de los eventos ocurridos
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "properties": { "id": { "type": "string", "description": "UUID del evento de rastreo" }, "type": { "type": "string", "description": "Tipo de registro" }, "attributes": { "type": "object", "properties": { "description": { "type": "string", "description": "Descripción del estado" }, "location": { "type": "string", "description": "Ubicación donde ocurrio el evento" }, "date": { "type": "string", "format": "date-time", "description": "Fecha del evento" }, "status": { "type": "string", "description": "Código del estado" } } } } } } }Ejemplo:{ "data": [ {} ] }Código: 404Descripción:Este número de guía no cuenta con eventos de rastreo
Esquema:{ "type": "object", "properties": { "error": { "type": "string" } } }Ejemplo:{ "error": "Este número de guía no cuenta con eventos de rastreo" }
- GET
-
Resumen: Recupera todos los envíos
Descripción:Este endpoint recupera todos los envíos, paginados de diez en diez.
Parámetros:
page query
Número de página a obtener
Type: integerExample1ids query
Lista de IDs de envíos a recuperar, separados por comas. Si no se proporcionan, se recuperarán todos los envíos.
Type: arrayExample[ "5f4b3b4b-4b3b-4b3b-4b3b-4b3b4b3b4b3b", "6f5c4d5e-5c6d-7e8f-9a0b-1c2d3e4f5g6h" ] -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna una colección de envíos
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío" }, "carrier_name": { "type": "string", "description": "Nombre de la paquetería" }, "workflow_status": { "type": "string", "description": "Estado del envío" }, "payment_status": { "type": "string", "description": "Estado del pago" }, "total": { "type": "string", "description": "Costo total del envío" }, "source": { "type": "string", "description": "Origen del envío (Api `api`)" }, "carrier_id": { "type": "string", "description": "UUID de la paquetería" }, "service_id": { "type": "string", "nullable": true, "description": "UUID del servicio" }, "master_tracking_number": { "type": "string", "nullable": true, "description": "Número de rastreo" }, "original_shipment_id": { "type": "string", "nullable": true, "description": "ID del envío original." }, "created_at": { "type": "string", "description": "Fecha de creación" }, "updated_at": { "type": "string", "description": "Fecha de actualización" }, "error_detail": { "type": "object", "nullable": true, "description": "Detalles del error cuando el envío falla", "properties": { "error_code": { "type": "string", "nullable": true }, "error_message": { "type": "string", "nullable": true }, "error_message_detail": { "type": "string", "nullable": true } } } } }, "relationships": { "type": "object", "properties": { "packages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "address_from": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } }, "address_to": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del paquete" }, "package_type": { "type": "string", "description": "Tipo de paquete" }, "weight": { "type": "string", "description": "Peso del paquete" }, "length": { "type": "string", "description": "Longitud del paquete" }, "width": { "type": "string", "description": "Ancho del paquete" }, "height": { "type": "string", "description": "Altura del paquete" }, "consignment_note": { "type": "string", "description": "Carta porte ID" }, "package_content": { "type": "string", "nullable": true }, "tracking_url_provider": { "type": "string", "description": "URL de seguimiento" }, "tracking_status": { "type": "string", "nullable": true, "tracking_status": "created", "description": "Estado de seguimiento" }, "tracking_number": { "type": "string", "description": "Número de seguimiento" }, "label_url": { "type": "string", "nullable": true, "description": "URL de la guía" }, "created_at": { "type": "string", "description": "Fecha de creación" }, "updated_at": { "type": "string", "description": "Fecha de actualización" } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" }, "further_information": { "type": "string", "nullable": true, "description": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería." }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "carrier_name": "fedex", "workflow_status": "pending", "payment_status": "paid", "total": "38.20", "source": "api", "carrier_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "service_id": "standart_overnight", "master_tracking_number": "234234234233", "original_shipment_id": "0199977a-e032-78bf-a335-00a9ae3cfdff", "created_at": "Fecha de creación", "updated_at": "Fecha de actualización", "error_detail": { "error_code": "ERR_INVALID_ADDRESS", "error_message": "Dirección de destino no válida", "error_message_detail": "Token no válido" } }, "relationships": { "packages": { "data": [ { "id": "example_id", "type": "example_type" } ] }, "address_from": { "data": { "id": "example_id", "type": "example_type" } }, "address_to": { "data": { "id": "example_id", "type": "example_type" } } } } ], "included": [ { "oneOf": [ { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "package_type": "4G", "weight": 1, "length": 1, "width": 1, "height": 1, "consignment_note": 53102400, "package_content": "example_package_content", "tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=234234234233", "tracking_status": "Estado de seguimiento", "tracking_number": 123123123123, "label_url": "https://label.com", "created_at": "Fecha de creación", "updated_at": "Fecha de actualización" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } }, { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "to", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "area_level3": "Romero rubio", "apartment_number": "Número de departamento", "further_information": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } } ] } ], "meta": { "current_page": 2, "next_page": 3, "prev_page": 1, "total_pages": 3, "total_count": 8 } }
- GET
-
Resumen: Recupera un envío
Descripción:Recupera un envío
Parámetros:
id path
RequiredType: string -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/shipments/example_id' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Retorna un envío
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío" }, "carrier_name": { "type": "string", "description": "Nombre de la paquetería" }, "workflow_status": { "type": "string", "description": "Estado del envío" }, "payment_status": { "type": "string", "description": "Estado del pago" }, "total": { "type": "string", "description": "Costo total del envío" }, "source": { "type": "string", "description": "Origen del envío (Api `api`)" }, "carrier_id": { "type": "string", "nullable": true, "description": "UUID de la paquetería" }, "service_id": { "type": "string", "nullable": true, "description": "UUID del servicio" }, "master_tracking_number": { "type": "string", "nullable": true, "description": "Número de rastreo" }, "original_shipment_id": { "type": "string", "nullable": true, "description": "ID del envío original." }, "created_at": { "type": "string", "description": "Fecha de creación" }, "updated_at": { "type": "string", "description": "Fecha de actualización" }, "error_detail": { "type": "object", "nullable": true, "description": "Detalles del error cuando el envío falla", "properties": { "error_code": { "type": "string", "nullable": true }, "error_message": { "type": "string", "nullable": true }, "error_message_detail": { "type": "string", "nullable": true } } } } }, "relationships": { "type": "object", "properties": { "packages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "address_from": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } }, "address_to": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del paquete" }, "package_type": { "type": "string", "description": "Tipo de paquete" }, "weight": { "type": "string", "description": "Peso del paquete" }, "length": { "type": "string", "description": "Longitud del paquete" }, "width": { "type": "string", "description": "Ancho del paquete" }, "height": { "type": "string", "description": "Altura del paquete" }, "consignment_note": { "type": "string", "description": "Carta porte ID" }, "package_content": { "type": "string", "nullable": true }, "tracking_url_provider": { "type": "string", "description": "URL de seguimiento" }, "tracking_status": { "type": "string", "nullable": true, "description": "Estado de seguimiento" }, "tracking_number": { "type": "string", "description": "Número de seguimiento" }, "label_url": { "type": "string", "nullable": true, "description": "URL de la guía" }, "created_at": { "type": "string", "description": "Fecha de creación" }, "updated_at": { "type": "string", "description": "Fecha de actualización" } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID de la dirección" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente" }, "postal_code": { "type": "string", "description": "Código postal de la dirección" }, "country_code": { "type": "string", "description": "Código de país de la dirección" }, "address_type": { "type": "string", "description": "Tipo de dirección" }, "street1": { "type": "string", "description": "Calle y número de la dirección" }, "company": { "type": "string", "description": "Nombre de la empresa" }, "phone": { "type": "string", "description": "Número de teléfono" }, "email": { "type": "string", "description": "Correo electrónico" }, "reference": { "type": "string", "description": "Referencia de la dirección" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento" }, "further_information": { "type": "string", "nullable": true, "description": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería." }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } ] } } } }Ejemplo:{ "data": { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "carrier_name": "FEDEX", "workflow_status": "success", "payment_status": "paid", "total": "500.0", "source": "api", "carrier_id": "91dd6bde-fd08-4bf2-b12d-d79c98b0f7ab", "service_id": "91dd6bde-fd08-4bf2-b12d-d79c98b0f7ab", "master_tracking_number": "234234234233", "original_shipment_id": "0199977a-e032-78bf-a335-00a9ae3cfdff", "created_at": "Fecha de creación", "updated_at": "Fecha de actualización", "error_detail": { "error_code": "ERR_INVALID_ADDRESS", "error_message": "La dirección de destino no es válida", "error_message_detail": "Token no válido" } }, "relationships": { "packages": { "data": [ { "id": "example_id", "type": "example_type" } ] }, "address_from": { "data": { "id": "example_id", "type": "example_type" } }, "address_to": { "data": { "id": "example_id", "type": "example_type" } } } }, "included": [ { "oneOf": [ { "id": "example_id", "type": "example_type", "attributes": { "id": "91dd6bde-fd08-4bf2-b12d-d79c98b0f7ab", "package_type": "4G", "weight": "1", "length": "1", "width": "1", "height": "1", "consignment_note": "53102400", "package_content": "example_package_content", "tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=234234234233", "tracking_status": "created", "tracking_number": 234234234233, "label_url": "https://label.com", "created_at": "Fecha de creación", "updated_at": "Fecha de actualización" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } }, { "id": "example_id", "type": "example_type", "attributes": { "id": "91dd6bde-fd08-4bf2-b12d-d79c98b0f7ab", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "to", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "area_level3": "Romero rubio", "apartment_number": "Número de departamento", "further_information": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } } ] } ] }Código: 404Descripción:Retorna un mensaje de no encontrado
Esquema:{ "type": "object", "properties": { "message": { "type": "string" } } }Ejemplo:{ "message": "El recurso buscado no se pudo encontrar." }
- POST
-
Resumen: Crea un envío
Descripción:Este endpoint permite crear un envío, usando la cotización creada (POST /api/v1/quotations) y obtenida previamente (GET /api/v1/quotations/{id}).
Ejemplo de Cuerpo de Solicitud: Envío nacional (MX)
Content-Type: application/jsonObject:shipmentObject:rate_idRequiredType: stringId único del precio obtenido al consultar la cotización (GET /api/v1/quotations/{id}).Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxunique_shipmentType: booleanOpcional. Cuando es true, el sistema cachea la respuesta para el rate_id y la replica en reintentos con el mismo rate_id, evitando envíos duplicados. Devuelve 200 OK con el payload original en replay, 409 Conflict si una solicitud previa aún está en proceso. El cache vive 96 horas, alineado al ciclo de vida del rate_id.original_shipment_idType: stringID del envío original.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
thermaladdress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Calle ExamplenameRequiredType: stringNombre completo del remitente.Example
Homero SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerofurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Avenida ExamplenameRequiredType: stringNombre completo del destinatario.Example
Bart SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789packagesRequiredArray of:Object:package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsArray of:Object:product_idType: stringID del productoExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxnameType: stringNombre del productoExample
Producto 1description_enType: stringDescripción en inglésExample
Product descriptionquantityType: integerCantidadExample
1priceType: numberPrecio en pesos mexicanosExample
100.0skuType: stringSKUExample
SKU-123hs_codeType: stringCódigo HarmonizadoExample
9706.900060hs_code_descriptionType: stringDescripción del código HarmonizadoExample
Descripción del HS Codeproduct_type_codeType: stringCódigo de tipo de productoExample
Pproduct_type_nameType: stringNombre del tipo de productoExample
Productocountry_codeType: stringCódigo de país en ISO 3166-1 alpha-2Example
MXEjemplo de Cuerpo de Solicitud: Envío internacional
Content-Type: application/jsonObject:shipmentObject:rate_idRequiredType: stringId único del precio obtenido al consultar la cotización (GET /api/v1/quotations/{id}).Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxunique_shipmentType: booleanOpcional. Cuando es true, el sistema cachea la respuesta para el rate_id y la replica en reintentos con el mismo rate_id, evitando envíos duplicados. Devuelve 200 OK con el payload original en replay, 409 Conflict si una solicitud previa aún está en proceso. El cache vive 96 horas, alineado al ciclo de vida del rate_id.customs_payment_payerRequiredType: stringEntidad que pagará los aranceles del envío. Puede ser `sender` o `recipient`.Example
sendershipment_purposeRequiredType: stringPropósito del envío (`goods`, `documents`, `sample`, `return_of_goods`, `gift` o `humanitarian_donation`).Example
goodsprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
standardaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Calle ExamplenameRequiredType: stringNombre completo del remitente.Example
Homero SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerofurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Avenida ExamplenameRequiredType: stringNombre completo del destinatario.Example
Bart SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789packagesRequiredArray of:Object:package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsArray of:Object:nameType: stringNombre del productoExample
Moldes dentales - USAskuType: stringSKUExample
SKU-1product_type_codeType: stringCódigo de tipo de productoExample
42152400product_type_nameType: stringNombre del tipo de productoExample
Materiales dentales -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v1/shipments/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 202Descripción:Retorna el envío creado
Esquema:{ "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío\n" }, "type": { "type": "string", "description": "Tipo de envío\n" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío\n" }, "carrier_name": { "type": "string", "description": "Nombre de la paquetería\n" }, "workflow_status": { "type": "string", "description": "Estado del envío\n" }, "payment_status": { "type": "string", "description": "Estado del pago\n" }, "total": { "type": "string", "description": "Costo total del envío\n" }, "source": { "type": "string", "description": "Origen del envío (Api `api`)\n" }, "carrier_id": { "type": "string", "nullable": true, "description": "UUID de la paquetería\n" }, "service_id": { "type": "string", "nullable": true, "description": "UUID del servicio\n" }, "master_tracking_number": { "type": "string", "nullable": true, "description": "Número de rastreo\n" }, "original_shipment_id": { "type": "string", "nullable": true, "description": "ID del envío original.\n" }, "created_at": { "type": "string", "description": "Fecha de creación\n" }, "updated_at": { "type": "string", "description": "Fecha de actualización\n" }, "error_detail": { "type": "object", "nullable": true, "description": "Detalles del error cuando el envío falla\n", "properties": { "error_code": { "type": "string", "nullable": true }, "error_message": { "type": "string", "nullable": true }, "error_message_detail": { "type": "string", "nullable": true } } } } }, "relationships": { "type": "object", "properties": { "packages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "address_from": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } }, "address_to": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del paquete\n" }, "package_type": { "type": "string", "description": "Tipo de paquete\n" }, "weight": { "type": "string", "description": "Peso del paquete\n" }, "length": { "type": "string", "description": "Longitud del paquete\n" }, "width": { "type": "string", "description": "Ancho del paquete\n" }, "height": { "type": "string", "description": "Altura del paquete\n" }, "consignment_note": { "type": "string", "description": "Carta porte ID\n" }, "package_content": { "type": "string", "nullable": true }, "tracking_url_provider": { "type": "string", "nullable": true, "description": "URL de seguimiento\n" }, "tracking_status": { "type": "string", "nullable": true, "description": "Estado de seguimiento\n" }, "tracking_number": { "type": "string", "nullable": true, "description": "Número de seguimiento\n" }, "label_url": { "type": "string", "nullable": true, "description": "URL de la guía\n" }, "created_at": { "type": "string", "description": "Fecha de creación\n" }, "updated_at": { "type": "string", "description": "Fecha de actualización\n" } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID de la dirección\n" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección\n" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección\n" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente\n" }, "postal_code": { "type": "string", "description": "Código postal de la dirección\n" }, "country_code": { "type": "string", "description": "Código de país de la dirección\n" }, "address_type": { "type": "string", "description": "Tipo de dirección\n" }, "street1": { "type": "string", "description": "Calle y número de la dirección\n" }, "company": { "type": "string", "description": "Nombre de la empresa\n" }, "phone": { "type": "string", "description": "Número de teléfono\n" }, "email": { "type": "string", "description": "Correo electrónico\n" }, "reference": { "type": "string", "description": "Referencia de la dirección\n" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección\n" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento\n" }, "further_information": { "type": "string", "nullable": true, "description": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.\n" }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } ] } } } }Ejemplo:{ "data": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "type": "Tipo de envío\n", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "carrier_name": "fedex", "workflow_status": "pending", "payment_status": "paid", "total": "38.20", "source": "api", "carrier_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "service_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "master_tracking_number": "1234567890", "original_shipment_id": "0199977a-e032-78bf-a335-00a9ae3cfdff", "created_at": "Fecha de creación\n", "updated_at": "Fecha de actualización\n", "error_detail": { "error_code": "ERR_INVALID_ADDRESS", "error_message": "La dirección de destino no es válida", "error_message_detail": "Token no válido" } }, "relationships": { "packages": { "data": [ { "id": "example_id", "type": "example_type" } ] }, "address_from": { "data": { "id": "example_id", "type": "example_type" } }, "address_to": { "data": { "id": "example_id", "type": "example_type" } } } }, "included": [ { "oneOf": [ { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "package_type": "4G", "weight": 1, "length": 1, "width": 1, "height": 1, "consignment_note": 53102400, "package_content": "example_package_content", "tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=234234234233", "tracking_status": "created", "tracking_number": 123123123123, "label_url": "https://label.com", "created_at": "Fecha de creación\n", "updated_at": "Fecha de actualización\n" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } }, { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "to", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "area_level3": "Romero rubio", "apartment_number": "Número de departamento\n", "further_information": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.\n", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } } ] } ] }Código: 422Descripción:Retorna una respuesta de error
- POST
-
Resumen: Crear un envío sin cotizar V2
Descripción:Crea un envío cotizando y generando la guía en la misma solicitud. A diferencia de V1, este endpoint siempre retorna un arreglo de envíos bajo la llave
data. Para envíos simples o multi-paquete el arreglo contiene un elemento. Para multi-envío (paqueterías sin soporte nativo de multi-paquete) el arreglo contiene un envío por paquete.Ejemplo de Cuerpo de Solicitud: Envío nacional (MX)
Content-Type: application/jsonObject:timeoutType: integerTiempo de espera en segundos.Example
8quotationObject:printing_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
thermalcarrierObject:nameType: stringNombre de la paqueteríaExample
Nombre de la paquetería en minúsculaservice_nameType: stringNombre del servicioExample
Código del servicioaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeType: stringCódigo postal de la dirección.Example
68000area_level1Type: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2Type: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3Type: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeType: stringCódigo postal de la dirección.Example
68000area_level1Type: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2Type: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3Type: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:weightRequiredType: integerPeso del paqueteExample
5heightRequiredType: integerAltura del paqueteExample
5widthRequiredType: integerAncho del paqueteExample
5lengthRequiredType: integerLongitud del paqueteExample
5package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GEjemplo de Cuerpo de Solicitud: Envío internacional
Content-Type: application/jsonObject:timeoutType: integerTiempo de espera en segundos.Example
8quotationObject:customs_payment_payerRequiredType: stringEntidad que pagará los aranceles del envío. Puede ser `sender` o `recipient`.Example
sendershipment_purposeRequiredType: stringPropósito del envío (`goods`, `documents`, `sample`, `return_of_goods`, `gift` o `humanitarian_donation`).Example
goodsprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
standardcarrierObject:nameType: stringNombre de la paqueteríaExample
Nombre de la paquetería en minúsculaservice_nameType: stringNombre del servicioExample
Código del servicioaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
MXpostal_codeRequiredType: stringCódigo postal de la dirección.Example
68000area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Oaxacaarea_level2RequiredType: stringCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3RequiredType: stringBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcountry_codeRequiredType: stringCódigo de país de la dirección (ISO 3166-1 alpha-2).Example
USpostal_codeRequiredType: stringCódigo postal de la dirección.Example
33326area_level1RequiredType: stringEstado, provincia o departamento de la dirección.Example
Floridaarea_level2RequiredType: WestonCiudad o municipio de la dirección.Example
Oaxaca de Juárezarea_level3RequiredType: WestonBarrio o colonia de la dirección.Example
Oaxaca centronameType: stringNombre completo del remitente.Example
John Doestreet1Type: stringCalle y número de la dirección.Example
Calle ExamplecompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Bartfurther_informationType: stringInformación adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.Example
Dejar con el vecinotax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789parcelsRequiredArray of:Object:weightRequiredType: integerPeso del paqueteExample
5heightRequiredType: integerAltura del paqueteExample
5widthRequiredType: integerAncho del paqueteExample
5lengthRequiredType: integerLongitud del paqueteExample
5package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsRequiredArray of:Object:nameRequiredType: stringNombre del productoExample
Producto 1description_enRequiredType: stringDescripción en inglésExample
Product descriptionquantityType: integerCantidadExample
1priceType: numberPrecio en pesos mexicanosExample
100.0skuType: stringSKUExample
SKU-123hs_codeRequiredType: stringCódigo HarmonizadoExample
9706.900060hs_code_descriptionType: stringDescripción del código HarmonizadoExample
Descripción del HS Codeproduct_type_codeType: stringCódigo de tipo de productoExample
Pproduct_type_nameType: stringNombre del tipo de productoExample
Productocountry_codeType: stringCódigo de país en ISO 3166-1 alpha-2Example
MX -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v2/rate/shipments' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 202Descripción:Retorna un arreglo de envíos creados
Esquema:{ "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "id", "status", "rate", "packages" ], "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "master_tracking_number": { "type": "string", "nullable": true }, "label_url": { "type": "string", "nullable": true }, "rate": { "type": "object", "required": [ "success", "id", "provider_name", "provider_display_name", "provider_service_name", "provider_service_code", "status", "currency_code", "amount", "total", "days", "insurable", "has_own_agreement", "extra_fees", "packaging_type", "weight", "protection_value_total", "total_value_with_protection", "pickup", "pickup_automatic", "pickup_package_min", "pickup_ocurre", "pickup_via_support", "shipment_creation_type" ], "properties": { "success": { "type": "boolean" }, "id": { "type": "string", "format": "uuid" }, "rate_type": { "type": "string", "nullable": true }, "provider_name": { "type": "string" }, "provider_display_name": { "type": "string" }, "provider_service_name": { "type": "string" }, "provider_service_code": { "type": "string" }, "status": { "type": "string" }, "currency_code": { "type": "string" }, "amount": { "type": "string" }, "total": { "type": "string" }, "days": { "type": "integer" }, "insurable": { "type": "boolean" }, "has_own_agreement": { "type": "boolean" }, "own_agreement_amount": { "type": "string", "nullable": true }, "extra_fees": { "type": "array", "items": { "type": "object" } }, "zone": { "type": "string", "nullable": true }, "service_zone": { "type": "string", "nullable": true }, "vat_fee": { "type": "string", "nullable": true }, "country_code": { "type": "string", "nullable": true }, "plan_type": { "type": "string", "nullable": true }, "packaging_type": { "type": "string" }, "error_messages": { "type": "array", "nullable": true, "items": { "type": "string" } }, "weight": { "type": "string" }, "protection_value_total": { "type": "string" }, "total_value_with_protection": { "type": "number", "format": "float" }, "pickup": { "type": "boolean" }, "pickup_automatic": { "type": "boolean" }, "pickup_package_min": { "type": "integer" }, "pickup_ocurre": { "type": "boolean" }, "pickup_via_support": { "type": "boolean" }, "shipment_creation_type": { "type": "string" }, "requires_origin_verification": { "type": "boolean" }, "import_duty_amount": { "type": "number", "nullable": true }, "customs_payment_payer": { "type": "array", "nullable": true, "items": { "type": "string", "enum": [ "sender", "recipient" ] } } } }, "error_message_detail": { "type": "string", "nullable": true }, "packages": { "type": "array", "items": { "type": "object" } } } } } } }Ejemplo:{ "data": [ { "id": "73783895-147e-40f6-83d8-5f901d71a1a3", "status": "success", "master_tracking_number": "1234567890", "label_url": "https://label.com", "rate": { "success": false, "id": "38ed719c-6a21-4b15-9ef3-d2bdce374018", "rate_type": "standard", "provider_name": "medrano santillán s.r.l chad", "provider_display_name": "Ups", "provider_service_name": "Medrano Santillán S.R.L Chad Bronze", "provider_service_code": "MEDRANO_SANTILLAN_S_R_L_CHAD_BRONZE", "status": "pending", "currency_code": "MXN", "amount": "9.99", "total": "100", "days": 1, "insurable": false, "has_own_agreement": false, "own_agreement_amount": "50.00", "extra_fees": [], "zone": "example_zone", "service_zone": "example_service_zone", "vat_fee": "example_vat_fee", "country_code": "MX", "plan_type": "example_plan_type", "packaging_type": "package", "error_messages": [ "example_error_messages" ], "weight": "0.0", "protection_value_total": "0.0", "total_value_with_protection": 0.0, "pickup": false, "pickup_automatic": false, "pickup_package_min": 1, "pickup_ocurre": false, "pickup_via_support": false, "shipment_creation_type": "single", "requires_origin_verification": false, "import_duty_amount": 935, "customs_payment_payer": [ "sender", "recipient" ] }, "error_message_detail": "Invalid token", "packages": [] } ] }
- POST
-
Resumen: Crea un envío V2
Descripción:Este endpoint permite crear un envío usando una cotización creada previamente (POST /api/v1/quotations o POST /api/v2/quotations). A diferencia de V1, este endpoint siempre retorna un arreglo de envíos. Para envíos únicos o multipaquete, el arreglo contiene un elemento. Para tarifas multienvío, el arreglo contiene un envío por paquete.
Ejemplo de Cuerpo de Solicitud: Envío nacional (MX)
Content-Type: application/jsonObject:shipmentObject:rate_idRequiredType: stringId único del precio obtenido al consultar la cotización (GET /api/v1/quotations/{id}).Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxunique_shipmentType: booleanOpcional. Cuando es true, el sistema cachea la respuesta para el rate_id y la replica en reintentos con el mismo rate_id, evitando envíos duplicados. Devuelve 200 OK con el payload original en replay, 409 Conflict si una solicitud previa aún está en proceso. El cache vive 96 horas, alineado al ciclo de vida del rate_id.original_shipment_idType: stringID del envío original.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
thermaladdress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Calle ExamplenameRequiredType: stringNombre completo del remitente.Example
Homero SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Avenida ExamplenameRequiredType: stringNombre completo del destinatario.Example
Bart SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Barttax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789packagesRequiredArray of:Object:package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsArray of:Object:product_idType: stringID del productoExample
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxnameType: stringNombre del productoExample
Producto 1description_enType: stringDescripción en inglésExample
Product descriptionquantityType: integerCantidadExample
1priceType: numberPrecio en pesos mexicanosExample
100.0skuType: stringSKUExample
SKU-123hs_codeType: stringCódigo HarmonizadoExample
9706.900060hs_code_descriptionType: stringDescripción del código HarmonizadoExample
Descripción del HS Codeproduct_type_codeType: stringCódigo de tipo de productoExample
Pproduct_type_nameType: stringNombre del tipo de productoExample
Productocountry_codeType: stringCódigo de país en ISO 3166-1 alpha-2Example
MXEjemplo de Cuerpo de Solicitud: Envío internacional
Content-Type: application/jsonObject:shipmentObject:rate_idRequiredType: stringId único del precio obtenido al consultar la cotización (GET /api/v1/quotations/{id}).Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxunique_shipmentType: booleanOpcional. Cuando es true, el sistema cachea la respuesta para el rate_id y la replica en reintentos con el mismo rate_id, evitando envíos duplicados. Devuelve 200 OK con el payload original en replay, 409 Conflict si una solicitud previa aún está en proceso. El cache vive 96 horas, alineado al ciclo de vida del rate_id.customs_payment_payerRequiredType: stringEntidad que pagará los aranceles del envío. Puede ser `sender` o `recipient`.Example
sendershipment_purposeRequiredType: stringPropósito del envío (`goods`, `documents`, `sample`, `return_of_goods`, `gift` o `humanitarian_donation`).Example
goodsprinting_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
standardaddress_fromRequiredObject:address_template_idType: stringID de una plantilla de dirección de origen previamente guardada. Si se proporciona, rellena los campos no enviados en address_from y vincula la plantilla al envío para validar su verificación por carrier.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Calle ExamplenameRequiredType: stringNombre completo del remitente.Example
Homero SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Acme INCphoneRequiredType: stringNúmero de teléfono.Example
4434434445emailRequiredType: stringCorreo electrónico.Example
homero@simpson.comreferenceRequiredType: stringReferencia de la dirección.Example
Casa de Homerotax_id_numberType: stringNúmero de identificación fiscal del remitente.Example
XAXX010101000address_toRequiredObject:address_template_idType: stringID de una plantilla de dirección de destino previamente guardada. Si se proporciona, rellena los campos no enviados en address_to.Example
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxstreet1RequiredType: stringCalle y número de la dirección.Example
Avenida ExamplenameRequiredType: stringNombre completo del destinatario.Example
Bart SimpsoncompanyRequiredType: stringNombre de la empresa.Example
Example Company LTDA.phoneRequiredType: stringNúmero de teléfono.Example
4434434444emailRequiredType: stringCorreo electrónico.Example
bart@simpson.comreferenceType: stringReferencia de la dirección.Example
Casa de Barttax_id_numberType: stringNúmero de identificación fiscal del destinatario.Example
123456789packagesRequiredArray of:Object:package_numberType: stringNúmero de índice del paquete cotizado.Example
1package_protectedType: booleanSi tiene seguro se pone true, si no tiene agrega false.Example
truedeclared_valueType: numberSi tiene seguro se pone el valor a asegurar, ejemplo 500. El valor está en pesos mexicanos.Example
2500.0consignment_noteType: stringCarta porte IDExample
53102400package_typeType: stringTipo de paqueteExample
4GproductsArray of:Object:nameType: stringNombre del productoExample
Moldes dentales - USAskuType: stringSKUExample
SKU-1product_type_codeType: stringCódigo de tipo de productoExample
42152400product_type_nameType: stringNombre del tipo de productoExample
Materiales dentales -
Respuestas:
curl -X POST 'https://pro.skydropx.com/api/v2/shipments' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 202Descripción:Retorna un arreglo de envíos creados
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío\n" }, "type": { "type": "string", "description": "Tipo de envío\n" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del envío\n" }, "carrier_name": { "type": "string", "description": "Nombre de la paquetería\n" }, "workflow_status": { "type": "string", "description": "Estado del envío\n" }, "payment_status": { "type": "string", "description": "Estado del pago\n" }, "total": { "type": "string", "description": "Costo total del envío\n" }, "source": { "type": "string", "description": "Origen del envío (Api `api`)\n" }, "carrier_id": { "type": "string", "nullable": true, "description": "UUID de la paquetería\n" }, "service_id": { "type": "string", "nullable": true, "description": "UUID del servicio\n" }, "master_tracking_number": { "type": "string", "nullable": true, "description": "Número de rastreo\n" }, "original_shipment_id": { "type": "string", "nullable": true, "description": "ID del envío original.\n" }, "created_at": { "type": "string", "description": "Fecha de creación\n" }, "updated_at": { "type": "string", "description": "Fecha de actualización\n" }, "error_detail": { "type": "object", "nullable": true, "description": "Detalles del error cuando el envío falla\n", "properties": { "error_code": { "type": "string", "nullable": true }, "error_message": { "type": "string", "nullable": true }, "error_message_detail": { "type": "string", "nullable": true } } } } }, "relationships": { "type": "object", "properties": { "packages": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } }, "address_from": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } }, "address_to": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } }, "included": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID del paquete\n" }, "package_type": { "type": "string", "description": "Tipo de paquete\n" }, "weight": { "type": "string", "description": "Peso del paquete\n" }, "length": { "type": "string", "description": "Longitud del paquete\n" }, "width": { "type": "string", "description": "Ancho del paquete\n" }, "height": { "type": "string", "description": "Altura del paquete\n" }, "consignment_note": { "type": "string", "description": "Carta porte ID\n" }, "package_content": { "type": "string", "nullable": true }, "tracking_url_provider": { "type": "string", "nullable": true, "description": "URL de seguimiento\n" }, "tracking_status": { "type": "string", "nullable": true, "description": "Estado de seguimiento\n" }, "tracking_number": { "type": "string", "nullable": true, "description": "Número de seguimiento\n" }, "label_url": { "type": "string", "nullable": true, "description": "URL de la guía\n" }, "created_at": { "type": "string", "description": "Fecha de creación\n" }, "updated_at": { "type": "string", "description": "Fecha de actualización\n" } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } }, { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "string", "description": "UUID de la dirección\n" }, "area_level1": { "type": "string", "description": "Estado, provincia o departamento de la dirección\n" }, "area_level2": { "type": "string", "description": "Ciudad o municipio de la dirección\n" }, "name": { "type": "string", "description": "Nombre del destinatario o remitente\n" }, "postal_code": { "type": "string", "description": "Código postal de la dirección\n" }, "country_code": { "type": "string", "description": "Código de país de la dirección\n" }, "address_type": { "type": "string", "description": "Tipo de dirección\n" }, "street1": { "type": "string", "description": "Calle y número de la dirección\n" }, "company": { "type": "string", "description": "Nombre de la empresa\n" }, "phone": { "type": "string", "description": "Número de teléfono\n" }, "email": { "type": "string", "description": "Correo electrónico\n" }, "reference": { "type": "string", "description": "Referencia de la dirección\n" }, "area_level3": { "type": "string", "description": "Barrio o colonia de la dirección\n" }, "apartment_number": { "type": "string", "nullable": true, "description": "Número de departamento\n" }, "further_information": { "type": "string", "nullable": true, "description": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.\n" }, "tax_id_number": { "type": "string", "nullable": true }, "tax_id_type": { "type": "string", "nullable": true } } }, "relationships": { "type": "object", "properties": { "shipment": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } } } } } } } } ] } } } }Ejemplo:{ "data": [ { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "type": "Tipo de envío\n", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "carrier_name": "fedex", "workflow_status": "pending", "payment_status": "paid", "total": "38.20", "source": "api", "carrier_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "service_id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "master_tracking_number": "1234567890", "original_shipment_id": "0199977a-e032-78bf-a335-00a9ae3cfdff", "created_at": "Fecha de creación\n", "updated_at": "Fecha de actualización\n", "error_detail": { "error_code": "ERR_INVALID_ADDRESS", "error_message": "La dirección de destino no es válida", "error_message_detail": "Token no válido" } }, "relationships": { "packages": { "data": [ { "id": "example_id", "type": "example_type" } ] }, "address_from": { "data": { "id": "example_id", "type": "example_type" } }, "address_to": { "data": { "id": "example_id", "type": "example_type" } } } } ], "included": [ { "oneOf": [ { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "package_type": "4G", "weight": 1, "length": 1, "width": 1, "height": 1, "consignment_note": 53102400, "package_content": "example_package_content", "tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=234234234233", "tracking_status": "created", "tracking_number": 123123123123, "label_url": "https://label.com", "created_at": "Fecha de creación\n", "updated_at": "Fecha de actualización\n" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } }, { "id": "example_id", "type": "example_type", "attributes": { "id": "0ac5adcc-a13d-427d-81dd-9ddd70b2f660", "area_level1": "Ciudad de México", "area_level2": "Venustiano Carranza", "name": "Juan", "postal_code": "15400", "country_code": "MX", "address_type": "to", "street1": "Persia 143", "company": "Company name", "phone": "3453453453453", "email": "juan@mail.com", "reference": "porton", "area_level3": "Romero rubio", "apartment_number": "Número de departamento\n", "further_information": "Información adicional para la entrega (máximo 70 caracteres). Se imprime en la guía cuando está habilitado para la paquetería.\n", "tax_id_number": "XAXX010101000", "tax_id_type": "rfc" }, "relationships": { "shipment": { "data": { "id": "example_id", "type": "example_type" } } } } ] } ] }Código: 422Descripción:Fondos insuficientes
Esquema:{ "type": "object", "required": [ "errors" ], "properties": { "errors": { "type": "string", "additionalProperties": true } } }Ejemplo:{ "errors": "Fondos insuficientes" }
Opciones de impresión
- PATCH
-
Resumen: Actualiza el formato de impresión
Descripción:Establece el formato de impresión según el tipo de impresora que se utilice.
Ejemplo de Cuerpo de Solicitud:
Content-Type: application/jsonObject:printing_formatType: stringFormato de impresión de la guía, puede ser `standard` o `thermal`.Example
standard -
Respuestas:
curl -X PATCH 'https://pro.skydropx.com/api/v1/settings/printing_formats' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 202Descripción:Solicitud aceptada.
Código: 422Descripción:Solicitud inválida.
Esquema:{ "type": "object", "properties": { "errors": { "type": "array" } } }Ejemplo:{ "errors": "Formato de impresión inválido" }
Movimientos
- GET
-
Resumen: Obtener lista de movimientos
Descripción:GET /api/v1/transaction_statsEl endpoint de movimientos sirve para consultar el historial de transacciones de la cuenta.
Parámetros de la solicitud:
Parámetros:
page query
Número de página a recuperar
Type: integerExample1sort query
Orden de resultados por fecha de transacción (asc o desc)
Type: stringExample"desc"kind query
Tipo de movimiento (deposit, withdrawal, refund, all)
Type: stringExample"deposit"date_from query
Fecha de inicio del rango (formato ISO 8601)
Type: stringExample"2024-01-01"date_to query
Fecha de fin del rango (formato ISO 8601)
Type: stringExample"2024-12-31"search query
Búsqueda por referencia, número de rastreo, tipo o monto
Type: stringExample"REF-001" -
Respuestas:
curl -X GET 'https://pro.skydropx.com/api/v1/transaction_stats' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{BEARER_TOKEN}}'Código: 200Descripción:Devuelve una lista de movimientos
Esquema:{ "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "ID interno del movimiento" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": { "type": "integer", "description": "ID interno del movimiento" }, "transaction_reference": { "type": "string", "nullable": true, "description": "Referencia única de la transacción" }, "transaction_kind": { "type": "string", "description": "Tipo de movimiento (deposit, withdrawal, refund)" }, "transaction_amount": { "type": "string", "nullable": true, "description": "Monto de la transacción" }, "transaction_status": { "type": "string", "nullable": true, "description": "Estado de la transacción (completed, disputed, error)" }, "transaction_source": { "type": "string", "nullable": true, "description": "Origen de la transacción" }, "transaction_comments": { "type": "string", "nullable": true, "description": "Comentarios de la transacción" }, "transaction_created_at": { "type": "string", "nullable": true, "description": "Fecha de creación de la transacción" }, "transaction_updated_at": { "type": "string", "nullable": true, "description": "Fecha de última actualización de la transacción" }, "transaction_exported": { "type": "boolean", "nullable": true, "description": "Indica si la transacción fue exportada" }, "transaction_invoiceable": { "type": "boolean", "nullable": true, "description": "Indica si la transacción es facturable" }, "transaction_tag_name": { "type": "string", "nullable": true, "description": "Etiqueta asociada a la transacción" }, "transaction_shipkraken_reference": { "type": "string", "nullable": true, "description": "Referencia externa en Shipkraken" }, "transactionable_type": { "type": "string", "nullable": true, "description": "Tipo de entidad relacionada al movimiento" }, "shipment_carrier_name": { "type": "string", "nullable": true, "description": "Nombre de la paquetería del envío relacionado" }, "shipment_carrier_service": { "type": "string", "nullable": true, "description": "Servicio de la paquetería" }, "shipment_tracking_number": { "type": "string", "nullable": true, "description": "Número de rastreo del envío" }, "shipment_user_email": { "type": "string", "nullable": true, "description": "Email del usuario que generó el envío" }, "shipment_user_name": { "type": "string", "nullable": true, "description": "Nombre del usuario que generó el envío" }, "shipment_multi_package": { "type": "boolean", "nullable": true, "description": "Indica si el envío tiene múltiples paquetes" }, "merchant_store_name": { "type": "string", "nullable": true, "description": "Nombre de la tienda asociada al movimiento" } } } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "next_page": { "type": "integer", "nullable": true }, "prev_page": { "type": "integer", "nullable": true }, "total_pages": { "type": "integer" }, "total_count": { "type": "integer" } } } } }Ejemplo:{ "data": [ { "id": "765", "type": "transaction_stat", "attributes": { "id": 765, "transaction_reference": "0f43b81bdbcfe536", "transaction_kind": "deposit", "transaction_amount": "300.0", "transaction_status": "completed", "transaction_source": "api", "transaction_comments": "Recarga de saldo", "transaction_created_at": "2024-01-15T10:30:00.000-06:00", "transaction_updated_at": "2024-01-15T10:30:00.000-06:00", "transaction_exported": true, "transaction_invoiceable": false, "transaction_tag_name": "COMP1", "transaction_shipkraken_reference": "Referencia externa en Shipkraken", "transactionable_type": "Shipment", "shipment_carrier_name": "Fedex", "shipment_carrier_service": "Fedex Express", "shipment_tracking_number": "123456789", "shipment_user_email": "usuario@ejemplo.com", "shipment_user_name": "Juan Pérez", "shipment_multi_package": false, "merchant_store_name": "mi_tienda" } } ], "meta": { "current_page": 1, "next_page": 2, "total_pages": 11, "total_count": 207 } }
Webhooks
- Contener entre 3 y 25 caracteres.
- No incluir espacios.
1. Autenticación con Bearer Token (menos segura):
Authorization: Bearer <token> (token proporcionado por nosotros)
Content-Type: application/json
2. Autenticación HMAC (recomendada):
Authorization: HMAC <firma>
Content-Type: application/json
La firma se genera utilizando el algoritmo HMAC con la función hash SHA-512, como se define en el RFC 6234, usando tu clave secreta. El HMAC se calcula sobre el cuerpo crudo de la solicitud (bytes exactos, sin formato) y se codifica como una cadena hexadecimal en minúsculas.
• Ejemplo de envíos con orden:
{
"data": {
"id": "6172eb82-7b0b-4852-9954-b1ac1c20e4f8",
"type": "packages",
"attributes": {
"status": "delivered",
"tracking_number": "794874381730",
"tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=794874381730",
"label_url": "https://api.example.com/cloud/storage/blobs/proxy/30a9d3/label_794874381730.pdf"
},
"relationships": {
"shipment": {
"data": {
"id": "93774c22-8275-4757-9963-71b79b2e8db7",
"type": "shipments"
},
"links": {
"related": "https://api.example.com/api/v1/shipments/93774c22-8275-4757-9963-71b79b2e8db7"
}
},
"order": {
"data": {
"id": "41ae1bf9-bccf-47dd-ba85-053b42f530c2",
"type": "orders"
},
"links": {
"related": "https://api.example.com/api/v1/orders/41ae1bf9-bccf-47dd-ba85-053b42
}
}
}
}
}
• Ejemplo de envíos sin orden:
{
"data": {
"id": "6172eb82-7b0b-4852-9954-b1ac1c20e4f8",
"type": "packages",
"attributes": {
"status": "delivered",
"tracking_number": "794874381730",
"tracking_url_provider": "https://www.fedex.com/fedextrack/?trknbr=794874381730",
"label_url": "https://api.example.com/cloud/storage/blobs/proxy/30a9d3/label_794874381730.pdf"
},
"relationships": {
"shipment": {
"data": {
"id": "93774c22-8275-4757-9963-71b79b2e8db7",
"type": "shipments"
},
"links": {
"related": "https://api.example.com/api/v1/shipments/93774c22-8275-4757-9963-71b79b2e8db7"
}
}
}
}
}
• Ejemplo de órdenes:
{
"data": {
"id": "1f92595c-1ba5-40f8-a52b-4788db608293",
"type": "orders",
"attributes": {
"status": "sent",
"platform": "shopify",
"platform_id": "69b24c26-00f0-4099-90cc-a5c8b26d9bfa",
"ecommerce_id: "2d3afffd-ce69-4aa5-ae80-549487d8d5c5",
"price": 10_000,
"payment_status": 'paid'
},
"links": {
"self": "https://api.example.com/api/v1/orders/1f92595c-1ba5-40f8-a52b-4788db608293"
}
}
}
• Ejemplo de cotización:
{
"data": {
"id": "dde96439-67a9-41ec-90ed-af7f4ca2cec9",
"type": "quotation",
"attributes": {
"status": "completed",
"country_code_from": "MX",
"postal_code_from": "25904",
"area_level3_from": "Portales",
"area_level2_from": "Ramos Arizpe",
"area_level1_from": "Coahuila de Zaragoza",
"name_from": "Skydropx",
"email_from": "soporte@skydropx.com",
"phone_from": "8341713030",
"street1_from": "Calle",
"reference_from": "Sin referencias",
"company_from": "Skydropx",
"apartment_number_from": null,
"country_code_to": "MX",
"postal_code_to": "64000",
"area_level3_to": "Monterrey Centro",
"area_level2_to": "Monterrey",
"area_level1_to": "Nuevo León",
"name_to": "Skydropx",
"email_to": "soporte@skydropx.com",
"phone_to": "8341713030",
"street1_to": "Calle",
"reference_to": "Sin referencias",
"company_to": "Skydropx",
"apartment_number_to": null
},
"relationships": {
"rates": {
"data": [
{
"id": "4c02c346-0b66-46f3-9c2a-ec98eec56aa4",
"type": "rate"
},
{
"id": "938f6079-e608-4baa-b9b5-8be7f4de0535",
"type": "rate"
},
{
"id": "767612b3-9124-4388-889d-451cbba9dd68",
"type": "rate"
}
]
},
"packages": {
"data": [
{
"id": "5beefc46-352d-47d9-9856-2d3e2ec0f52a",
"type": "package"
}
]
}
},
"links": {
"self": "https://api.example.com/api/v1/quotations/dde96439-67a9-41ec-90ed-af7f4ca2cec9"
}
},
"included": [
{
"id": "4c02c346-0b66-46f3-9c2a-ec98eec56aa4",
"type": "rate",
"attributes": {
"success": false,
"rate_type": null,
"provider_name": "fedex",
"provider_display_name": "FedEx",
"provider_service_name": "Express Saver",
"provider_service_code": "fedex_express_saver",
"status": "not_applicable",
"currency_code": null,
"cost": null,
"amount": null,
"total": null,
"days": null,
"insurable": null,
"has_own_agreement": false,
"own_agreement_amount": null,
"extra_fees": null,
"zone": null,
"country_code": null,
"plan_type": null,
"packaging_type": "package",
"weight": 5
},
"relationships": {
"quotation": {
"data": {
"id": "dde96439-67a9-41ec-90ed-af7f4ca2cec9",
"type": "quotation"
},
"links": {
"related": "https://api.example.com/api/v1/quotations/dde96439-67a9-41ec-90ed-af7f4ca2cec9"
}
}
}
},
{
"id": "938f6079-e608-4baa-b9b5-8be7f4de0535",
"type": "rate",
"attributes": {
"success": true,
"rate_type": "default",
"provider_name": "sendex",
"provider_display_name": "Sendex",
"provider_service_name": "Sin recoleccion",
"provider_service_code": "sin_recoleccion",
"status": "price_found_external",
"currency_code": "MXN",
"cost": "74.3",
"amount": "106.19",
"total": "106.19",
"days": 1,
"insurable": null,
"has_own_agreement": false,
"own_agreement_amount": null,
"extra_fees": [],
"zone": "3",
"country_code": "MX",
"plan_type": null,
"packaging_type": "package",
"error_messages": {},
"weight": 5
},
"relationships": {
"quotation": {
"data": {
"id": "dde96439-67a9-41ec-90ed-af7f4ca2cec9",
"type": "quotation"
},
"links": {
"related": "https://api.example.com/api/v1/quotations/dde96439-67a9-41ec-90ed-af7f4ca2cec9"
}
}
}
},
{
"id": "767612b3-9124-4388-889d-451cbba9dd68",
"type": "rate",
"attributes": {
"success": true,
"rate_type": "default",
"provider_name": "dhl",
"provider_display_name": "DHL",
"provider_service_name": "Standard",
"provider_service_code": "standard",
"status": "price_found_external",
"currency_code": "MXN",
"cost": "153.54",
"amount": "228.11",
"total": "246.74",
"days": 1,
"insurable": null,
"has_own_agreement": false,
"own_agreement_amount": null,
"extra_fees": [
{
"code": "FUEL_SURCHARGE_FEE",
"value": 18.63,
"currency_code": "MXN"
}
],
"zone": "flat",
"country_code": "MX",
"plan_type": null,
"packaging_type": "package",
"error_messages": {},
"weight": 5
},
"relationships": {
"quotation": {
"data": {
"id": "dde96439-67a9-41ec-90ed-af7f4ca2cec9",
"type": "quotation"
},
"links": {
"related": "https://api.example.com/api/v1/quotations/dde96439-67a9-41ec-90ed-af7f4ca2cec9"
}
}
}
},
{
"id": "5beefc46-352d-47d9-9856-2d3e2ec0f52a",
"type": "package",
"attributes": {
"package_number": 1,
"weight": "5.0",
"length": "7.0",
"width": "7.0",
"height": "7.0"
}
}
]
}
• Ejemplo de tarifas:
{
"data": {
"id": "ab85cf5a-0129-42ea-9e6a-cc50cb19d99b",
"type": "rate",
"attributes": {
"success": true,
"rate_type": "default",
"provider_name": "sendex",
"provider_display_name": "Sendex",
"provider_service_name": "Reg",
"provider_service_code": "reg",
"status": "price_found_external",
"currency_code": "MXN",
"cost": "74.3",
"amount": "106.19",
"total": "106.19",
"days": 1,
"insurable": null,
"has_own_agreement": false,
"own_agreement_amount": null,
"extra_fees": [],
"zone": "3",
"country_code": "MX",
"plan_type": null,
"packaging_type": "package",
"error_messages": {},
"weight": 5
},
"relationships": {
"quotation": {
"data": {
"id": "76b094f9-0e15-4505-8a45-948931baf847",
"type": "quotation"
},
"links": {
"related": "http://skydropx.localhost.skydropx:3000/api/v1/quotations/76b094f9-0e15-4505-8a45-948931baf847"
}
}
}
}
}
• Ejemplo de cargos extra (Aplica para todos los tipos, metadatos pueden variar):
{
"data": {
"id": "ec12345-abcd-4567-8901-23456789abcd",
"type": "extra_charges",
"attributes": {
"status": "pending_payment",
"carrier": "FedEx",
"service": "Standard Overnight",
"tracking_number": "794874381730",
"label_date": "2024-02-27T00:00:00-06:00",
"detection_date": "2024-02-27T14:30:00-06:00",
"amount": "125.50",
"charge_type": "ExtraCharge::AddressUpdate",
"metadata": {
"overweight": "2.0",
"real_width": "10.0",
"real_height": "10.0",
"real_length": "10.0",
"real_weight": "4.0",
"quotation_id": "88352d20-3ee6-4ea0-bdb3-bd26d9cfba1e",
"original_weight": "2.0",
"quotation_status": "coverage_found",
"discrepancy_weight": "2.0",
"last_quotation_try_at": "2026-02-17T16:59:09.944-06:00",
"real_volumetric_weight": "1.0"
}
},
"relationships": {
"shipment": {
"data": {
"id": "93774c22-8275-4757-9963-71b79b2e8db7",
"type": "shipments"
},
"links": {
"related": "https://api.example.com/api/v1/shipments/93774c22-8275-4757-9963-71b79b2e8db7"
}
}
}
}
}
• Ejemplo de recolecciones:
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "pickups",
"attributes": {
"status": "scheduled",
"tracking_number": "794874381730",
"folio": "987654321",
"carrier": "FedEx",
"updated_at": "2026-04-29T12:00:00-06:00"
},
"links": {
"self": "https://api.example.com/api/v1/pickups/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}
1. Autenticación con Bearer Token
Utiliza el token estático proporcionado para una autenticación sencilla (menos segura).
2. Autenticación HMAC (Recomendada)
- Crear la cadena de firma: raw_request_body.
- Calcular HMAC-SHA512 utilizando tu clave secreta.
- Enviar la firma en el encabezado Authorization.
- Envíos: Documentación de envíos
- Órdenes: Documentación de órdenes
1. Para autenticación con Bearer Token:
- Trata el token como credenciales sensibles.
- Rota los tokens periódicamente.
- Valida todas las solicitudes entrantes antes de procesarlas.
2. Para autenticación HMAC:
- Almacena tu clave secreta de forma segura.
Errores
Información sobre los tipos de errores que puede devolver la API y sus códigos correspondientes.
Estructura de Ejemplo
Todos los errores de la API siguen esta estructura JSON:
{
"error": "invalid_request",
"error_description": "El contenido de la solicitud no es válido"
}
Los campos 'error' y 'error_description' proporcionan información detallada sobre el problema encontrado.
Códigos de Error
La siguiente tabla muestra todos los códigos de error posibles, sus estados HTTP asociados y descripciones:
| Código | Estado HTTP | Descripción |
|---|---|---|
bad_request
|
400 | Credenciales faltantes |
bad_request
|
400 | Processing error occurred |
bad_request
|
400 | Retorna una respuesta de error |
bad_request
|
400 | Retorna una respuesta de error (solicitud incorrecta) |
unauthorized
|
401 | Credenciales inválidas |
unauthorized
|
401 | Parámetros inválidos |
unauthorized
|
401 | Unauthorized request with invalid token |
forbidden
|
403 | Cliente no autorizado |
forbidden
|
403 | Prohibido |
not_found
|
404 | Cotización no encontrada |
not_found
|
404 | Dirección no encontrada |
not_found
|
404 | Envío no encontrado |
not_found
|
404 | Este número de guía no cuenta con eventos de rastreo |
error
|
404 | Headquarters not found |
not_found
|
404 | Merchant store not found |
not_found
|
404 | Orden no encontrada |
not_found
|
404 | Recolección no encontrada |
not_found
|
404 | Recurso no encontrado |
not_found
|
404 | Retorna un mensaje de no encontrado |
not_found
|
404 | Tarifa condicional no encontrada |
unprocessable_entity
|
422 | All records failed to process |
error
|
422 | Batch limit exceeded |
unprocessable_entity
|
422 | El envío no se puede cancelar |
unprocessable_entity
|
422 | El envío no se puede proteger |
unprocessable_entity
|
422 | Entidad no procesable |
unprocessable_entity
|
422 | Error de validación de tarifa condicional |
unprocessable_entity
|
422 | Fondos insuficientes |
unprocessable_entity
|
422 | La orden no puede ser actualizada |
unprocessable_entity
|
422 | No se pudo eliminar la tarifa condicional |
unprocessable_entity
|
422 | Retorna una respuesta de error |
unprocessable_entity
|
422 | Solicitud inválida |
unprocessable_entity
|
422 | Solicitud inválida. |
unprocessable_entity
|
422 | Unable to release synchronization lock |
too_many_requests
|
429 | Batch size exceeded |
Información Adicional
- Todos los errores incluyen un código único y una descripción detallada.
- Los códigos de estado HTTP siguen los estándares REST estándar.
- Use el campo 'error' para identificar programáticamente el tipo de error.
Consola de pruebas
Vista previa del generador de tokens y formulario de pruebas.
Inicia sesión para empezar las pruebas.
Iniciar sesión