6.5

Přístup k produktům

GET /api/products

Získání produktů z databáze.

Požadavek

Query parametrTypPopisVýchozí
positionintindex prvního záznamu, který má být vrácen (0 - první záznam)0
sizeintpočet záznamů (stránky), povolené maximum 100020
orderBystringúdaj, podle kterého mají být záznamy řazené-
descbooleanřazení je sestupné (descending)false

Příklad: /api/products?orderBy=modified&desc=true
Získá naposledy změněné produkty.

Odpověď (application/json)

200 OK

Stránka se záznamy typu produkt.

{
  "items": [
    {
      "id": 370,
      "customer": 2168,
      "name": "Bio chleba",
      "action": true,
      /* ... */
    }
    /* ... */
  ]
}

POST /api/stores

Vytvoření nového produktu.

Požadavek (application/json)

Tělo požadavku musí být JSON objekt, reprezentující nový produkt. Neměl by obsahovat parametr id. ID bude novému produktu přiděleno při úspěšném zápisu.

Odpověď (application/json)

201 OK CREATED

Tělo odpovědi bude tentýž produkt, ale už v podobě, jak byl zapsána do databáze a s přiděleným kódem.

V http hlavičce Location bude URL k získání produktu v pozdějších dotazech.

400 BAD REQUEST

Zaslaný objekt neprošel validací a nemůže být zapsán do databáze. Tělo obsahuje standardní chybový JSON s popisem nalezených chyb.

GET /api/products/{id}

Získání jednoho produktu s konkrétním ID. ID je v InTouch CRM celé číslo, takže požadavkem:

GET /api/products/247

získáte produkt s kódem 247 (pokud takový existuje).

Odpověď (application/json)

200 OK

Tělo odpovědi bude produkt s požadovaným ID.

404 NOT FOUND

Požadovaný produkt v databázi neexistuje.

PUT /api/products/{id}

Aktualizace produktu. Existující produkt s ID id bude přepsán daty v těle požadavku.

Požadavek (application/json)

Tělo požadavku musí být JSON objekt, reprezentující nový produkt.

Odpověď (application/json)

200 OK

Tělo odpovědi bude nová verze produktu, jak ji systém zapsal do databáze.

400 BAD REQUEST

Zaslaný objekt neprošel validací a nemůže být zapsán do databáze. Tělo obsahuje standardní chybový JSON s popisem nalezených chyb.

404 NOT FOUND

Aktualizovaný produkt v adresáři neexistuje.

PATCH /api/products/{id}

Aktualizace produktu. Existující produkt s ID id bude aktualizován pomocí dat v těle požadavku. Na rozdíl od předchozího volání metodou PUT nemusíte u metody PATCH zasílat kompletní JSON s produktem, ale stačí poslat jen ty údaje, které chcete změnit.

Příklad:

    PATCH /api/product/1210

    { "ean13": "654321324" }

U produktu s kódem 1210 dojde ke změně EAN13 na "654321324".

Odpověď (application/json)

200 OK

Tělo odpovědi bude nová verze produktu, jak ji systém zapsal do databáze.

400 BAD REQUEST

Zaslaný objekt neprošel validací a nemůže být zapsán do databáze. Tělo obsahuje standardní chybový JSON s popisem nalezených chyb.

404 NOT FOUND

Aktualizovaný produkt v adresáři neexistuje.

Práce se soubory /api/products/{id}/files

Popis volání API je shodný s používáním připojených souborů ke kontaktům (/api/parties/{id}/files).

Práce s cenami /api/products/{id}/prices

Zobrazení všech cen daného produktu ve všech cenících. Popis volání API je shodný s používáním připojených souborů ke kontaktům (/api/parties/{id}/files).

Skladové zásoby /api/products/{id}/storeitems

Zobrazení množství a rezervací všech skladech daného produktu. Popis volání API je shodný s používáním skladových zásob (/api/storeitems).