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
- Nastavte počáteční datum a použijte ho v parametru
date_confirmed_from(nedate_from— vysvětlení níže). - 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.
- Při dalším volání použijte hodnotu
date_confirmedz 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. - Opakujte, dokud nedostanete dávku s méně než 100 objednávkami — pak víte, že jste stáhli vše.
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 podledate_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.
Vstupní parametry (výběr nejdůležitějších)
| Parametr | Typ | Popis |
|---|---|---|
order_id | int | Stáhne jen jednu konkrétní objednávku. |
date_confirmed_from | int (unix) | Doporučený způsob stránkování — datum potvrzení, od kterého se mají objednávky stahovat. |
date_from | int (unix) | Datum vytvoření — nedoporučeno. |
id_from | int | ID objednávky, od které se stahují další — nedoporučeno ze stejného důvodu. |
get_unconfirmed_orders | bool | Výchozí false. Zahrne i nepotvrzené objednávky. |
status_id | int | Omezí výběr jen na objednávky v konkrétním stavu — viz Statusy. |
filter_email, filter_order_source, filter_external_order_id | — | Filtrování podle e-mailu, zdroje objednávky nebo externího ID (např. číslo transakce z Allegra). |
include_custom_extra_fields | bool | Přidá do odpovědi hodnoty vlastních polí — viz Extra pole. |
include_commissions | bool | Přidá informace o provizích marketplace. |
include_discounts_data | bool | Přidá log aplikovaných slev. |
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
- Statusy
- Extra pole
- Přepravní štítky
- Faktury
- Vratky fungují analogicky, viz Stahování vratek