Webhooks

Autopilot provides the ability to receive notifications via http based on certain events (Webhook).

🔧 Technical Details

We’re using HTTPS to deliver a JSON payload to a provided URL using the POST method. The payload structure depends on the event type. We recommend choosing different URLs for different event types.

The supported event types are:

  • Product listing patch published

  • Product listing issue change (new / removed issues)

🔐 Authentication

For authentication we support adding a shared secret to the request header, for instance Authorization: Token <shared secret>. This allows you to easily validate any incoming request to the provided URL.

🛠️ Implementation Considerations

You can use your favorite tech stack to process the incoming notification and trigger the necessary actions to your internal systems.

We recommend that you process any complex operations in the background, i.e. after confirming that the webhook was correctly received by returning a 2xx HTTP result code (usually 200 or 201).

In case we receive a 4xx/5xx HTTP result code, the webhook will be retried up to 20 times with a progressive backoff.

We include a X-Request-Id header in every request which we recommend logging in case of issues with the received payload.

We’re using an at-least-once delivery paradigm so any actions on your side should be idempotent. Further, the ordering of delivery isn’t guaranteed. For instance in case of error responses from your endpoint the delivery will be retried at a later time. All our payloads include timestamps which will help you resolve those cases.

📝 Payload Schemas

In this section you can find the JSON schemas for the different event types.

Product listing patch published

Product listing issue change

Last updated