Conexión de API de transportista personalizada
Last updated
ChannelDock ofrece una amplia gama de integraciones de transportistas preconfiguradas que vendedores y centros de fulfillment pueden usar de inmediato. Sin embargo, no es viable para nosotros crear una conexión con cada plataforma de transportistas; por ello hemos desarrollado un conjunto de API que le permiten, como transportista, crear métodos de envío en ChannelDock para un vendedor o centro de fulfillment específico.
Esta guía describe los pasos que debe seguir para completar esta integración.
Step 1:
Genere credenciales API:
- Seller: https://channeldock.com/portal/public/settings/api_keys
- Fulfillment center: https://channeldock.com/portal/public/centersettings/api_keys
Step 2:
El siguiente paso es añadir en ChannelDock los métodos de envío que ofrece como transportista. Encontrará más información sobre el endpoint y la estructura JSON esperada aquí:
- Seller: API documentation
- Fulfillment center: API documentation
Step 3:
Cuando un usuario de ChannelDock intente crear una etiqueta de envío con sus métodos de envío, le enviaremos un objeto JSON con los datos del pedido y los detalles del método de envío seleccionado.
{
"order_id": 774,
"seller_id": 1223,
"center_id": 0,
"api_id": 456,
"api_description": "Bol.com - Main shop",
"channel_name": "Bol.com",
"remote_order_id": "ORD-2025-4055",
"order_date": "2025-05-13 08:49:28",
"ship_on_date": "2025-05-14",
"remote_carrier_id": "postnl_standard_001",
"carrier_code": "given carrier_code",
"sender_details": {
"name": "John Doe",
"company_name": "Doe Logistics BV",
"street": "Keizersgracht",
"address_line_2": "Suite 301",
"country": "NL",
"house_number": "241",
"zipcode": "1016 EA",
"city": "Amsterdam",
"state_province_code": "",
"phone_number": "+31 20 123 4567",
"email": "[email protected]",
"signature_full_name": "John Doe",
"signature_initials": "JD",
"vat_number": "NL123456789B01",
"eori_number": "NL123456789000"
},
"shipping_address1": "Keizersgracht 123",
"shipping_address2": "2nd floor",
"shipping_address_supplement": "Entrance via side door",
"shipping_city": "Amsterdam",
"shipping_company": "KiteGear BV",
"shipping_country_code": "NL",
"shipping_email": "[email protected]",
"shipping_first_name": "Emma",
"shipping_house_number": "123",
"shipping_house_number_ext": "B",
"shipping_last_name": "van Dijk",
"shipping_middle_name": null,
"shipping_region": "Noord-Holland",
"shipping_street": "Keizersgracht",
"shipping_zip_code": "1015 CJ",
"shipping_address_accurate": 1,
"shipping_phone_number": "+31 6 12345678",
"shipping_service": "",
"billing_address1": "Keizersgracht 123",
"billing_address2": "2nd floor",
"billing_address_supplement": "Finance dept.",
"billing_city": "Amsterdam",
"billing_company": "KiteGear BV",
"billing_country_code": "NL",
"billing_email": "[email protected]",
"billing_first_name": "Emma",
"billing_house_number": "123",
"billing_house_number_ext": "B",
"billing_last_name": "van Dijk",
"billing_middle_name": null,
"billing_region": "Noord-Holland",
"billing_street": "Keizersgracht",
"billing_zip_code": "1015 CJ",
"billing_address_accurate": 1,
"billing_phone_number": "+31 20 1234567",
"total_weight": 8.0,
"total_length": 80,
"total_width": 25,
"total_height": 25,
"total_order_price": 749.95,
"total_order_currency": "EUR",
"order_products": [
{
"order_product_id": 868,
"order_product_price": 699.95,
"order_product_price_currency": "EUR",
"ean": "8719326583655",
"sku": null,
"quantity": 1,
"product_title": "North Orbit Kite 2025 - 12m",
"product_weight": "5.00",
"product_length": 80,
"product_width": 25,
"product_height": 15,
"product_hs_code": "95062900",
"remote_order_product_id": "NL-PROD-001",
"product_origin_country_code": "NL"
},
{
"order_product_id": 869,
"order_product_price": 50.0,
"order_product_price_currency": "EUR",
"ean": "8719326583617",
"sku": "TSHIRT-BLACK-M",
"quantity": 1,
"product_title": "Mystic Kite Pump Pro",
"product_weight": "3.00",
"product_length": 40,
"product_width": 10,
"product_height": 10,
"product_hs_code": "84142080",
"remote_order_product_id": "NL-PROD-002",
"product_origin_country_code": "DE"
}
]
}
Al recibir estos datos, debe generar una etiqueta de envío PDF, codificarla en Base64 y devolver la siguiente respuesta:
{
"label_id": 99999, // Your internal label id
"carrier_code": "DHL",
"tracking_number": "DHL87623654234",
"tracking_number_url": "https://dhl.com/tracking?DHL87623654234",
"pdf_content_base64": "JVBERi0xLjQKJeLjzgo8PC9UeXBlL0NhdGFsb2cvUG..."
}
| Attribute | Description |
| label_id | El ID de etiqueta en su sistema. |
| carrier_code | El transportista que creó esta etiqueta (por ejemplo: DHL, PostNL, UPS). |
| tracking_number | El número de seguimiento del mismo transportista que creó la etiqueta. |
| tracking_number_url | El enlace para rastrear este envío con ese transportista. |
| pdf_content_base64 | El archivo PDF de la etiqueta como texto Base64 (tamaño de papel A6). |
ChannelDock imprimirá entonces la etiqueta PDF y enviará el número de seguimiento al canal de venta para procesar el pedido.
Error response - http code 400 range
{
"error": {
"message": "Human readable error explanation here"
}
}
Was this helpful?