Browse all articles

Connexion d'une API transporteur personnalisée

Last updated

ChannelDock propose un large éventail d’intégrations transporteur prêtes à l’emploi que les vendeurs et centres de fulfillment peuvent utiliser immédiatement. Cependant, il n’est pas réaliste pour nous de créer une connexion avec chaque plateforme transporteur ; nous avons donc développé un ensemble d’API qui vous permettent, en tant que transporteur, de créer des méthodes d’expédition dans ChannelDock pour un vendeur ou un centre de fulfillment spécifique.

Ce guide décrit les étapes à suivre pour finaliser cette intégration.

Step 1:
Générez des identifiants API :

Step 2:
L’étape suivante consiste à ajouter dans ChannelDock les méthodes d’expédition que vous proposez en tant que transporteur. Vous trouverez plus d’informations sur l’endpoint et la structure JSON attendue ici :

Step 3:
Lorsqu’un utilisateur ChannelDock tente de créer une étiquette d’expédition avec vos méthodes d’expédition, nous vous enverrons un objet JSON contenant les données de commande et les détails de la méthode d’expédition sélectionnée.

{  
  "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"  
    }  
  ]  
}

À réception de ces données, vous devez générer une étiquette d’expédition PDF, l’encoder en Base64 et renvoyer la réponse suivante :

{  
    "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 L’ID d’étiquette dans votre système.
carrier_code Le transporteur qui a créé cette étiquette (par exemple : DHL, PostNL, UPS).
tracking_number Le numéro de suivi du même transporteur qui a créé l’étiquette.
tracking_number_url Le lien pour suivre cette expédition avec ce transporteur.
pdf_content_base64 Le fichier PDF de l’étiquette en texte Base64 (format papier A6).

ChannelDock imprimera ensuite l’étiquette PDF et enverra le numéro de suivi au canal de vente pour traiter la commande.

Error response - http code 400 range

{  
  "error": {  
    "message": "Human readable error explanation here"  
  }  
}

Was this helpful?

Related articles