> ## 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.

# Extra pole

> Vlastní pole napojená na objednávku — definice, čtení přes getOrders, zápis přes setOrderFields

Extra pole (extra fields) jsou volitelná pole, která si v Base účtu sami definujete (typy: text, number, select, checkbox, radio, date, file) a jejichž obsah může Base automaticky vyplňovat na základě podmínek (zdroj objednávky, způsob dopravy, země doručení, konkrétní produkt apod.) přes Automatické akce.

## Proč se to hodí

Typický scénář: klient má v ERP různá střediska, fakturační řady nebo přepravní metody podle země. Místo replikování celé té podmínkové logiky ve vlastním můstku je často jednodušší nechat Base propsat výslednou hodnotu přímo do extra pole a tu si jen přečíst. Případnou změnu pravidla (např. nový dopravce pro danou zemi) pak stačí upravit na straně Base, bez zásahu do integrace.

## Čtení

1. Zjistěte definici a ID jednotlivých polí metodou [`getOrderExtraFields`](https://api.baselinker.com/index.php?method=getOrderExtraFields).
2. Do requestu [`getOrders`](/cs/objednavky/stahovani-objednavek) přidejte parametr `include_custom_extra_fields = true`.
3. V odpovědi se objeví pole `custom_extra_fields` — klíčem je ID extra pole, hodnotou obsah pro danou objednávku:

```json theme={null}
"custom_extra_fields": {
  "135": "B2B",
  "172": "1646913115"
}
```

U typu `file` má hodnota strukturu `{"title": "...", "url": "..."}` s odkazem ke stažení souboru.

## Zápis

Hodnoty extra polí se zapisují metodou [`setOrderFields`](https://api.baselinker.com/index.php?method=setOrderFields) — stejnou, kterou používáte i pro úpravu adresy nebo poznámek u objednávky. Posílejte jen pole, která se skutečně mění.

## Ukázka definic polí (výstup getOrderExtraFields)

```json theme={null}
{
  "extra_fields": [
    { "extra_field_id": 135, "name": "Client type", "editor_type": "radio", "options": ["B2B", "B2C"] },
    { "extra_field_id": 172, "name": "Shipping date deadline", "editor_type": "date" },
    { "extra_field_id": 196, "name": "Warranty Card", "editor_type": "file" }
  ]
}
```

<Tip>
  Extra pole existují i pro vratky (`getOrderReturnExtraFields`) a fungují úplně stejně — viz [Stahování vratek](/cs/vratky/stahovani-vratek).
</Tip>
