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;