Blog

Postado em em 30 de maio de 2023

O que é Webhook? Como Criar, Enviar e Receber?

Você sabe o que é webhook e como construir a sua estrutura? Nesta aula vou te explicar tudo isso com um passo a passo simples!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Você sabe o que é um Webhook? Sabe como enviar e receber ?

Nessa aula eu quero te mostrar o que é um webhook, qual a diferença entre ele, o JSON e o API para que você entenda como essa estrutura funciona.

Vou te dar alguns exemplos para ficar mais fácil de entender o que é e quando ele é utilizado.

Quer aprender mais sobre comunicação entre sistemas da internet?

Então vem comigo que eu vou te explicar sobre os webhooks, requisições HTTP e muito mais!

O que é um Webhook?

Como o próprio nome sugere Hook significa gancho, ou seja, é a forma com que duas ferramentas na internet conseguem se comunicar, um exemplo disso é quando você tem um site e nele existe um sistema de pagamento:

informativo de transação
informativo de transação

Esse sistema de pagamento precisa avisar para o seu site quando o pagamento deu certo, quando houve problemas no recebimento, quando a compra foi aprovada ou cancelada, etc.

Então basicamente quando a compra é feita o sistema do cartão envia uma informação para o site avisando se a compra foi concluída ou não, envia também o nome do cliente e outras informações.

As informações sigilosas do cartão ficam seguras, as únicas informações enviadas são as necessárias para o site entender a situação da transação.

e-mail de confirmação ou atualização
e-mail de confirmação ou atualização

O mesmo acontece com o e-mail que envia um webhook para o seu CRM para avisar quando o e-mail que você enviou foi aberto.

Então ele é uma forma de comunicação entre sistemas, você tanto pode receber quanto enviar um.

Geralmente o webhook é enviado em um formato JSON e isso pode causar algumas confusões, então se você tiver dúvidas pode olhar as aulas onde expliquei o que são JSON e API.

Basicamente o JSON é um dicionário com uma formatação específica enquanto a API é um sistema inteiro, uma API pode ter diversos pontos que recebem e enviam webhooks.

Resumindo, são informações enviadas de um sistema a outro no formato JSON que podem ser enviadas por uma API.

A estrutura do webhook é uma estrutura condicionada, ou seja, para enviar é necessário que uma condição seja satisfeita, essa condição pode ser o cliente passar o cartão, pode ser um cancelamento, a questão é que o envio está programado de acordo com esses eventos.

Como enviar um Webhook no Python?

Normalmente o webhook é transitado por meio de requisições HTTP que é como a internet se comunica.

Essas requisições existem em dois formatos:

  • GET -> Recebe
  • POST -> Envia

O primeiro passo é baixar a biblioteca requests e rodar ela em seu terminal:

>pip install request

Feito isso, importe a biblioteca e vamos começar o código:

import requests

request.post(link, data={})

O webhook sempre será endereçado para um link = endpoint específico que sempre vai estar disponível para receber alguma chamada, e essa é a primeira informação que vamos colocar dentro dos parênteses.

Após isso, vamos criar um dicionário com os dados da transação e modificar o formato do dicionário para o formato JSON, para fazer isso vamos precisar importar o JSON no código.

Código para enviar:

import requests

import json

# envia um webhook

link = "https://webhook.site/36991bfc-ea7a-4483-9ace-a9ffe261e283"

dicionario = {

    "nome": "Fulano",

    "valor": 999,

    "parcelas": 12,

}

dicionario_ajustado = json.dumps(dicionario)

requests.post(link, data=dicionario_ajustado)

Agora, vamos ver como receber.

Quando nós enviamos no código acima, criamos uma biblioteca, transformamos para o formato JSON e enviamos para um link disponível para receber webhooks.

Então para receber webhooks teremos que fazer o processo inverso, neste caso temos que criar o link que vai ficar disponível para receber webhooks.

Como criar o link?

Para criar o link vamos utilizar algum framework para a criação de API, neste caso vamos usar o Flask.

Dentro da estrutura do Flask vamos criar uma função dentro do Python, essa função vai receber uma informação que está no formato JSON e vai transformar de volta ao formato de uma biblioteca, o processo contrário que fizemos antes.

A partir daí você pode trabalhar com as informações da biblioteca como for mais conveniente dentro do seu código.

#flask

@ -> libera esse link de receber um POST

def receber_webhook():

        dicionário = request.json()

Essa lógica utilizada acima para receber webhooks foi explicada no detalhe na aula sobre API disponível gratuitamente! Clique no link!

Conclusão – O que é Webhook

Nessa aula eu te mostrei o que é um webhook, como criar, enviar e receber. Dessa forma você vai poder adicioná-los nas suas aplicações.

A partir de agora você têm mais essa ferramenta para usar quando estiver fazendo um projeto mais robusto.

Eu espero que aproveitem! Até a próxima!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador