6.5

Přístup k vydaným fakturám

GET /api/invoices

Získání vydaných faktur 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/invoices?orderBy=modified&desc=true
Získá naposledy změněné faktury.

Odpověď (application/json)

200 OK

Stránka se záznamy typu invoices.

{
  "items": [
    {
		"id": 43275,
        "customer": 2168,
		"allNumber": "20220001CZ"
		"totalPrice": 10500.00,
      /* ... */
    }
    /* ... */
  ]
}

POST /api/invoices

Vytvoření nové vydané faktury.

Požadavek (application/json)

Tělo požadavku musí být JSON objekt, reprezentující hlavičku faktury. Neměl by obsahovat parametr id. ID bude nové objednávce přiděleno při úspěšném zápisu. Pokud bude v JSON objektu definováno i pole s položkami faktury, tak se aplikace pokusí vytvořit fakturu včetně těchto požadovaných položek.

Odpověď (application/json)

201 OK CREATED

Tělo odpovědi bude tatáž faktury, ale už v podobě, jak byla zapsána do databáze a s přiděleným kódem, číslem faktury a variabilním symbolem.

V http hlavičce Location bude URL k získání příležitosti 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.

POST /api/invoices/createWithBusCase

Metoda pro automatické vytvoření faktury, do níž se automaticky vloží položky požadované objednávky. Objednávka se zapisuje jako parametr busCase v HTTP požadavku, spolu s metodou (parametr) method (výchozí 0 - převezme všechny položky objednávky, 1 - převezeme pouze vydané/vykryté, nefakturované položky)

Příklad: POST /api/invoices/createWithBusCase/?busCase=666&method=1

Požadavek (application/json)

Tělo požadavku musí být JSON objekt, reprezentující hlavičku faktury.

Odpověď (application/json)

201 OK CREATED

Tělo odpovědi bude tatáž faktury, ale už v podobě, jak byla zapsána do databáze a s přiděleným kódem, číslem faktury a variabilním symbolem a zapsanými položkami (tj. s těmi, které vyhověly podmínkám fakturace)

V http hlavičce Location bude URL k získání příležitosti 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.

404 NOT FOUND

Požadovanou objednávku se nepodařilo vyhledat, nebo je konflikt v měnách (požadovaná měna faktury vs objednávka), nebo nebyly nalezeny žádné vyfakturovatelné položky.

GET /api/invoices/{id}

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

GET /api/invoices/247

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

Odpověď (application/json)

200 OK

Tělo odpovědi bude faktura s požadovaným ID, včetně pole položek

404 NOT FOUND

Požadovaná faktura podle ID v databázi neexistuje.