Webhooks

Você receberá uma notificação deste serviço sobre os eventos relacionados a cartões de crédito.

Processo de verificação da assinatura digital da request

Juntamente com a notificação, enviaremos um conjunto de headers HTTP que servirão para verificar a sua autenticidade.

Os headers HTTP que enviamos são:

  • x-api-key : este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.

  • x-signature : Este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.

  • x-timestamp : este header contém a hora em que a solicitação foi assinada no formato unix-epoch para que você possa verificar se a assinatura não expirou.

  • x-endpoint : o endpoint usado para gerar a assinatura. Use este header para gerar novamente a assinatura a ser validada, compare-a com o endpoint do seu serviço e verifique se elas correspondem.

A assinatura digital é um código HMAC-SHA256 construído usando o api-secret e uma série de bytes composta pela concatenação do timestamp, do endpoint e do request body codificados em UTF-8.

A seguir é usado um pseudo-código para verificar se a assinatura digital de uma request é legítima:

requestSignature = request.headers['x-signature']
signatureData = encode(request.headers['x-timestamp'] + request.headers['x-endpoint'] + request.body , 'UTF-8')
recreatedSignature = hmac(apiSecret, signatureData, 'SHA256')
validSignature = requestSignature == recreatedSignature

Notificações de transações processadas

Você deverá nos indicar esse endpoint para receber as notificações das transações processadas. Você deverá nos enviar um código HTTP do tipo 2xx para que não enviemos a notificação novamente. Caso contrário, vamos enviá-la novamente.
Parâmetros disponíveis
Header Parameters
X-Api-Keystringrequired
Este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
Exemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
Exemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contém a hora em que a solicitação foi assinada, no formato unix-epoch, para que você possa verificar se a assinatura não expirou.
Exemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
O endpoint que você usou para gerar a assinatura, e para o qual é feita a solicitação. Use este header para gerar novamente a assinatura a ser validada, e compare-o com o endpoint do seu serviço para verificar se eles correspondem.
Exemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Exemplo: transaction_processed
idempotency_keystringrequired
Identificador idempotente para criar o evento.
Exemplo: ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR
dataobject
Informações da transação processada

Esta seção foi útil para você?

POST/transactions
{
"event_id":
"transaction_processed"
"idempotency_key":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"data":{
"id":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"status":
"APPROVED"
"status_detail":
"APPROVED"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_id":
"crd-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_last_four":
"5439"
"user_id":
"usr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"merchant_id":
"BGQ"
"merchant_name":
"Lending Store"
"installments_quantity":
"5"
"transaction_date_time":
"2023-05-16T14:00:00"
"local_amount":{
...
}
}
}
Respostas de amostra

Notificações de transações revertidas

Você deverá nos indicar esse endpoint para receber as notificações das transações processadas. Você deverá nos enviar um código HTTP do tipo 2xx para que não enviemos a notificação novamente. Caso contrário, vamos enviá-la novamente.
Parâmetros disponíveis
Header Parameters
X-Api-Keystringrequired
Este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
Exemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
Exemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contém a hora em que a solicitação foi assinada, no formato unix-epoch, para que você possa verificar se a assinatura não expirou.
Exemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
O endpoint que você usou para gerar a assinatura, e para o qual é feita a solicitação. Use este header para gerar novamente a assinatura a ser validada, e compare-o com o endpoint do seu serviço para verificar se eles correspondem.
Exemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Exemplo: operation_reverted
idempotency_keystringrequired
Identificador idempotente para criar o evento.
Exemplo: ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR
dataobject
Informação da transação revertida

Esta seção foi útil para você?

POST/reverted-operations
{
"event_id":
"operation_reverted"
"idempotency_key":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"data":{
"id":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"status":
"REVERTED"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_id":
"crd-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_last_four":
"5439"
"user_id":
"usr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"merchant_id":
"BGQ"
"merchant_name":
"Lending Store"
"installments_quantity":
"5"
"reverted_date_time":
"2023-05-16T14:00:00"
"local_amount":{
...
}
}
}
Respostas de amostra

