Webhook
API endpoint: /webhook
Definované udalosti:
-
order.create
- objednávka bola vytvorená -
order.edit
- objednávka bola upravená (napr. zmena stavu) -
order.delete
- objednávka bola zmazaná -
order.cancel
- objednávka bola stornovaná
Všetky Webhooky, ktoré boli vytvorené doplnkami, sú opatrené hlavičkou X-Webareal-Signature
s hodnotou identifikátora eshopu (eshopCode).
Štruktúru prichádzajúcich Webhookov môžete nájsť na tejto adrese: https://helpdesk.webareal.cz/article-base/webareal-webhook-api-dokumentace (len česky)
Upozorňujeme, že v článku spomínaná hlavička X-Webareal-Signature
, v prípade pluginov, obsahuje identifikátor eshopu (eshopCode), nie unikátny podpis vygenerovaný v administrácii eshopu.
Vytvorenie webhooku
POST /webhook
{ "name": "plugin-webhook", "url": "https://plugin.tld/webhook", "isEnabled": true, "event": "order.create" }
Príklad:
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.webareal.cz/webhook', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode([ 'name' => "plugin-webhook", 'url' => "https://plugin.tld/webhook", 'isEnabled' => true, 'event' => "order.create" ]), CURLOPT_HTTPHEADER => array( 'X-Wa-api-token: ' . $api_token, // apiToken získáte při instalaci doplňku, viz. nápověda 'Authorization: Bearer ' . $bearer, // access token získáte zde, údaje zde (záložka API přístup) 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
Aktualizácia webhooku
PUT /webhook/{id}
{ "url": "https://plugin.tld/webhook", "isEnabled": true, }
Príklad:
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.webareal.cz/webhook/{id}', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_POSTFIELDS => json_encode([ 'name' => "plugin-webhook2", 'url' => "https://plugin.tld/webhook" ], CURLOPT_HTTPHEADER => array( 'X-Wa-api-token: ' . $api_token, // apiToken získáte při instalaci doplňku, viz. nápověda 'Authorization: Bearer ' . $bearer, // access token získáte zde, údaje zde (záložka API přístup) 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
Odstránenie webhooku
DELETE /webhook/{id}
Príklad:
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.webareal.cz/webhook/{id}', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'DELETE', CURLOPT_HTTPHEADER => array( 'X-Wa-api-token: ' . $api_token, // apiToken získáte při instalaci doplňku, viz. nápověda 'Authorization: Bearer ' . $bearer, // access token získáte zde, údaje zde (záložka API přístup) 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;