Webhooks
Use webhooks when you want Doqlo to push terminal export-job results to your system instead of relying only on polling.
What Webhooks Are Used For
Webhook delivery is tied to the Public API job lifecycle:
- create the job with
delivery_mode=webhook - keep the returned
job_id - let Doqlo deliver the terminal event to your HTTPS endpoint
- use
GET /v1/bulkfill/export-jobs/{job_id}if you still need to read the job state directly
Webhook mode changes how terminal results are delivered. It does not change the underlying job states.
Current Event Types
The current terminal event types are:
bulkfill.export_job.completedbulkfill.export_job.failed
Webhook Receiver Requirements
- accept HTTPS
POSTrequests - return a
2xxresponse after you have accepted the event - verify the Doqlo signature before you trust the payload
- treat webhook handling as idempotent
- keep a copy of the received
event_idso retries do not trigger duplicate work
Delivery Model
- Webhooks are sent only for terminal job states.
GETand download requests do not emit new webhooks.- Delivery is bounded. Do not treat Doqlo webhook delivery as an indefinite queue.
- Deliveries currently use
User-Agent: Doqlo-Webhook/1.0. - Failed events can include
error_detailswhen a job aborted after exceedingmax_failed_row_percent.
What Webhooks Do Not Change
- Webhooks do not change whether a job ultimately completed or failed.
- Webhooks do not change threshold evaluation.
- Webhooks do not turn Bulk Fill into pay-per-produced-file billing.
- Threshold-failed jobs do not expose a downloadable ZIP artifact just because you chose webhook mode.