Přejít na hlavní obsah
Běžný požadavek: dostat přepravní (trackovací) číslo zásilky do Base, aby ho Base mohlo předat zpátky zdroji objednávky (marketplace, e-shop). Existují dva základní přístupy a v praxi se často kombinují.

Přístup A — vlastní přepravní integrace, do Base jen zapsat číslo

Pokud štítek vytváříte mimo Base (vlastní napojení na GLS, DPD, ČP apod. ve vašem WMS), do Base jen zapíšete hotové trackovací číslo metodou createPackageManual.
ParametrTypPopis
order_idintID objednávky v Base.
courier_codevarchar(20)Kód dopravce ze seznamu getCouriersList, nebo vlastní název kurýra.
package_numbervarchar(40)Trackovací (přepravní) číslo zásilky.
pickup_dateint (unix)Datum odeslání.
return_shipmentboolNepovinné, výchozí false. Označí zásilku jako vratkovou.
{
  "order_id": 6910995,
  "courier_code": "dhl",
  "package_number": "622222044730624327700197",
  "pickup_date": 1487006161,
  "return_shipment": false
}
courier_code je důležitý i v tomto scénáři — díky němu Base ví, jakého dopravce jste použili, a může tuto informaci správně předat marketplace.

Přístup B — přepravní integrace přímo v Base

Používá se nejčastěji u kanálů s vlastní dopravou typu Allegro (Wysyłam z Allegro) nebo Alza Shipping. Předpokladem je mít danou přepravní integraci v Base připojenou a nakonfigurovanou. Pak potřebujete tři metody:
  1. createPackage — vytvoří samotný štítek u dopravce.
  2. getOrderPackages — načte ID jednotlivých štítků k objednávce. Potřeba jen u vícekusových zásilek; u jednokusové dostanete ID rovnou v odpovědi createPackage.
  3. getLabel — stáhne samotný štítek (base64, formát PDF/ZPL/EPL/DPL/HTML/GIF dle nastavení dopravce v Base).

createPackage — parametry

ParametrTypPopis
order_idintID objednávky.
courier_codevarchar(20)Kód dopravce. Pro Allegro dopravu vždy "allegrokurier".
account_idintNepovinné. ID konkrétního přepravního účtu (getCourierAccounts); pokud nevyplníte, použije se první nalezený.
fieldsarrayFormulářová pole konkrétního dopravce (getCourierFields / getCourierServices).
packagesarrayRozměry (cm) a hmotnost (kg) balíku/balíků. Pro více balíků přidejte další objekt do pole.
{
  "order_id": 123456789,
  "courier_code": "allegrokurier",
  "account_id": 12123,
  "return_shipment": false,
  "fields": [
    { "id": "courier", "value": "detect" },
    { "id": "insurance", "value": "276.76" },
    { "id": "package_type", "value": "PACKAGE" }
  ],
  "packages": [
    { "length": 20, "height": 10, "width": 30, "weight": 3 }
  ]
}
Pokud je zásilka na dobírku, musíte do fields přidat i {"id": "cod", "value": "123.40"} — pozor na desetinnou tečku, ne čárku.
Odpověď obsahuje package_id, package_number (trackovací číslo) a courier_inner_number.

getOrderPackages a getLabel

getOrderPackages
{ "order_id": "12345678" }
getLabel
{
  "courier_code": "allegrokurier",
  "package_id": 12345678
}
getLabel přijímá buď package_id, nebo package_number — stačí jedno z toho. V odpovědi je extension (pdf/html/gif/png/epl/zpl/dpl) a label jako base64.

Jak se číslo zásilky dostane zpátky do zdroje objednávky

Podle nastavení konkrétní integrace v Base se trackovací číslo předá zdroji objednávky buď:
  • okamžitě po přidání čísla, nebo
  • při přepnutí objednávky do konkrétního statusu — pozor, přenos neprobíhá instantně, ale v dávkách, typicky kolem 9:00, 10:00, 13:00, 16:00 a 23:00 (± pár minut). U Alza integrace navíc hraje roli nastavení uzávěrky (COT — cut-off time).

Mazání zásilky

Vytvořenou zásilku lze smazat metodou deleteCourierPackage. U Alza integrace ale platí přísné pravidlo: pokud už byl štítek odeslaný do Alzy (proběhl tzv. Shipment Departure), zásilku už nikdy nemažte — místo toho nastavte objednávce status Zamítnuto (viz Statusy). Mazání je bezpečné jen dokud štítek ještě nebyl do marketplace odeslán.
V praxi se oba přístupy často kombinují — vlastní integrace na standardní kurýry (GLS, DPD, PPL…) a Base integrace na marketplace-specifickou dopravu (Alza, Allegro).