Skip to main content

Webhook

Atualizações nos tópicos de monitoramento serão notificadas por meio do envio de webhooks. Para tanto, é necessário, por meio da equipe do suporte, configurar um endereço do endpoint por onde vamos notificar as atualizações e também uma signature_key que será utilizada para assinar a requisição. Vale ressaltar que todos os envios de webhook serão feitos para um único endpoint.

Atenção

Por questões de segurança, todas as requisições de Webhook serão somente realizadas em endpoints servidos por HTTPS.

Assinatura

Exemplo de cálculo de assinatura em Python

    hmac_obj = hmac.new(signature_key.encode('utf-8'), (url + method + payload).encode('utf-8'), hashlib.sha1)
return hmac_obj.hexdigest()

Para garantir que a requisição recebida no endpoint do webhook parte dos nossos servidores, uma assinatura HMAC é enviada no Header Signature, de maneira semelhante ao processo de autenticação.

Após realizar o cálculo do valor esperado da assinatura do lado do servidor, é necessário comparar a assinatura calculada com a enviada. Caso as assinaturas sejam compatíveis, isso significa que a requisição partiu dos nossos servidores e que é confiável.

Webhook de Atualização de Evento

Request Body
{
"person_type" : "natural_person",
"account_type" : "natural_person_account",
"person_id" : "22f5d028-0ce7-46f7-9b63-e7e38171b485",
"account_id" : "e49ac344-f941-4668-9afb-a52ce4e5754a",
"monitoring_topic" : "OFAC",
"event" : "entered"
}

Abaixo está o significado de cada campo:

NomeTipoDescrição
person_typestringTipo de pessoa (natural_person ou legal_person).
account_typestringTipo de conta (natural_person_account ou legal_person_account).
person_idstrinIdentificador único da pessoa, passado na requisição de criação.
account_idstringIdentificador único da conta, passado na requisição de criação.
monitoring_topicstringTópico monitorado em que ocorreu a mudança.
eventstringTipo de evento ocorrido, como "entered" (entrada) ou "exited" (saída) para os tópicos de listas restritivas.

A requisição de atualização do tópico de monitoramento possui o formato acima e notifica a mudança no status de um dos tópico de monitoramento dentro da conta. O método utilizado é um PUT e o endereço do endpoint pode conter também o id do evento, de acordo com a necessidade do cliente. É importante ressaltar que o corpo da requisição é enviado como texto codificado em UTF-8.

Retentativas

A notificação é considerada realizada quando recebe como resposta um HTTP Status 200. Caso as notificações falhem, serão feitas 7 retentativas, com os seguintes intervalos, até que um 200 seja retornado ou as tentativas terminem:

  • 10 segundos
  • 40 segundos
  • 160 segundos
  • 640 segundos
  • 2560 segundos
  • 10240 segundos
  • 40960 segundos