> ## Documentation Index
> Fetch the complete documentation index at: https://api.basetools.cz/llms.txt
> Use this file to discover all available pages before exploring further.

# Stahování objednávek — getOrders

> Kompletní přehled metody getOrders: parametry, stránkování, doporučený postup periodické synchronizace

[`getOrders`](https://api.baselinker.com/index.php?method=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.

<Note>
  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.
</Note>

## 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](/cs/objednavky/zakladni-principy#potvrzené-a-nepotvrzené-objednávky). 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.

<Warning>
  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.
</Warning>

## 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](/cs/objednavky/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](/cs/objednavky/extra-pole).          |
| `include_commissions`                                             | bool       | Přidá informace o provizích marketplace.                                                         |
| `include_discounts_data`                                          | bool       | Přidá log aplikovaných slev.                                                                     |

Kompletní tabulka vstupních i výstupních polí je v [referenční dokumentaci getOrders](https://api.baselinker.com/index.php?method=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`](https://api.baselinker.com/index.php?method=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`](https://api.baselinker.com/index.php?method=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](/cs/objednavky/automatizace-a-webhooky).

## Co dál

* [Statusy](/cs/objednavky/statusy)
* [Extra pole](/cs/objednavky/extra-pole)
* [Přepravní štítky](/cs/objednavky/prepravni-stitky)
* [Faktury](/cs/objednavky/faktury)
* Vratky fungují analogicky, viz [Stahování vratek](/cs/vratky/stahovani-vratek)

<Tip>
  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.
</Tip>
