Úvod
- Přihlašte se do administrace systému.
- Přejděte do sekce Další služby – Webhook a vytvořte nový webhook pro vybranou událost (Event) a zadejte požadovanou URL adresu.
- Dále můžete vytvořit unikátní podpis, kterým bude opatřen každý požadavek při volání zadané URL adresy.
Požadavky
Systém Webareal používá HTTP POST pro doručení application/json požadavků na zadané URL adresy.
Ověření a bezpečnost
Odesílané události mohou být opatřeny podpisem pro ověření původu příchozích požadavků. Pokud byl vygenerován podpis požadavku (viz. Úvod), systém Webareal ke každému odchozímu požadavku doplní hlavičku X-Webareal-Signature, která bude obsahovat vygenerovaný podpis.
Datum a čas
Webhook API vrací UTC datum a čas v ISO 8601 formátu (RFC 339 specifikace). . Například tedy datum 9. července 2019 12:00 (CEST) bude zapsán jako 2019-07-09T10:00:00+00:00, jelikož časové pásmo CEST je o dvě hodiny napřed.
Události (Events)
Základní popis
Webhook API události sdílejí stejnou strukturu s vyjímkou eventData objektu, který je specifický pro každou událost.
Název | Typ | Popis |
eventId | string | Typ události. Todo ID udává obsah a strukturu eventData objektu. |
eventCreatedAt | string | Datum a čas vytvoření události. |
eventData | object | Data události. Struktura tohoto objektu je dána typem události (eventId). Popis veškerých událostí naleznete níže. |
Objednávka
order.create
Systém odesílá tuto událost ve chvíli vytvoření nové objednávky.
Event Data Object
Název | Typ | Popis |
id | number | ID objednávky |
idCustomer | number|null | ID registrovaného zákazníka. Pokud zákazník není registrován, obsahuje pole hodnotu null |
orderNumber | string | Číslo objednávky |
priceTotal | number | Celková cena objednávky bez DPH |
priceTotalVat | number | Celková cena objednávky včetně DPH |
shippingPrice | number | Cena dopravy. Částka je již započítána do priceTotal a priceTotalVat. |
shippingMethod | string | Název způsobu dopravu |
paymentPrice | number | Příplatek za způsob platby. Částka je již započítána do priceTotal a priceTotalVat. |
paymentMethod | string | Název způsobu platby |
discount | number | Hodnota slevy z objednváky. Částka je již započítána do priceTotal a priceTotalVat. |
discountRate | number | Sleva z objednávky v procentech. Jedná se o celé číslo, například 15. |
createdAt | string | Datum vytvoření objednávky |
note | string | Poznámka k objednávce |
name | string | Jméno zákazníka |
string | Kontaktní email zákazníka | |
address | string | Dodací adresa zákazníka (ulice, č.p.) |
city | string | Dodací adresa – město |
zipCode | string | Dodací adresa PSČ |
phone | string | Kontaktní telefon |
company | string | Název firmy |
companyRegNo | string | Firemní údaj – IČ |
vatRegNo | string | Firemní údaj – DIČ |
invoiceName | string | Fakturační údaje – jméno |
invoiceEmail | string | Fakturační údaje – email |
invoiceAddress | string | Fakturační údaje – adresa |
invoiceCity | string | Fakturační údaje – město |
invoiceZipCode | string | Fakturační údaje – PSČ |
invoicePhone | string | Fakturační údaje – telefon |
invoiceCompany | string | Fakturační údaje – firma |
invoiceCompanyRegNo | string | Fakturační údaje – IČ |
invoiceVATRegNo | string | Fakturační údaje – DIČ |
invoiceNumber | string | Číslo faktury |
country | string | Země zákazníka |
currency | string | Měna objednávky |
orderItems | array | Zboží v objednávce |
Order Item Object
Název | Typ | Popis |
id | number | ID zboží v objednávce |
productId | number | ID produktu v eshopu |
productVariantId | number|null | ID varianty produktu v eshopu |
productNumber | string | Číslo produktu |
productName | string | Název produktu |
price | number | Cena za jednotku bez DPH |
priceVat | number | Cena za jednotku včetně DPH |
quantity | number | Množství |
unit | string | Měrná jednotka zboží |
vat | number | Sazba DPH |
shippingSurcharge | number | Příplatek za poštovné. Není započítán do jednotkových cen (price a priceVat) |
category | array | Kategorie, do kterých je produkt zařazen |
brand | string | Název výrobce |
codelist | array | Číselníky variant. Varianty jsou popsány jako páry name (název) a value (hodnota) |
isPaid | bool | Objednávka je označena jako zaplacena |
isDownPaymentPaid | bool | Záloha je označena jako zaplacena |
order.edit
Systém odesílá tuto událost ve chvíli úpravy objednávky v administraci.
Event Data Object (rozšiřuje order.create objekt)
Název | Typ | Popis |
state | string | Název aktuálního stavu objednávky |
stateHistory | array | Pole obsahující historii stavů objednávky (viz State History Object) |
State History Object
Název | Typ | Popis |
name | string | Název stavu |
date | string | Datum změny stavu objednávky |
emailSent | bool | Oznámení o změně stavu bylo odesláno zákazníkovi |
order.cancel
Systém odesílá tuto událost ve chvíli zrušení (stornování) objednávky
Event Data Object (rozšiřuje order.create objekt)
Název | Typ | Popis |
canceledOrderId | int | ID stornované objednávky |
canceledOrderNumber | string | Číslo stornované objednávky |
order.delete
Systém odesílá tuto událost ve chvíli smazání objednávky
Event Data Object
Název | Typ | Popis |
id | int | ID smazané objednávky |
orderNumber | string | Číslo smazané objednávky |
Zákazník
customer.create
- Systém odesílá tuto událost ve chvíli vytvoření nové registrace zákazníka.
- Event Data Object
Název | Typ | Popis |
id | number | ID registrace v systému |
createdAt | string | Datum a čas registrace |
name | string | Kontaktní údaje – jméno |
string | Kontaktní údaje – email | |
phone | string | Kontaktní údaje – telefon |
address | string | Dodací údaje – adresa |
city | string | Dodací údaje – město |
zipCode | string | Dodací údaje – PSČ |
company | string | Dodací údaje – název firmy |
companyRegNo | string | Dodací údaje – IČ |
vatRegNo | string | Dodací údaje – DIČ |
invoiceName | string | Fakturační údaje – jméno |
invoiceAddress | string | Fakturační údaje – adresa |
invoiceCity | string | Fakturační údaje – město |
invoiceZipCode | string | Fakturační údaje – PSČ |
invoiceCompany | string | Fakturační údaje – název firmy |
note | string | Vyplněná poznámka k registraci |