Webhooks Reference

How they work

Webhook URLs will receive a POST request with JSON data related to the event that triggered the webhook.

See Events below for supported events and the associated JSON payloads.

Error handling

There are things that can go wrong even before a request reaches its destination (e.g. DNS resolution error, sudden network failure, etc.) and even if it does, the target system may not always be able to correctly process the request. This is why the notification delivery system is built to handle these failures.

Our webhook delivery system uses response status to determine whether a request has been successful or not.

  • 2XX response codes: The request is considered successful and the notification is considered as delivered, no retry needed.

  • Any other response status or error (such as connection error, timeout, etc.) is handled as an unsuccessful delivery attempt and the task is rescheduled for later.

Retries

If a webhook delivery fails, it gets retried. We use an exponential backoff strategy to determine how long to wait before attempting the delivery again.

We'll retry a webhook delivery up to 14 times (~24 hours of retrying), after which the delivery will be marked as retries exhausted and retries will stop.

Events

screenshot_set.approved

This event is fired when a set of screenshots is ready for download

Payload

Objects

ad

This object contains data about the ad creative. Notable fields include:

status

Status
Description

uploaded

The ad creative was captured successfully

not_found

We couldn't find the creative asset when loading the ad

net_read_timeout

We encountered network issues when loading the ad

generic_error

We encountered an error when loading the ad


screenshot

This object contains data about the screenshot. Notable fields include:

status

Status
Description

uploaded

The screenshot was generated successfully

ad_not_captured

The associated ad was not captured so the screenshot cannot be generated

net_read_timeout

We encountered network issues when generating the screenshot

no_slots_found

The requested site had no ad slots matching the associated ad dimentions

site_unreachable

The requested site was not reachable

ssl_error

We encountered an SSL error when generating the screenshot

generic_error

We encountered an error when capturing the screenshot

frame

This object contains data about which frame was specified for the screenshot. Notable fields include:

status

Status
Description

uploaded

The frame was captured successfully

failed

The frame capture failed

pending

The frame is waiting to be captured

The frame field will be:

  • Present with frame information when the screenshot is associated with a specific frame

  • null when the screenshot is not associated with a frame

Last updated

Was this helpful?