Supported Events
| Event | Description |
|---|---|
nomination.gate_closure_reminder | Reminder that gate closure is approaching (<8h left and has errors) |
nomination.file_created | A nominations file has been added/updated |
nomination.error_detected | An error/mismatch was detected in a nomination |
contract.added | A new PPA contract has been added |
customer.assigned | A new customer has been assigned to the BRP |
Payload Format
All webhook payloads follow this structure:data field contains event-specific details. The timestamp is the time the event occurred (ISO 8601, UTC).
Signature Verification
Payloads are signed using HMAC-SHA256 with a shared secret. The signature is included in theX-Webhook-Signature header.
To verify a webhook payload:
- Extract the
X-Webhook-Signatureheader value from the request. - Compute the HMAC-SHA256 of the raw request body using your shared secret.
- Compare the computed signature with the header value.
Always verify the webhook signature before processing the payload to ensure the request originates from Otark.
Best Practices
- Respond quickly: Return a
200status code within a few seconds. Process the event asynchronously if needed. - Handle duplicates: Events may be delivered more than once. Use the
timestampand event data to deduplicate. - Monitor failures: If your endpoint fails to respond, Otark will retry delivery with exponential backoff.