SeaTable
  • Funções
  • Modelos
  • Soluções
    • Marketing - A próxima campanha de marketing está prestes a chegar. Nada é mais fácil do que isso.
    • Gestão de projectos - Planear, seguir e gerir projectos de equipa do princípio ao fim.
    • Recursos Humanos - Estruturar processos de RH para novas contratações e a bordo.
    • Distribuição - Gerir todo o seu canal de vendas e relações com clientes num só local.
    • Desenvolvimento de software - Aumente a qualidade e rapidez da sua equipa de desenvolvimento com SeaTable.
  • Apoio
    • Guia rápido - Tudo o que precisa de saber para pôr o SeaTable a funcionar em minutos.
    • Área de ajuda - Encontre respostas às suas perguntas e obtenha dicas sobre como tirar o máximo partido da SeaTable.
    • Integrações - Ligar SeaTable com ferramentas como Zapier, Integromat ou n8n. Ou utilizar o API do SeaTable.
    • Blog SeaTable - Aqui encontrará informação sobre produtos, notícias e muitos exemplos de como pode utilizar o SeaTable de forma óptima.
  • Preços
  • Login
  • login
  • Inscrição
  • Menu Menu

Gancho Web

  • O que são os ganchos da web e para que são utilizados?
  • Criação e eliminação de um gancho da web
  • Estrutura dos dados do gancho da web
  • Processamento de um gancho web com a ajuda de PHP
  • A chave secreta de um gancho da web
  • Desactivação de um gancho da web em caso de erros
  • Início
  • Ajuda
  • Scripts, API e integrações
  • Gancho Web
  • Processamento de um gancho web com a ajuda de PHP

Processamento de um gancho web com a ajuda de PHP

Conteúdos
  • O guião
  • A estrutura por detrás do guião

O processamento de um evento de webhooks pode ser feito com qualquer linguagem de programação e varia dependendo da linguagem de programação. O exemplo seguinte mostra um processamento simples via PHP, que pode servir como base para todos os desenvolvimentos futuros.

O guião

O seguinte código PHP serve apenas como ilustração de como reagir, por exemplo, a um determinado evento, tal como uma linha eliminada.

// get the webhook
$raw_payload = file_get_contents('php://input', true);
$payload = json_decode($raw_payload, true);

if($payload['event'] === "update"){

    // check for a deleted row
    if($payload['data']['op_type'] === "delete_row"){
        // ...
    }
    
    // check if a checkbox was checked in the column with the name "checkbox"
    if($payload['data']['row_data'][0]['column_name'] === "checkbox" AND $payload['data']['row_data'][0]['value'] === true){
        // ...
    }

    // save content to file (for debugging)
    $file = 'webhook_payload.txt';
    $current = file_get_contents($file);
    $current .= $raw_payload;
    $output = file_put_contents($file, $current);
}

Se o gancho enviar uma chave secreta, pode verificar o conteúdo do gancho com o seguinte código. Evidentemente, terá de substituir a variável $secret pela chave secreta que escolheu.

// verify the signature
function verifySignature($body){
  $secret = "your-webhook-secret";
  $headers = getallheaders();
  return hash_equals('sha256='.hash_hmac('sha256', $body, $secret), $headers['X-Seatable-Signature']); 
}

if (verifySignature($raw_payload) !== false) {
    // verified
    // ...
} else {
    // not verified
}

A estrutura por detrás do guião

As duas primeiras linhas lêem o evento do gancho da web que chega e criam uma matriz a partir da estrutura do JSON que chega.

Com a primeira consulta "if", só são processados os eventos para os quais "op_type" tem o valor "delete_row".

A segunda consulta "if" só aceita eventos em que uma caixa de verificação na coluna denominada "caixa de verificação" esteja activada.

As últimas linhas são opcionais e guardam a carga útil num ficheiro de texto. Alternativamente, também se pode guardar os pedidos individuais numa base de dados e, por exemplo, documentar o processamento bem sucedido dos pedidos.

Em que medida foi útil este artigo?
Actualizado em 28 de Fevereiro de 2023
Estrutura dos dados do gancho da webA chave secreta de um gancho da web
Conteúdos
  • O guião
  • A estrutura por detrás do guião
Logotipo SeaTable

Faça-o como milhares de outras pessoas que utilizam SeaTable para desenvolver processos poderosos, trazer ordem aos seus dados e completar as suas tarefas de forma mais eficiente.

SeaTable no Linkedin SeaTable em Medium.com SeaTable na Instagram SeaTable no Twitter SeaTable em Github SeaTable no YouTube SeaTable em Docker Hub

Produtos

  • SeaTable Cloud
  • SeaTable Dedicado
  • Servidor SeaTable
  • Apoio

Apoio

  • Guia rápido
  • Área de ajuda
  • Modelos
  • Integrações
  • Fórum
  • API do programador
  • Estado

Empresa

  • Sobre nós
  • Nós contratamos
  • Imprensa
  • Contacto
  • Blog
  • Impressão
  • Segurança
  • Protecção de dados
  • Termos de utilização
  • EULA
Percorrer para cima
  • Deutsch
  • English
  • Français
  • Español
  • Русский