Webhook
Os Webhooks da Pottencial são uma maneira eficaz de receber notificações em tempo real sobre eventos importantes que ocorrem em nossa plataforma. Esses eventos incluem, mas não se limitam a: emissão de uma apólice, cancelamento de uma apólice, renovação de uma apólice. Quando o evento ocorre, a Pottencial faz uma solicitação HTTP POST para a URL que você configurou para o webhook.
Para integrar seus sistemas com os Webhooks da Pottencial, siga estas etapas:
- 1 - Configurar método de autenticação: ApiKey ou OIDC (ClientCredentials)
- 2 - Subscrever em eventos disponíveis via webhook
- 3 - Quando o evento ocorrer, caso a autenticação seja configurado como OIDC, a Pottencial irá realizar a autenticação
- 4 - A Pottencial irá disparar uma request, com a autenticação e os demais cabeçalhos para o endpoint configurado pelo Parceiro
- 5 - O Parceiro deverá retornar o Status Code decrito nesta documentação.
Premissas
Quando um evento relevante ocorre, a Pottencial envia um POST request para o URL que você especificou como seu endpoint de Webhook. Este request inclui um payload JSON com informações detalhadas sobre o evento. Seu sistema pode então processar essas informações conforme necessário.
Para o funcionamento correto dos webhooks, os requisitos abaixo devem ser cumpridos.
- 1 - Implementar do lado do parceiro, um endpoint protegido por criptografia HTTPS e autenticação via ApiKey ou OIDC (ClientCredentials)
- 2 - O endpoint implementado deverá possuir obrigatoriamente o request ajustado conforme payloads descritos nesta documentação
- 3 - O endpoint implementado deverá utilizar o verbo POST
- 4 - O endpoint deverá retornar os status codes parametrizados nesta documentação
- 5 - Faça testes rigorosos para garantir que seu sistema esteja recebendo e processando corretamente os eventos dos Webhooks
- 6 - Monitore regularmente o funcionamento de seus Webhooks e faça as atualizações necessárias conforme novos eventos são adicionados ou mudanças são feitas em eventos existentes
Criar Autenticação
Permite registrar as autenticações dos webhooks do parceiro.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/auths |
Method |
Post |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Body |
AuthRequest |
Exemplo da Request de criação da autenticação com ApiKey
{
"type": "ApiKey",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "",
"meta": {
"X-API-KEY": "KnjGWfTopUmxmgoT4hZmRQ=="
}
}
Exemplo da Request de criação da autenticação com OIDC
{
"type": "OIDC",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "access_token",
"meta": {
"client_id": "pottencial",
"client_secret": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"grant_type": "client_credentials",
"scope": "pottencial"
}
}
Response
Status |
Descrição |
Tipo |
201 |
Autenticação cadastrada para o webhook |
AuthResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial. |
ErrorResult |
Exemplo da Response de criação da autenticação com ApiKey
{
"id": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"type": "ApiKey",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "",
"meta": {
"X-API-KEY": "KnjGWfTopUmxmgoT4hZmRQ=="
}
}
Exemplo da Response de criação da autenticação com OIDC
{
"id": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"type": "OIDC",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "access_token",
"meta": {
"client_id": "pottencial",
"client_secret": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"grant_type": "client_credentials",
"scope": "pottencial"
}
}
Buscar Autenticação
Permite buscar a autenticação dos webhooks do parceiro.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/auths |
Method |
Get |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Response
Status |
Descrição |
Tipo |
200 |
Lista de Autenticações registradas para os webhooks |
Lista de AuthResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo da Response de busca da autenticação com ApiKey
[
{
"id": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"type": "ApiKey",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "",
"meta": {
"X-API-KEY": "KnjGWfTopUmxmgoT4hZmRQ=="
}
}
]
Exemplo da Response de busca da autenticação com OIDC
[
{
"id": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"type": "OIDC",
"url": "https://developer.pottencial.com.br/webhook",
"responseFieldToken": "access_token",
"meta": {
"client_id": "pottencial",
"client_secret": "4d78ccea-2f11-4edb-ab0d-1373ded799e3",
"grant_type": "client_credentials",
"scope": "pottencial"
}
}
]
Excluir Autenticação
Permite excluir a autenticação dos webhooks do parceiro.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/auths/{id} |
Method |
Delete |
Query |
id |
ID único do registro de Autenticação |
Response
Status |
Descrição |
Tipo |
204 |
Registro excluído com sucesso |
|
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial. |
ErrorResult |
Subscrever
Permite subscrever o webhook em um Evento emitido pela Pottencial.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions |
Method |
Post |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Body |
WebhookRequest |
Exemplo
{
"url": "https://developer.pottencial.com.br/webhook",
"eventType": "policy_issued"
}
Response
Status |
Descrição |
Tipo |
201 |
Webhook subscrito com sucesso |
WebhookResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://developer.pottencial.com.br/webhook",
"eventType": "policy_issued"
}
Buscar Subscrições
Permite listar as subscrições dos webhooks em Eventos emitidos pela Pottencial.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions |
Method |
Get |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Query |
id |
ID único do webhook |
Query |
eventType |
Tipo de evento (WebhookType) |
Response
Status |
Descrição |
Tipo |
200 |
Lista de Subscrições dos webhooks |
Lista de WebhookResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo
[
{
"id": "98293ld-35fd-36gjs4-0k3j-dad8723nfsd48",
"url": "https://developer.pottencial.com.br/webhookIssued",
"eventType": "policy_issued"
},
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://developer.pottencial.com.br/webhookCancelled",
"eventType": "policy_cancelled"
}
]
Alterar Subscrição
Permite alterar a subscrição do webhook em um Evento emitido pela Pottencial.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions/{id} |
Method |
Put |
Query |
id |
ID único do registro de Autenticação. |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Body |
WebhookRequest |
Exemplo
{
"url": "https://developer.pottencial.com.br/webhook"
}
Response
Status |
Descrição |
Tipo |
200 |
Subscrição do Webhook atualizada com sucesso |
WebhookResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://developer.pottencial.com.br/webhook",
"eventType": "policy_issued"
}
Excluir Subscrição
Permite excluir a subscrição do webhook em um Evento emitido pela Pottencial.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions/{id} |
Method |
Delete |
Query |
id |
ID único do webhook |
Response
Status |
Descrição |
Tipo |
204 |
Registro excluído com sucesso |
|
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Buscar Eventos de Webhook
Permite listar eventos emitidos de webhook que não foram enviados ao parceiro.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions/events |
Method |
Get |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Query |
skip |
número de páginas, iniciando em 0
|
Query |
take |
quantidade de elementos a serem retornados
|
Response
Será retornada na header a chave x-total-count indicando o número de elementos disponíveis para busca.
Status |
Descrição |
Tipo |
200 |
Lista de Eventos de webhook emitidos e não enviados |
Lista de WebhookEventResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo
[
{
"id": "98293ld-35fd-36gjs4-0k3j-dad8723nfsd48",
"requestUrl": "https://developer.pottencial.com.br/webhookIssued",
"requestBody": "Objeto WebhookEvent serializado",
"eventType": "policy_issued",
"statusCode": "400",
"errorMessage": "Erro ao tentar emitir o evento",
"eventDate": "2024-09-04"
},
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://developer.pottencial.com.br/webhookCancelled",
"requestBody": "Objeto WebhookEvent serializado",
"eventType": "policy_cancelled",
"statusCode": "500",
"errorMessage": "Erro ao tentar emitir o evento",
"eventDate": "2024-09-04"
}
]
Reenviar evento de webhook
Permite reenviar eventos de webhook que foram emitidos mas não enviados ao parceiro.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions/events/send |
Method |
Post |
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Body |
WebhookSendEventRequest |
Exemplo
{
"eventIds": [
"8c409247-ad91-4031-bc4d-3b3e11ba1383",
"3ac2de19-8214-4768-bf78-378803e0908b"
],
}
Response
Status |
Descrição |
Tipo |
202 |
Evento foi reenviado para processamento |
WebhookSendEventResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
502 |
Bad Gateway. Houve um erro inesperado no processamento de reenvio de alguns dos eventos recebidos na requisição. |
ErrorResult |
Exemplo
{
"isSuccess": true
}
Notificação de Evento
Permite receber notificações de eventos emitidos pela Pottencial.
Request feita pela Pottencial
Url |
Url cadastrada no webhook do parceiro que receberá uma notificação para um determinado evento |
Method |
Post |
Headers |
X-API-KEY |
Chave da Api fornecida pelo parceiro |
Caso a autenticação esteja configurada como ApiKey
|
|
Authentication |
Bearer Token recebido pelo servidor de autenticação do Parceiro |
Caso a autenticação esteja configurada como OIDC
|
|
Demais headers configurados pelo parceiro |
Body |
WebhookEvent |
Response esperada pela Pottencial
Status |
Descrição |
Tipo |
200 |
Evento recebido com sucesso pela API do Parceiro |
400 |
Url do Parceiro não encontrada, erro inesperado |
ErrorResult |
401 |
Pottencial não autorizada para realizar a operação na API do parceiro |
ErrorResult |
408 |
Timeout, erro de tempo esgotado |
ErrorResult |
500 |
Erro interno da API do Parceiro |
ErrorResult |
502 |
Erro interno da API do Parceiro |
ErrorResult |
Simular notificação
Permite simular notificações de eventos emitidos pela Pottencial.
Não disponível em ambiente de PRODUÇÃO.
Request
Url |
https://api-sandbox.pottencial.com.br/webhook/v1/subscriptions/events/{product_key}/emulate |
Method |
Post |
Query |
product_key |
Produto Pottencial
- Imobiliário : imobiliario
- Residencial : residencial
- Seguro Estrutural : estrutural
- Aluguel Fiança Locaticia : aluguel
- Riscos de Engenharia : riscos-engenharia
- Pottencial Riscos Nomeados : riscos-nomeados
- Riscos Empresariais : empresarial
- Fiança Locatícia - Integral - PF : aluguel-integral-pf
- Fiança Locatícia - Integral - PJ : aluguel-integral-pj
- Fiança Locatícia - Tradicional - PF : aluguel-tradicional-pf
- Fiança Locatícia - Tradicional - PJ : aluguel-tradicional-pj
- Fiança Locatícia - Essencial - PJ : aluguel-essencial-pj
- Seguro Fiança Locatícia - Tradicional - PJ : aluguel-tradicional-pj
- Seguro Fiança Locatícia - Integral - PF : seguro-aluguel-integral-pf
- Seguro Fiança Locatícia - Essencial - PF : aluguel-essencial-pf
- Riscos Diversos Máquinas e Equipamentos : maquinas-equipamentos
- Riscos Diversos Benfeitorias e Produtos Agropecuários : benfeitorias
- Riscos Diversos Penhor Rural : penhor-rural
- Garantia Licitante : garantia-bid
- Garantia Performance : garantia-performance
- Judicial Execução Fiscal : Judicial-execucao-fiscal
- Garantia de pagamentos : garantia-pagamento
- Construção, Fornecimento ou Prestação de Serviço + Manutenção Corretiva Público: construcao-fornecimento-servico
- Judicial Trabalhista : judicial-trabalhista
- Garantia Judicial Civel : Judicial-civel
- Garantia Estentida : garantia-estendida
- Garantia Estentida : garantia-adiantamento
- Garantia Privado Retenção : garantia-retencao
- Garantia Judicial Trabalhista : judicial-trabalhista
- Judicial Depósito Recursal Substituição : judicial-deposito-recursal-substituicao
- Judicial Trabalhista - Substituição : judicial-trabalhista-substituicao
- Vida : vida
- Término de Obras - CAVA : termino-obras-cava
- Término de Obras - Infraestrutura : termino-obras-infraestrutura
- Garantia de Término de Obras: termino-obras
- Término de Obras - Manutenção Corretiva: termino-obras-corretiva
- Término de Obras - Banco do Brasil: termino-obras-bb
- Garantia Financeira Pagamentos - FINEP: garantia-pagamento
- Garantia Financeira - FINEP: garantia-adiantamento
- Garantia de Compra e venda de Energia: garantia-compra-venda-energia
- Garantia Parcelamento Administrativo Fiscal: judicial-fiscal
|
Headers |
client_id |
Client ID da App |
|
access_token |
Token de acesso gerado para a App |
Body |
WebhookEmulateRequest |
Exemplo
{
"eventType": "policy_issued"
}
Response
Status |
Descrição |
Tipo |
202 |
Simulação de webhook realizada com sucesso |
WebhookEmulateResponse |
400 |
Os dados da requisição estão inválidos |
ErrorResult |
401 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
403 |
Parceiro não autorizado a realizar a operação |
ErrorResult |
500 |
Erro interno da API. Por favor tente novamente mais tarde ou contate o suporte técnico da Pottencial |
ErrorResult |
Exemplo
{
"statusCode": 200,
"responseBody": "success"
}
Dicionário
Dicionário dos objetos enviados e recebidos pela Pottencial.
AuthType
Tipo de autenticação
- ApiKey: Tipo de autenticação onde a chave é enviada no cabeçalho da requisição.
- OIDC: Tipo de autenticação onde é resgatado um "token" em um autenticador e enviado no cabeçalho da requisição como "Bearer".
AuthRequest
Objeto que representa a criação da autenticação do webhook.
Campo |
Tipo |
Regras |
Descrição |
type |
string (AuthType) |
Obrigatório |
Tipo de autenticação |
url |
string |
Obrigatório |
Endereço de um recurso na internet |
responseFieldToken |
string |
Somente leitura |
Campo de retorno do "Bearer Token" |
meta |
object |
Obrigatório |
Dicionário de chaves e valores para serem adicionados na requisição |
AuthResponse
Objeto que representa a busca de uma autenticação do webhook.
Campo |
Tipo |
Regras |
Descrição |
id |
string |
Somente leitura |
Identificador da autenticação |
role |
string |
Somente leitura |
Papel do parceiro no webhook |
type |
string (AuthType) |
Opcional |
Tipo de autenticação |
url |
string |
Somente leitura |
Endereço de um recurso na internet |
responseFieldToken |
string |
Somente leitura |
Campo de retorno do "Bearer Token" |
meta |
object |
Opcional |
Dicionário de chaves e valores para serem adicionados na requisição |
WebhookType
Tipo de evento do webhook
- policy_issued: Criação de Apólice ou Endosso.
- policy_cancelled: Cancelamento de Apólice ou Endosso.
WebhookRequest
Objeto que representa a criação de uma subscrição do webhook.
Campo |
Tipo |
Regras |
Descrição |
url |
string |
Obrigatório |
Endereço de um recurso na internet |
eventType |
string (WebhookType) |
Obrigatório |
Tipo de evento subscrito |
WebhookResponse
Objeto que representa a busca de uma subscrição do webhook.
Campo |
Tipo |
Regras |
Descrição |
id |
string |
Somente leitura |
Identificação do registro |
url |
string |
Somente leitura |
Endereço de um recurso na internet |
eventType |
string (WebhookType) |
Somente leitura |
Tipo de evento subscrito |
WebhookEventResponse
Objeto que representa a busca de um evento de webhook.
Campo |
Tipo |
Regras |
Descrição |
id |
string |
Somente leitura |
Identificação do registro |
requestUrl |
string |
Somente leitura |
Endereço de um recurso na internet |
requestBody |
string |
Somente leitura |
Dados do evento emitido |
eventType |
string (WebhookType) |
Somente leitura |
Tipo de evento subscrito |
statusCode |
string |
Somente leitura |
Código de erro http |
errorMessage |
string |
Somente leitura |
Mensagem de erro ao tentar emitir o evento |
eventDate |
date |
Somente leitura |
Data de emissão do evento |
WebhookSendEventRequest
Objeto que representa o corpo de requisição do reenvio de eventos de Webhook
Campo |
Tipo |
Regras |
Descrição |
eventIds |
string |
Somente leitura |
Identificador dos eventos que não foram enviados ao parceiro |
WebhookSendEventResponse
Objeto que representa a resposta ao reenvio de eventos de Webhook
Campo |
Tipo |
Regras |
Descrição |
isSuccess |
boolean |
Somente leitura |
Identificador de sucesso ou falha na resposta da requisição |
WebhookEvent
Objeto que representa a notificação de um evento pela Pottencial para a API (webhook) do Parceiro.
Campo |
Tipo |
Regras |
Descrição |
type |
string (WebhookType) |
Somente leitura |
Tipo de evento subscrito |
data |
object (WebhookData) |
Somente leitura |
O objeto é alterado de acordo com o produto segurado |
WebhookData
Objeto que representa a notificação de um evento pela Pottencial para a API (webhook) do Parceiro. O objeto é alterado de acordo com o produto segurado.
WebhookEmulateRequest
Objeto que representa a simulação de uma notificação do webhook.
Campo |
Tipo |
Regras |
Descrição |
eventType |
string (WebhookType) |
Obrigatório |
Tipo de evento subscrito |
WebhookEmulateResponse
Objeto que representa o resultado da simulação de uma notificação do webhook.
Campo |
Tipo |
Regras |
Descrição |
statusCode |
number |
Somente leitura |
Status da requisição HTTPS feita para o Webhook do parceiro |
responseBody |
string |
Somente leitura |
Corpo da resposta retornada pelo Webhook do parceiro |
Resolução de erros
Código |
Erro |
Descrição |
Solução |
400 |
Bad Request |
Invalid secret in Authorization header |
O client_secret informado no header é inválido. Verifique se o client_secret informado é o mesmo da APP e se o header Authorization está sendo passado conforme especificado |
401 |
Unauthorized |
Could not find a required APP in the request, identified by HEADER client_id. |
O client_id informado no header é inválido. Verifique se o client_id informado é o mesmo da APP e se o header Authorization está sendo passado conforme especificado |
404 |
Not Found |
Not Found |
Provavelmente a URL sendo chamado não está correta. Verifique se está conforme especificado |
415 |
Unsupported Media Type |
Content type not supported |
O header Content-Type não está sendo informado conforme esperado. O correto é application/json |
429 |
Too Many Requests |
Too Many Requests |
O consumidor estourou o limite de requisições por tempo. Aguarde um pouco para tentar novas requisições. |
500 |
Internal Server Error |
Internal Server Error |
Erro não esperado, algo está quebrado na API. Por favor aguarde ou entre em contato com o time de suporte. |
ErrorResult
Representa um resultado de erro na chamada da plataforma.
Campo |
Tipo |
Regras |
Descrição |
errors |
Lista de ErrorMessage |
Somente leitura |
Lista de erros da solicitação |
ErrorMessage
Contém informações de um erro.
Campo |
Tipo |
Regras |
Descrição |
code |
string |
Somente leitura |
Código de identificação do erro |
message |
string |
Somente leitura |
Descrição do erro |
Suporte e Atendimento ao Parceiro
Se você tiver alguma dúvida ou encontrar problemas durante o processo de integração, nossa equipe de suporte está sempre pronta para ajudar. Entre em contato conosco através do nosso canal de suporte dedicado a APIs.
Atualizações e Notificações
Mantenha-se atualizado sobre quaisquer mudanças ou atualizações nos Webhooks da Pottencial lendo nossas notificações de atualizações e participando de nossos encontros semanais.
Esta documentação é uma referência abrangente e detalhada para todos os aspectos dos Webhooks da Pottencial. Comece sua integração agora mesmo e aproveite ao máximo os benefícios dos Webhooks da Pottencial!