Skip to main content
POST
Receive a provider webhook

Headers

x-webhook-baas-signature
string
required

HMAC-SHA256 of the raw request body under the secret agreed with the provider, lowercase hex. It is verified by a per-operation middleware that runs before any schema check, so a request that omits it, or carries a value that does not match the body, is refused with 401 PBP-0500 and never with a schema error.

x-webhook-baas-entity
string

Provider entity name, repeating the body's entity member. Cross-checked against it; the body decides, because only the body is under the signature.

x-webhook-baas-event
string

Provider event name, which is the same value as the body's status member. Cross-checked against it; the body decides.

x-webhook-baas-notifyid
string

Provider identifier of the LOGICAL notification, as opposed to one delivery attempt of it. When present it becomes this delivery's deduplication key; when absent the key is derived from the envelope instead, and the delivery is still accepted.

x-webhook-baas-deliveryid
string

Provider identifier of ONE ATTEMPT to deliver a notification, as opposed to the notification itself. It decides nothing: it is never deduplicated on and no column holds it, because an attempt identifier is fresh on every retry. It is recorded in this endpoint's logs so a delivery can be matched against the provider's own list of failed attempts. A delivery without it is still accepted.

X-Correlation-Id
string

Optional provider correlation identifier. Persisted with the event when present.

Body

application/json
entity
string
required

Provider entity name the event belongs to, for example PaymentSlipPay or TaxDarfPayment. Cross-checked against x-webhook-baas-entity; the body wins.

pactualId
string
required

Provider-assigned primary key of the entity this event is about. A string representation of a GUID in every delivery seen so far, but not validated as one: the field is the provider's to shape.

status
string
required

Provider state the entity moved to, for example PAID. This IS the provider's event name — the x-webhook-baas-event header carries the same value — and it is stored as sent.

clientRequestId
string

Identifier this service sent when it created the entity, echoed back for correlation. Optional here even though the provider envelope declares it required.

createTimestamp
string<date-time>

Instant the provider recorded for this state, RFC 3339. Optional here: a delivery without one means no reference instant, not a malformed request.

Response

Accepted