---
title: "Přidat nebo upravit zakázku"
description: "Pro dané ID/Externí ID zkontroluje existenci zakázky. V případě, že neexistuje, je do systému přidána. V opačném případě bude zakázka upravena podle zaslaných informací."
url: /cs/api-reference/legacy/zakazky/pridat-nebo-upravit-zakazku/
---

Parametry, které nebudou zaslány, zůstanou v případě úpravy existující zakázky nezměněny.

<Endpoint method="POST" path="/order/addOrEdit" />

:::caution
V případě úpravy existující zakázky musí být zakázka ve stavu `Open` a nesmí mít žádný aktivní výjezd (tzn. výjezd ve stavu `Running` nebo `WaitingForSignature`)\
U existující zakázky dále není povolena změna zákazníka.
:::

### Tělo požadavku
<Param name="id" type="string(GUID)">
Nepovinné. ID zakázky.
</Param>

<Param name="externalId" type="string">
Nepovinné. Unikátní identifikátor záznamu

:::note
Pokud není zaslán ani jeden z identifikátorů (ID nebo Externí ID) dojde vždy k založení nové zakázky.

Pokud není vyplněno ID, použije se pro vyhledání existujícího záznamu pouze Externí ID. Pokud je vyplněno ID i Externí ID, musí existovat zakázka, která ma oba údaje shodné. Tzn. v případě existující zakázky není možné touto operací Externí ID změnit ani nastavit.

Pro změnu Externího ID existující zakázky použijte [Editace zakázky](/cs/api-reference/legacy/zakazky/editace-zakazky/).
:::
</Param>

<Param name="customerId" type="string/string(GUID)" required>
ID nebo Externí ID zákazníka ([Customer](/cs/api-reference/legacy/obecne-informace/datovy-model/zakaznici-a-zarizeni/#customer))\
Změna zákazníka u existující zakázky není povolena
</Param>

<Param name="addressId" type="string/string(GUID)" required>
ID nebo Externí ID adresy zákazníka ([CustomerAddress](/cs/api-reference/legacy/obecne-informace/datovy-model/zakaznici-a-zarizeni/#customeraddress))\
Adresa musí patřit zákazníkovi, kterému je zakázka plánována.
</Param>

<Param name="contactPersonId" type="string/string(GUID)" required>
ID nebo Externí ID kontaktní osoby ([ContactPerson](/cs/api-reference/legacy/obecne-informace/datovy-model/zakaznici-a-zarizeni/#contactperson))\
Kontaktní osoba musí patřit zákazníkovi, kterému je zakázka plánována.
</Param>

<Param name="categoryId" type="string/string(GUID)" required>
ID nebo Slug kategorie zakázky ([OrderCategory](/cs/api-reference/legacy/obecne-informace/datovy-model/ciselniky-a-vycty/#ordercategory))
</Param>

<Param name="invoiceCustomerId" type="string/string(GUID)">
ID nebo Externí ID objednatele
</Param>

<Param name="name" type="string">
Název zakázky
</Param>

<Param name="estimatedDuration" type="integer">
Odhadovaná doba trvání v minutách
</Param>

<Param name="problemDescriptionFromCustomer" type="string">
Popis požadavku od zákazníka
</Param>

<Param name="internalNote" type="string">
Interní poznámka k zakázce
</Param>

<Param name="customData" type="string(JSON)">
Dodatečná data k zakázce ve formátu JSON. Musí odpovídat šabloně.
</Param>

<Param name="priority" type="OrderPriority">
Priorita zakázky ([OrderPriority](/cs/api-reference/legacy/obecne-informace/datovy-model/ciselniky-a-vycty/#orderpriority))\
Výchozí hodnota: `Normal`
</Param>

<Param name="customStateId" type="string">
ID nebo Slug Vlastního stavu zakázky ([OrderCustomState](/cs/api-reference/legacy/obecne-informace/datovy-model/ciselniky-a-vycty/#ordercustomstate))
</Param>

<Param name="serviceObjectIds" type="string[]/string(GUID)[]">
ID nebo externí ID zařízení, kterých se zakázka týká. Zařízení musí patřit stejnému zákazníkovi, kterému je zakázka plánována. Adresa zařízení nemusí odpovídat.
</Param>

<Param name="ownerId" type="string/string(GUID)">
ID nebo Externí ID vlastníka. Pokud není určeno, je vlastníkem automaticky dispečer, který zakázku založil. V případě založení zakázky systémem (např. přes API, nebo automaticky pro pravidelný servis) je vlastníkem zakázky administrátor firmy.
</Param>

<Param name="requestedDate" type="string(DateTime)">
Požadované datum
</Param>

<Param name="sendByPost" type="boolean">
Odeslat dokumenty poštou (pokud není nastaveno, přenáší se ze zákazníka)
</Param>

<Param name="useWorkItemsFromInvoiceCustomer" type="boolean">
Použít ceny práce podle objednatele. \
Lze nastavit na `true` pouze pokud je nastaven Objednatel.
</Param>

### Odpověď
<Status code="204 No Content">
Zakázka byla úspěšně přidána, nebo upravena.
</Status>

<Status code="400, 401, atd.">
Více informací na stránce [standardní chybové stavy](/cs/api-reference/legacy/obecne-informace/standardni-chybove-stavy/).
</Status>

### Příklad

```bash
curl -L -X POST 'https://app.mwork365.com/main/publicapi/order/addOrEdit' \
-H 'Authorization: Bearer eyJhb...WlUw' \
-H 'Content-Type: application/json' \
--data-raw '{
    "externalId": "z123",
    "customerId": "1039a20b-4ce3-46db-b82c-845b7b3a1c9c",
    "addressId": "9210e180-06ab-4deb-85b4-14264e78bb66",
    "contactPersonId": "de500aba-3465-b884-e180-4f50c091a10a",
    "categoryId": "servis",
    "estimatedDuration": 90,
    "problemDescriptionFromCustomer": "Oprava plynového kotle",
    "priority": "High",
    "serviceObjectIds": [
        "9da646b2-5de7-4a47-b332-548cb7c95bcd",
        "98c2d22a-7862-4251-a7ef-7911f8faf20f"
    ]
}'
```
