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;