Přejít na hlavní obsah
getOrders je hlavní a nejpoužívanější metoda objednávkového API — stahuje objednávky z Base.com do vašeho systému.

Doporučený postup

  1. Nastavte počáteční datum a použijte ho v parametru date_confirmed_from (ne date_from — vysvětlení níže).
  2. Zpracujte všechny přijaté objednávky. Metoda vrací max. 100 objednávek na jedno volání — pokud jich dorazí přesně 100, pravděpodobně jich čeká víc.
  3. Při dalším volání použijte hodnotu date_confirmed z poslední stažené objednávky, navýšenou o 1 sekundu, jako nový date_confirmed_from. Tím zabráníte opakovanému stažení stejné objednávky.
  4. Opakujte, dokud nedostanete dávku s méně než 100 objednávkami — pak víte, že jste stáhli vše.
Klienti typicky tuto metodu volají periodicky, například jednou za 10 minut.
Ukládejte si vždy date_confirmed poslední zpracované objednávky, ne aktuální čas na vaší straně. Objednávka nemůže „naskočit” do databáze se starším datem potvrzení, než je aktuálně nejnovější — takže tímto postupem máte jistotu, že nic nepřeskočíte.

Proč date_confirmed_from, a ne date_from nebo id_from

Podrobné vysvětlení konceptu potvrzených/nepotvrzených objednávek je v Základních principech. Prakticky to znamená: pokud byste stahovali podle date_from (datum vytvoření) nebo id_from, hrozí, že objednávka potvrzená se zpožděním (třeba o dva dny) vám „propadne” mimo časové okno, které jste si už stáhli, a nikdy se k vám nedostane. Datum potvrzení je jediné pole, u kterého máte garanci, že se u starších objednávek zpětně nezmění na dřívější hodnotu.
Pokud opravdu potřebujete stahovat i nepotvrzené objednávky (např. pro nějaký vlastní pre-processing), počítejte s tím, že jejich data se mohou ještě měnit nebo mohou být zrušené. Musíte si je v čase sami hlídat a případně ve svém systému zahodit.

Vstupní parametry (výběr nejdůležitějších)

ParametrTypPopis
order_idintStáhne jen jednu konkrétní objednávku.
date_confirmed_fromint (unix)Doporučený způsob stránkování — datum potvrzení, od kterého se mají objednávky stahovat.
date_fromint (unix)Datum vytvoření — nedoporučeno.
id_fromintID objednávky, od které se stahují další — nedoporučeno ze stejného důvodu.
get_unconfirmed_ordersboolVýchozí false. Zahrne i nepotvrzené objednávky.
status_idintOmezí výběr jen na objednávky v konkrétním stavu — viz Statusy.
filter_email, filter_order_source, filter_external_order_idFiltrování podle e-mailu, zdroje objednávky nebo externího ID (např. číslo transakce z Allegra).
include_custom_extra_fieldsboolPřidá do odpovědi hodnoty vlastních polí — viz Extra pole.
include_commissionsboolPřidá informace o provizích marketplace.
include_discounts_databoolPřidá log aplikovaných slev.
Kompletní tabulka vstupních i výstupních polí je v referenční dokumentaci getOrders.

Alternativa 1 — stahování podle stavu objednávky

Místo práce s datem můžete stahovat pouze objednávky v konkrétním stavu (status_id) a po zpracování je metodou setOrderStatus přepnout do jiného stavu. Výhoda: přesná kontrola nad tím, co přesně jde do ERP. Nevýhoda: pokud se objednávka omylem vrátí zpět do „importovacího” stavu, hrozí duplicitní import — je potřeba mít na své straně pojistku (např. kontrolu podle order_id).

Alternativa 2 — getJournalList

getJournalList vrací seznam událostí na objednávkách (včetně potvrzení) za poslední 3 dny a hodí se pro téměř real-time sledování změn. Metoda je ve výchozím stavu neaktivní — je potřeba ji zapnout v Base panelu pod Profil → API. Podrobněji o journal a webhookách v Automatizace a webhooky.

Co dál

Pokud si nejste jistí, který přístup (datum, stav, nebo journal) je pro váš scénář nejvhodnější, probeřte to s implementačním oddělením ještě před tím, než postavíte celou integraci — změna přístupu později znamená přepsat jádro synchronizace.