Skip to content

WebHook

Ítalo Araújo edited this page May 24, 2019 · 3 revisions

WebHook Zoop

Instanciando seu cliente

<?php
use Zoop\Core\Config;
use Zoop\ZoopClient;

require __DIR__ . '/../vendor/autoload.php';

$token = 'zpk_test_Xxxxxx'; /** Token gerado ADM Mkt Zoop */
$marketplace = 'd0024d3f01ea4xxxxxxxxxx'; /* ID do Marketplace **/
$vendedor = '38e0c71e9c7c465080bxxxxxxxxx'; /** ID do vendedor do marketplace */

$client = new ZoopClient(
    Config::configure($token, $marketplace, $vendedor)
);

Criando o Webhook (POST)

Retorna o status, se o webhook foi criado com sucesso.

try {
    $webhook = $client->createWebHook('https://webhook.seusite.com.br', 'WebHook da SDK');
    print_r($webhook);
} catch (\Exception $e){
    echo $e->getMessage() . PHP_EOL;
}   

Escutando as chamadas da Zoop (POST)

precisamos entender como iremos utilizar o webhook da zoop no nosso projeto, após criarmos alguma transação como por exemplo com cartão de crédito, essa ação cria um Evento dentro da Zoop, esse evento envia para uma URL sua, como por exemplo: https://webhook.seusite.com.br a SDK ajuda você a pegar os dados enviador para seu webhook.

try {
    $webHookAlert = $client->webHookListen();
    if (isset($webHookAlert) && !empty($webHookAlert) && is_array($webHookAlert)) {
        $log = fopen('webhook.json', 'a+');
        fwrite($log, json_encode($webHookAlert));
        fclose($log);
    } else {
        echo 'o evento recebido não é valido';
    }
} catch (\Exception $e){
    echo $e->getMessage() . PHP_EOL;
}

Listando todos WebHooks

Retorna uma lista com todos os webhooks criados dentro do marketplace.

try {
    $webhooks = $client->getAllWebHooks();
    print_r($webhooks);
} catch (\Exception $e){
    echo $e->getMessage() . PHP_EOL;
}

Deletando WebHook

Deleta o webhook com id passado por parametro e retorna o status, se o mesmo foi deletado ou não.

try {
    $webhook = $client->deleteWebHook('45345345');
    print_r($webhook);
} catch (\Exception $e){
    echo $e->getMessage() . PHP_EOL;
}