Configurações

API

Webhook em sistemas de terceiros, via Página em PHP

Primeiro deve criar a conexão com o seu sistema via PHP.


Para isto deve clicar na seta ao lado do Logo do Dinamize Automation > Configurações de Empresa > Sistemas de Terceiros > Adicionar Sistema de Terceiros.


Deve acessar a ultima opção Http Rest API.


Preencher os dados abaixo:



Esse código deve ser adicionado na URL da página adicionada na conexão.


Segue um código de exemplo, para o envio de dados para sistemas de terceiros, utilizando a automação de Webhook, via PHP.


<?
/******************************************************************************
 * Código fonte de exemplo para receber conteúdo de webhook enviados pela     *
 * Dinamize                                                                   *
 * Versão: 1.0                                                                *
 ******************************************************************************/

if (!function_exists('getallheaders')) {
    // Para versão do PHP que não implementam a função
    function getallheaders() {
        $headers = [];
        foreach ($_SERVER as $name => $value) {
            if (substr($name, 0, 5) == 'HTTP_') {
                $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
            }
        }
        return $headers;
    }
}

// Para imprimir as variaveis recebidas no corpo
function printVariables() {
    $method = $_SERVER['REQUEST_METHOD'];
    $vars = array();
    switch ($method) {
        case 'GET':
            $vars = $_GET;
            break;
        case 'POST':
            $vars = $_POST;

            if (getContentType() == "application/json") {
                echo "Estrutura de JSON recebida\n";
                $json = file_get_contents("php://input");
                print_r(json_decode($json));
                return;
            }
            break;
        case 'PUT':
            echo "PHP is not prepared for PUT method\n";
            return;
        default:
            return;
    }
    echo "Variáveis recebidas por $method\n";
    foreach ($vars as $name => $value) {
        echo "$name: $value\n";
    }
    echo "\n";
}

// Tratamento do ContentType
function getContentType() {
    $end = strpos($_SERVER["CONTENT_TYPE"], ";");
    if ($end !== FALSE) {
        return substr($_SERVER["CONTENT_TYPE"], 0, $end);    
    }
    return $_SERVER["CONTENT_TYPE"];
}

echo "Tipo de conteúdo enviado\n";
echo getContentType()."\n";
echo "\n";

echo "Método da requisição\n";
echo $_SERVER['REQUEST_METHOD']."\n";
echo "\n";

// Removendo cabeçalhos não relacionados
$ignore_headers = Array("User-Agent", "Host", "Content-Length", "Content-Type", "Accept", "Accept-Language", "Accept-Encoding", "Connection", "Cache-Control", "Origin");
echo "Variáveis adicionais de cabeçalho recebidas\n";
foreach (getallheaders() as $name => $value) {
    if (!in_array($name, $ignore_headers)) {
        echo "$name: $value\n";
    }
}
echo "\n";

printVariables();
?>


Após o Preenchimento deve clicar em Abrir painel de teste.



Fazer Requisição.



Gerando as informações corretamente, deve fechar o teste e clicar em Salvar.



Agora deve acessar o Fluxos > Criae do Zero.


Escolher o gatilho com o motivo que deseja enviar os dados para o seu sistema e selecionar na tarefa Webhook



Selecionar o sistema criado.



Colocar um nome para a automação e Salvar automação.



Pronto, o Dinamize Automation irá enviar os dados para o seu sistema.