Registro de um novo webhook

beta scopes: webhook.write

Por meio do endpoint de registro de novo webhook, é possível criar uma configuração para definir quais notificações serão recebidas pelo Webhook Bankly.

Etapas

Endpoint

Para o consumo do endpoint de registro de um novo webhook, preencha os seguintes campos obrigatórios no body da requisição:

  • uri: URI de sua API para o recebimento dos eventos. Exemplo: https://meuwebhook/123456;
  • privateKey: chave aleatória gerada pelo parceiro em base64, que somente o Bankly e o dono da chave conhecem. Exemplo: V2ViaG9vayBBY2Vzc29CYW5rbHk=. Lembre-se de que essa chave não é enviada em nenhum evento;
  • publicKey: chave aleatória gerada pelo parceiro e que será enviada pelo Bankly nos cabeçalhos dos eventos de webhook. Exemplo: 95ef924f-eb83-4693-ab03-b07a5e8c60a6.

🚧

Importante

Tanto a private key como a public key devem ter, no máximo, 64 caracteres. Elas podem ser constituídas, por exemplo, por um UUID v4 ou geradas por password generators disponíveis on-line. Para sua segurança, recomendamos que você crie uma private key e uma public key para cada API.

  • name: nome que o assinante deseja dar para identificar o evento. Esse nome é da escolha do parceiro. Exemplo: TED_CASH_IN;
  • eventName: nome do evento que está sendo assinado. Exemplo: PIX_CASH_IN_WAS_CLEARED;
  • context: nome do contexto em que está sendo criado. Exemplo: Ted.

❗️

Atenção

O eventName deve ser escrito exatamente conforme apresentamos na documentação de eventos, assim como o context. Caso contrário, o parceiro não receberá as mensagens.

--location --request POST 'https://api-mtls.sandbox.bankly.com.br/webhooks/configurations' \  
--header 'Content-Type: application/json' \  
--header 'Authorization: Bearer [token]' \  
--data-raw '{  
    "name": "TED_CASH_IN_WAS_CLEARED", 
    "eventName": "TED_CASH_IN_WAS_CLEARED", 
    "context": "Ted", 
    "uri": "https://webhook.site/3635f9f2-e837-41d2-a929-f7f1198120d6", 
    "privateKey": "NTRlNzM0NGMtNTdmMC00MjQ4LThiZTEtM2ZhMDg4NzcwZTA5", 
    "publicKey": "MGE4NDIwM2ItNmU5Yi00Zjk0LWE5NmEtNWIwMDdiOGVjMjJj" 
}

🚧

Importante

É possível configurar a URL de um webhook para mais de um evento, assim como podemos configurar um mesmo evento para duas URLs distintas. No entanto, não é possível criar uma configuração de webhook idêntica a outra configuração já criada.

Retorno

O status code 201 indicará que a configuração do webhook foi criada com sucesso.

Exemplo de retorno

{
   "data": {
      "id": "47db4d6b-09ab-4fed-b041-4c8891b37902",
      "name": "WEBHOOK_CLIENT",
      "context": "Pix",
      "eventName": "PIX_CASH_IN_WAS_RECEIVED",
      "uri": "https://mywebhookuri/123456",
      "publicKey": "MGE4NDIwM2ItNmU5Yi00Zjk0LWE5NmEtNWIwMDdiOGVjMjJj"
   },
   "links": [
      {
         "url": "https://api-mtls.sandbox.bankly.com.br/webhooks/47db4d6b-09ab-4fed-b041-4c8891b37902",
         "rel": "get_webhook",
         "method": "GET"
      },
      {
         "url": "https://api-mtls.sandbox.bankly.com.br/webhooks/47db4d6b-09ab-4fed-b041-4c8891b37902",
         "rel": "update_webhook",
         "method": "PATCH"
      },
      {
         "url": "https://api-mtls.sandbox.bankly.com.br/webhooks/47db4d6b-09ab-4fed-b041-4c8891b37902",
         "rel": "delete_webhook",
         "method": "DELETE"
      }
   ]
}

Erro

Status codeCódigoDescrição
409WEBHOOK_CONFIGURATION_ALREADY_EXISTSEssa configuração já existe.