Saltar al contenido principal
WEBHOOK

Encabezados

Content-Type
string
requerido

Siempre JSON.

Allowed value: "application/json"
X-Webhook-Event
string
requerido

Nombre del evento.

Allowed value: "request.updateStatus"
X-Webhook-Id
string
requerido

Identificador del tipo de evento.

Allowed value: "1"
X-Webhook-Event-Id
string<uuid>
requerido

Identificador único de esta ocurrencia del evento, en formato UUID v4. Se repite en todos los reintentos y en los reenvíos. Úsalo para detectar entregas duplicadas. Ver Entregas y reintentos.

Ejemplo:

"3f6c2a1e-8b4d-4c2a-9e1f-7a5b6c8d9e0f"

X-Webhook-Timestamp
string
requerido

Momento en que Pruff generó la entrega, en segundos Unix.

Ejemplo:

"1769547728"

X-Webhook-Signature
string
requerido

Timestamp y firma HMAC-SHA256 de la entrega, con el formato t={timestamp},v1={firma}. Ver Headers y firma.

Ejemplo:

"t=1769547728,v1=2789cdd9...e734d"

X-Webhook-Attempt
enum<string>
requerido

Número de intento, de 1 a 4.

Opciones disponibles:
1,
2,
3,
4
X-Webhook-Replay
string

Solo viene en un reenvío pedido a Pruff, y siempre vale true. En una entrega normal y en sus reintentos no viene. Ver «Reenvíos» en Entregas y reintentos.

Allowed value: "true"

Cuerpo

application/json
requestId
requerido

Identificador de la solicitud. Llega como número, salvo en dos casos. Cuando se activa una solicitud de factoring al ejecutar sus giros, llega como string numérico ("1843"): conviértelo a número antes de usarlo. Cuando el comité de operaciones rechaza una solicitud de factoring, trae el identificador de la cotización, no el de la solicitud.

Ejemplo:

1843

requestType
enum<string>
requerido

Tipo de solicitud.

Opciones disponibles:
factoring-request,
confirming-request,
credit-request,
leasing-request
requestStatus
string
requerido

Nuevo estado de la solicitud. Los estados que se envían hoy son:

  • factoring-request: CREATED, IN_REVIEW, QUOTED, ACCEPTED, REJECTED, IN_TRANSFER, ACTIVE, COMPLETED, DELETED.
  • confirming-request: IN_REVIEW, ACCEPTED, REJECTED, IN_TRANSFER, ACTIVE, COMPLETED, DELETED.
  • credit-request: IN_REVIEW, REVIEWED, ACCEPTED, REJECTED, IN_TRANSFER, ACTIVE, COMPLETED.
  • leasing-request: IN_REVIEW, ACCEPTED, REJECTED, IN_TRANSFER, ACTIVE.

Trata la lista como abierta: un estado que no conoces no debe romper tu integración.

Ejemplo:

"ACCEPTED"

requestStatusName
string

Nombre del estado en español, para mostrar. No viene cuando Pruff no tiene nombre para ese estado, lo que hoy solo puede pasar en solicitudes de crédito (por ejemplo, con REVIEWED). En leasing-request, IN_TRANSFER llega como En giro. Basa tu lógica en requestStatus.

Ejemplo:

"Aceptada"

currency
enum<string>

Moneda de la solicitud. Solo viene en solicitudes de crédito, y solo en algunos cambios de estado: no cuentes con ella. Cuando viene, nunca es null.

Opciones disponibles:
CLP,
UF,
USD,
EUR,
UTM,
COP,
ARS,
PEN,
BRL,
MXN
requestData
object

Detalle de la solicitud de factoring. Solo viene cuando requestType es factoring-request y requestStatus es CREATED, y en esas entregas siempre viene.

Respuesta

200

Cualquier respuesta 2xx da la entrega por recibida. Pruff reintenta ante 408, 429, 5xx, un timeout o un error de red. Cualquier otro 4xx y cualquier 3xx son una falla definitiva y no se reintentan. Ver Entregas y reintentos.