Shopify: not receiving webhook events?
Shopify sends native webhooks: Shopify notifies Apideck as soon as something changes, and Apideck forwards it to you as a unified ecommerce event. Apideck registers these notifications with Shopify for you, but a few things have to be in place first.
Received the test notification but no real events?
When you create a webhook subscription, Apideck sends a test notification ({"message": "Validating delivery URL"}) to your delivery URL. It only checks that your endpoint responds. It doesn't involve Shopify or any store, so receiving it doesn't mean Shopify events are set up. See How does the webhook delivery URL validation work?
Checklist
Create your webhook subscription before connecting stores. Apideck registers Shopify notifications when a store's connection becomes active, and only for the ecommerce events your webhook subscription includes at that moment.
- If a store was connected before you created the subscription, or before you added the events, Apideck catches up automatically, usually within about a day.
- To start right away, ask the merchant to reconnect the store.
Subscribe to the ecommerce events you need, for example
ecommerce.order.created. See the list below.Make sure the connection is healthy. Events for a store whose connection needs re-authorization aren't delivered. See Why did my connection stop working?
Keep the app's access scopes. Shopify only sends notifications for data your app has access to, so keep the order, product and customer scopes.
Check your endpoint. It has to respond with a 2xx within 60 seconds, or the delivery is retried and eventually the subscription is disabled. See Are webhooks retried when they cannot be delivered?
Supported events
Event | Sent when |
|---|---|
| An order is created |
| An order is edited, paid, fulfilled or refunded |
| An order is paid |
| An order is fully or partially fulfilled |
| A refund is created |
| An order is deleted |
| A product is created, updated or deleted |
| A customer is created, updated or deleted |
Some Shopify changes produce two events. For example, a payment sends both ecommerce.order.paid and ecommerce.order.updated. Subscribe to the ones you need, and deduplicate on the x-apideck-idempotency-key header.
Still nothing?
Contact Apideck support through the Customer Portal (the Requests link at the top of this help center), your Slack channel with us, or support@apideck.com. Include the consumer ID and the event you expected.
