Webhooks
Key points
Ciklik webhooks send your store’s events (subscriptions, orders, transactions, invoices, shipments, customers, addresses, marketing opt-ins) in real time to a receiving URL of your choice, for a box store as well as for a PrestaShop site running the Ciklik module. Ciklik offers 18 events, such as created_subscription or updated_subscription, and you register one URL per event key in Settings > Sites, Advanced tab, Webhooks field, or through the API. Each delivery is a JSON POST request, and activation takes effect in under a minute. Webhooks are used to sync an ERP, feed a no-code tool such as Make or Zapier, or alert your logistics team.
A webhook notifies your system as soon as something changes in your Ciklik store: a subscription, an order, a shipment, a customer, a marketing opt-in. You provide a receiving URL for each event type. Ciklik sends the information there the moment it happens, without you having to poll anything.
What it is for
Section titled “What it is for”- Keep your store in sync with an ERP or a PrestaShop site, with no manual re-entry.
- Feed a spreadsheet or a no-code tool such as Make or Zapier.
- Alert your logistics team as soon as a new shipment is created.
- Trigger a custom e-mail from a tool outside Ciklik.
The 18 available events
Section titled “The 18 available events”| Object | Key | When it fires |
|---|---|---|
| Subscription | created_subscription | a subscription is created |
| Subscription | updated_subscription | a subscription is updated |
| Subscription | deleted_subscription | a subscription is deleted |
| Shipment | created_shippingbox | a shipment is created |
| Shipment | updated_shippingbox | a shipment is updated |
| Shipment | deleted_shippingbox | a shipment is deleted |
| Order | created_checkoutorder | an order is created |
| Order | updated_checkoutorder | an order is updated |
| Transaction | created_checkouttransaction | a transaction is created |
| Transaction | updated_checkouttransaction | a transaction is updated |
| Invoice | created_checkoutinvoice | an invoice is issued |
| Customer | created_user | a customer is created |
| Customer | updated_user | a customer is updated |
| Address | created_address | an address is created |
| Address | updated_address | an address is updated |
| Marketing opt-in | created_optin | a marketing opt-in is created |
| Marketing opt-in | updated_optin | a marketing opt-in is updated |
| Subscription | updated_change_choices | not via API the customer changes their product choices |
updated_change_choices cannot be enabled through the API: add it in the Webhooks field of your site’s Advanced tab.
Where to start
Section titled “Where to start”Not to be confused with
Section titled “Not to be confused with”| Mechanism | Where it is configured | What it sends | Page |
|---|---|---|---|
| Site webhooks (this section) | Sites, Advanced tab, Webhooks field, or vendors API | The events of your store: subscriptions, orders, shipments, customers… | this page |
| Abandoned cart reminder | Sites, Advanced tab, Abandoned cart follow-ups section | The contact details of an abandoned cart and a recovery link, signed with the X-Ciklik-Signature header | Abandoned carts |
| Newsletter block of the editor | Newsletter block settings, on your site | The e-mail address of a new newsletter subscriber | Retrieve newsletter subscribers |
These last two have a format and a lifecycle that have nothing in common with site webhooks.
Frequently asked questions
How do I know which event triggered a Ciklik webhook?
Only through the URL that is called: the payload does not contain the event name. Register a separate receiving URL for each event key.
Are Ciklik webhooks signed?
Not site webhooks: Ciklik adds no signature and no shared secret to them, so your receiving URL is the only secret in the setup. Use HTTPS and keep this URL confidential. Only abandoned cart reminder webhooks are signed, with the X-Ciklik-Signature header: see the Abandoned carts page.
Is a failed webhook sent again?
Only if the connection fails (DNS, refused connection, timeout, invalid certificate): Ciklik then makes up to 5 attempts in total. A 4xx or 5xx response is never retried, and a response that takes more than 30 seconds causes duplicates.
Can I receive Ciklik webhooks in Make or Zapier?
Yes. Create a Custom webhook module in Make or a Catch Hook trigger in Zapier, then register the URL it gives you for the event key you want.
Can every event be enabled through the API?
No. 17 keys can be enabled through the API. The updated_change_choices key can only be added in the Webhooks field of your site’s Advanced tab.