Reprocessamento de mensagens

stable

Quando as mensagens enviadas pelos Webhooks Bankly não são recebidas com sucesso pela API do parceiro, o sistema Bankly fará três novas tentativas de envio.

Se ainda assim, as requisições não obtiverem sucesso, o Bankly cessará as tentativas, e o status do evento na consulta de mensagens enviadas constará como Failed.

{ 
  "id": "aaff746c-bb72-4e1c-a5bb-bcda66a1fca4",
  "idempotencyKey": "f5ff2ba3-76c0-4aa0-8015-a93b62a6c126", 
  "state": "Failed", 
  "destination": " https://webhook.site/3635f9f2-e837-41d2-a929-f7f1198120defghk", 
  "sentDate": "2022-01-03T19:12:08.72", 
  "eventName": "TED_CASH_IN_WAS_CLEARED", 
  "retryCount": 0, 
  "elapsedEventCapture": "00:00:00.1016841", 
  "elapsedHttpCall": "00:00:00.4783374", 
  "context": "Ted" 
}

Nesse caso, para solicitar o reenvio de eventos que não foram entregues com sucesso no seu endpoint, o parceiro poderá utilizar este endpoint para o reprocessamento de mensagens.

Se o parceiro considerar necessário, também poderá solicitar o reenvio de mensagens recebidas com sucesso (status Success). Por exemplo, caso tenha informado a URL do endpoint para recebimento de mensagens sobre Pix no webhook de envio de mensagens para TED, o parceiro poderá utilizar o endpoint de reprocessamento de mensagens para redirecionar os eventos para o endpoint correto.

📘

Nota

Recomendamos que o parceiro estabeleça uma rotina de consulta de mensagens enviadas para que identifique eventuais falhas no recebimento de eventos.

Requisição

Requisição HTTP

POST 'https://api-mtls.sandbox.bankly.com.br/webhooks/processed-messages/{id}'
curl --request  POST \
		--url'https://api-mtls.sandbox.bankly.com.br/webhooks/processed-messages/{id}' \  
		--header 'Content-Type: application/json' \  
		--header 'api-version: 1.0' \ 
		--header 'Authorization: Bearer [token]' \

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.
Esta requisição requer o scope descrito a seguir:

ScopeDescrição
webhook.readConcede acesso para consultar configurações de webhooks, pesquisar mensagens enviadas e realizar o reprocessamento de mensagens.

Cabeçalhos (Headers)

NomeDescrição
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
AuthorizationObrigatório. Token de autorização do tipo Bearer.

Parâmetros da rota (Path)

No path desta requisição envie o seguinte campo:

NomeTipoDescrição
idpathObrigatório. Identificador do processamento da mensagem (valor em formato UUID). O valor a ser preenchido nesse campo é retornado na consulta de mensagens enviadas.

Corpo da requisição (Body)

Não é necessário enviar campos no body desta requisição.

Resposta (Response)

O status code 202 indicará sucesso no reenvio da mensagem.
Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
dataarray of objectsLista que contém as mensagens reprocessadas.
data.idstringIdentificador do processamento da mensagem (valor em formato UUID).
data.idempotencyKeystringChave de idempotência, utilizada para evitar a duplicidade de transações (valor em formato UUID).
data.statestringEstado da mensagem, o qual pode ser: Success (para mensagens recebidas com sucesso), Failed (para mensagens que foram enviadas com sucesso por parte do Bankly, mas que, por alguma falha do lado do parceiro, não foram recebidas) e Hold (para mensagens que ficaram retidas no fluxo do Circuit Breaker).
data.destinationstringURI de destino da mensagem.
data.sentDatestringData de envio da mensagem, no formato ISO 8601 - UTC.
data.eventNamestringNome do evento.
data.retryCountstringNúmero de tentativas de reenvio.
data.elapsedEventCapturestringTempo de captura do evento.
data.elapsedHttpCallstringTempo de execução da chamada Http.
data.contextstringContexto em que os eventos foram enviados. Exemplo: Pix.
linksarray of objectsLista de links de próximos estados válidos da entidade/recurso.
links.urlstringURLs que podem ser utilizadas em um próximo estado da entidade.
links.relstringDescrição de como a URL se relaciona com o recurso atual.
links.methodstringTipo de verbo que deve ser utilizado para acessar a URL.
metadictionary<string, object>Dicionário de metadados que trará dados adicionais da requisição.
{
  "data": [
    {
      "id": "aaff746c-bb72-4e1c-a5bb-bcda66a1fca4",
      "idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "state": "Success",
      "destination": "string",
      "sentDate": "2023-04-17T17:18:20.374Z",
      "eventName": "PIX_CASH_IN_WAS_RECEIVED",
      "retryCount": 0,
      "elapsedEventCapture": "00:00:00.0996311",
      "elapsedHttpCall": "00:00:00.6384607",
      "context": "Pix"
    }
  ],
  "links": [
    {
      "url": "string",
      "rel": "string",
      "method": "string"
    }
  ],
  "meta": {
    "additionalProp": {}
  }
}

👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.

Erros

Este endpoint não retorna erros específicos. Porém, ele poderá retornar alguns erros comuns entre todos os endpoints.

Eventos

Este endpoint não possui eventos relacionados a ele.