Webhooks

Este servicio será el encargado de notificarte los eventos relacionados a tarjetas de crédito.

Proceso de verificación de la firma digital del request

Junto con la notificación, enviaremos un conjunto de headers HTTP que te servirán para verificar su autenticidad.

Los headers HTTP que enviamos son:

  • x-api-key : este header te permitirá identificar qué api-secret tenés que usar en el caso que se hayan configurado múltiples pares de api-key y api-secret.

  • x-signature : este header contiene la firma digital (body + timestamp + endpoint) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.

  • x-timestamp : este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.

  • x-endpoint : el endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.

La firma digital es un código HMAC-SHA256 que se construye usando el api-secret y una serie de bytes que contienen la concatenación del timestamp, endpoint y request body codificados en UTF-8.

El siguiente es un pseudo-código para verificar que la firma digital de un request sea 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

Notificaciones de transacciones procesadas

Deberás indicarnos este endpoint para recibir las notificaciones de las transacciones procesadas. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
Parámetros disponibles
Header Parameters
X-Api-Keystringrequired
Este header te permitirá identificar qué api-secret tenés que usar en el caso que se hayan configurado múltiples pares de api-key y api-secret.
Ejemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
Este header contiene la firma digital (body + timestamp + endpoint) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.
Ejemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.
Ejemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
El endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.
Ejemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Ejemplo: transaction_processed
idempotency_keystringrequired
Identificador idempotente de creación del evento.
Ejemplo: ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR
payloadobject
Información de la transacción procesada
¿Te resultó útil esta sección?
POST/lending/v1/<client-url>/transactions
{
"event_id":
"transaction_processed"
"idempotency_key":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"payload":{
"id":
"ctx-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"status":
"APPROVED"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_id":
"crd-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"card_last_four":
"5439"
"user_id":
"usr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"local_amount":{
...
}
}
}
Ejemplo de respuestas

Notificaciones de pausado/despausado de líneas de crédito

Deberás indicarnos este endpoint para recibir las notificaciones de las transacciones procesadas. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
Parámetros disponibles
Header Parameters
X-Api-Keystringrequired
Este header te permitirá identificar qué api-secret tenés que usar en el caso que se hayan configurado múltiples pares de api-key y api-secret.
Ejemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
Este header contiene la firma digital (body + timestamp + endpoint) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.
Ejemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.
Ejemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
El endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.
Ejemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Ejemplo: credit_line_paused
Enum: credit_line_pausedcredit_line_unpaused
idempotency_keystringrequired
Identificador idempotente de creación del evento.
Ejemplo: lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR
payloadobject
Información de la línea de crédito afectada
¿Te resultó útil esta sección?
POST/lending/v1/<client-url>/credit-lines
{
"event_id":
"credit_line_paused"
"idempotency_key":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"payload":{
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"status":
"PAUSED"
"reason":
"IN_ARREARS"
}
}
Ejemplo de respuestas

Notificaciones de entrada o salida de mora de un usuario

Deberás indicarnos este endpoint para recibir las notificaciones de entrada o salida de mora de un usuario. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
Parámetros disponibles
Header Parameters
X-Api-Keystringrequired
Este header te permitirá identificar qué api-secret tenés que usar en el caso que se hayan configurado múltiples pares de api-key y api-secret.
Ejemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
Este header contiene la firma digital (body + timestamp + endpoint) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.
Ejemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.
Ejemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
El endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.
Ejemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Ejemplo: user_in_arrears
Enum: user_in_arrearsuser_out_of_arrears
idempotency_keystringrequired
Identificador idempotente de creación del evento.
Ejemplo: 27KxRhP9YB4ouoyt6a5vVJlY9fR
payloadobject
Información del usuario afectado
¿Te resultó útil esta sección?
POST/lending/v1/<client-url>/debt
{
"event_id":
"user_in_arrears"
"idempotency_key":
"27KxRhP9YB4ouoyt6a5vVJlY9fR"
"payload":{
"user_id":
"usr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"effective_at":
"2022-12-15T13:55:00"
}
}
Ejemplo de respuestas

Notificaciones de resúmenes creados

Deberás indicarnos este endpoint para recibir las notificaciones de resúmenes creados. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
Parámetros disponibles
Header Parameters
X-Api-Keystringrequired
Este header te permitirá identificar qué api-secret tenés que usar en el caso que se hayan configurado múltiples pares de api-key y api-secret.
Ejemplo: X-Api-Key: h3Ws4Cv09JcCdw7732ig+1Eq3I2b+IWOI1anUu1A4dE=
X-Signaturestringrequired
Este header contiene la firma digital (body + timestamp + endpoint) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.
Ejemplo: X-Signature: hmac-sha256 N70BkBKch1gwQDPj0jF0ooB9QQVXBEp5VQE+SGe6Z0k=
X-Timestampstringrequired
Este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.
Ejemplo: X-Timestamp: 1637117179
X-Endpointstringrequired
El endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.
Ejemplo: X-Endpoint: /client/api/session/completed
Body Parameters
event_idstringrequired
Identificador de evento.
Ejemplo: statement_created
Enum: statement_created
idempotency_keystringrequired
Identificador idempotente de creación del evento.
Ejemplo: lst-27KxRhP9YB4ouoyt6a5vVJlY9fR
payloadobject
Información del resumen creado
¿Te resultó útil esta sección?
POST/lending/v1/<client-url>/statements
{
"event_id":
"statement_created"
"idempotency_key":
"lst-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"payload":{
"id":
"lst-27KxRhP9YB4ouoyt6a5vVJlY9fR"
"credit_line_id":
"lcr-27KxRhP9YB4ouoyt6a5vVJlY9fR"
}
}
Ejemplo de respuestas