Notificações de mudanças de estado de linhas de crédito

Por favor, forneça-nos este endpoint para receber notificações de mudanças de estado nas linhas de crédito. Você precisará nos devolver um código HTTP do tipo 2xx para evitar que enviemos novamente a notificação. Caso contrário, a reenviaremos.
Parâmetros disponíveis
Header Parameters
X-Api-Keystringrequired
Este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
Exemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
Exemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contém a hora em que a solicitação foi assinada, no formato unix-epoch, para que você possa verificar se a assinatura não expirou.
Exemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
O endpoint que você usou para gerar a assinatura, e para o qual é feita a solicitação. Use este header para gerar novamente a assinatura a ser validada, e compare-o com o endpoint do seu serviço para verificar se eles correspondem.
Exemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Exemplo: credit_line_paused
Enum: credit_line_pausedcredit_line_unpausedcredit_line_canceled
idempotency_keystringrequired
Identificador idempotente para criar o evento.
Exemplo: 27KxRhP9YB4ouoyt6a5vVJlY9fR
dataobject
Informações da linha de crédito afetada

Esta seção foi útil para você?

POST/credit-lines
{
"event_id":
"credit_line_paused"
"idempotency_key":
"27KxRhP9YB4ouoyt6a5vVJlY9fR"
"data":{
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"status":
"PAUSED"
"reason":
"IN_ARREARS"
}
}
Respostas de amostra

Notificações de entrada, saída ou permanência de mora um usuário

Você deverá nos informar este endpoint para receber as notificações de entrada, saída ou permanência de mora de um usuário. Esperamos uma resposta do tipo 2XX para garantir que você recebeu a notificação. Caso contrário, iremos reenviá-la.

Parâmetros disponíveis
Header Parameters
X-Api-Keystringrequired
Este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
Exemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
Exemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contém a hora em que a solicitação foi assinada, no formato unix-epoch, para que você possa verificar se a assinatura não expirou.
Exemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
O endpoint que você usou para gerar a assinatura, e para o qual é feita a solicitação. Use este header para gerar novamente a assinatura a ser validada, e compare-o com o endpoint do seu serviço para verificar se eles correspondem.
Exemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Exemplo: user_in_arrears
Enum: user_in_arrearsuser_out_of_arrearsuser_remains_in_arrears
idempotency_keystringrequired
Identificador idempotente para criar o evento.
Exemplo: 27KxRhP9YB4ouoyt6a5vVJlY9fR
dataobject
Informações do usuário afetado

Esta seção foi útil para você?

POST/debt
{
"event_id":
"user_in_arrears"
"idempotency_key":
"27KxRhP9YB4ouoyt6a5vVJlY9fR"
"data":{
"user_id":
"usr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"effective_at":
"2022-12-15T13:55:00"
}
}
Respostas de amostra

Notificações de resumos criados

Você deve indicar este endpoint para receber notificações dos resumos criados. Você deverá nos enviar um código HTTP do tipo 2xx para que não enviemos a notificação novamente. Caso contrário, vamos enviá-la novamente.
Parâmetros disponíveis
Header Parameters
X-Api-Keystringrequired
Este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
Exemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
Exemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contém a hora em que a solicitação foi assinada, no formato unix-epoch, para que você possa verificar se a assinatura não expirou.
Exemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
O endpoint que você usou para gerar a assinatura, e para o qual é feita a solicitação. Use este header para gerar novamente a assinatura a ser validada, e compare-o com o endpoint do seu serviço para verificar se eles correspondem.
Exemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Exemplo: statement_created
Enum: statement_created
idempotency_keystringrequired
Identificador idempotente para criar o evento.
Exemplo: lst-27KxRhP9YB4ouoyt6a5vVJlY9fR
dataobject
Informações do extrato criado

Esta seção foi útil para você?

POST/statements
{
"event_id":
"statement_created"
"idempotency_key":
"lst-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"data":{
"id":
"lst-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
}
}
Respostas de amostra