WhatsApp Order Updates from Shopify or WooCommerce (API)
Shopify and WooCommerce can fire an event when an order is created, paid or shipped. Here is what each can send, what Blueticks expects, and the bridge step that joins them.
Maya Cohen7 min read

On this page
- Can Shopify or WooCommerce call the Blueticks API directly?
- What does the Blueticks send call need?
- What are the API limits, and does WhatsApp need to be on?
- How does the Shopify side work?
- How does the WooCommerce side work?
- What goes in the bridge?
- Who should get an order message?
- What if the store sends the same event twice?
- How do you get delivery status back to the store?
- FAQ
A store knows the moment an order is created, paid or shipped. Blueticks can send a WhatsApp message from your own number through its API. This guide shows what Shopify and WooCommerce can send, what Blueticks expects, and how to join the two.
Can Shopify or WooCommerce call the Blueticks API directly?
Possibly on Shopify, not on WooCommerce. Shopify Flow has a Send HTTP request action with URL, headers and body. WooCommerce webhooks post a fixed payload to one delivery URL. Blueticks needs the phone number in the URL path, so a small bridge step is the safe route for both stores.
- Pick the order event that should trigger a message, such as an order being paid or fulfilled.
- Send that event to a bridge: Zapier, Make or n8n. On Shopify you can try Flow's HTTP action first.
- In the bridge, build the Blueticks request with the customer's phone number in the path.
- Store your
bt_live_key as a Bearer header in the bridge, not in the store theme or a public field. - Place a test order with your own number before real customers are involved.
Common mistake: putting the phone number in the JSON body. The Blueticks send endpoint takes the recipient in the URL path, and its body has no recipient field.
What does the Blueticks send call need?
One HTTPS request. The recipient is the last path segment, the key goes in the Authorization header, and the body says what to send. Any tool that can make an HTTPS request can send it. The same call is covered field by field in the n8n, Make and Zapier guide.
| Part | Value |
|---|---|
| Method | POST |
| URL | https://api.blueticks.co/v1/scheduled-messages/+5511987654321 |
| Header | Authorization: Bearer bt_live_YOUR_KEY_HERE |
| Body | JSON with type and text; sendAt is optional |
The path takes an E.164 number with a leading plus or a WhatsApp chat id. The own-number REST API guide explains the key and what it unlocks.
What are the API limits, and does WhatsApp need to be on?
On a free plan, the Blueticks API allows 5 requests per 6-hour window, shared with MCP. Any active subscription lifts that limit. A request is only useful if WhatsApp is connected. Sending needs a connected engine: the browser extension with your browser open, or the always-on Gateway on the Pro plan.
Each HTTP request counts once, so one order message is one of the five. A request over the free limit gets a 429 response. If no engine is connected, the API still accepts a scheduled message and can return a no_engine_connected warning. The message then stays pending until an engine connects, and fails if none does in time.
How does the Shopify side work?
Shopify Flow's Send HTTP request action has URL, Headers and Body fields. Shopify's help page lists it for Shopify Plus, Advanced and Grow plans. It supports Post and several other methods, and a Flow secret can be used in a URL, a header value or a body, which suits the API key.
Flow offers order triggers such as Order created, Order paid and Order fulfilled. The page's body examples use variables, and Shopify's variables page says you can add Liquid variables to any text field that shows an Add a variable link. The pages do not say whether the URL field shows that link, so check the action panel before you plan around a phone number in the path.
The phone number itself is the other check. Shopify's Order object describes its phone as the number associated with the customer for the order, and it is null if checkout did not collect one. Make phone a required checkout field, or expect some orders to have no number to message.
How does the WooCommerce side work?
WooCommerce webhooks pair a topic with a delivery URL. A topic is a resource plus an event, such as the order resource with the created event. For orders, the payload is described as exactly what the REST API would return, and the REST order's billing object has a phone field.
The delivery URL is fixed when you save the webhook, so the customer's number cannot go into it. That makes a bridge the normal route. WooCommerce signs each delivery in the X-WC-Webhook-Signature header, a base64 HMAC-SHA256 hash of the payload made with your webhook secret. WooCommerce's developer page says a webhook is disabled after 5 consecutive failed deliveries, and its store documentation says more than five.
What goes in the bridge?
The bridge catches the store event and makes the real Blueticks call. In n8n it is a Webhook node followed by an HTTP Request node. In Zapier it is Catch Hook followed by a Webhooks by Zapier request. In Make it is a Custom webhook module followed by an HTTP module.
Map the order's phone field into the path, and make sure it is in international format with the plus. Map a message field into text, using the order number or status from the event. The n8n, Make and Zapier guide has the exact fields for each tool.
This is a build with several steps, not a one-click connection. Test it end to end on your own number before it touches a real customer.
Who should get an order message?
Only customers who agreed to hear from you on WhatsApp. An order is a reason to write, but it is not the same as consent, and a number that blocks you hurts your own account. The opt-in best practices guide covers how to collect and record that agreement.
Keep order messages short and factual: what changed and where to reply. For cart reminders rather than order updates, see abandoned cart WhatsApp recovery.
What if the store sends the same event twice?
Both platforms can deliver again. Shopify's page says a Flow request that gets a 429 or a 5XX response can be set to retry, and retries run for up to 24 hours. A slow bridge can therefore cause a repeat.
Answer the store fast, then do the send. Keep a record of which order events you already messaged, so a repeat does not send a second message. Idempotent automated sends covers the pattern on the Blueticks side.
How do you get delivery status back to the store?
Register a Blueticks webhook with the events you want: message.queued, message.sending, message.delivered, message.failed and message.read. Those events track a message from queued through read, or failed. Point the webhook at a second bridge flow, which writes the result to the order using the store's own API.
Registration, signing and parsing are covered in the webhooks guide. Pace the sends if a sale can create many orders at once, and start with your own number.
FAQ
Is there a native Blueticks app for Shopify or WooCommerce?
No native store app is documented here. You connect through the HTTP API, directly from Shopify Flow where it fits, or with a bridge such as Zapier, Make or n8n.
Do I need a paid Shopify plan for Flow's HTTP action?
Shopify's help page lists Send HTTP request for Shopify Plus, Advanced and Grow plans. Check your own plan on that page.
Can I send the message later instead of right away?
Yes. The body takes an optional sendAt, so a message can be scheduled for a time you choose.
Where does the API key go?
In the bridge or a Flow secret, as an Authorization header with the word Bearer first. Do not paste it into a field that colleagues or customers can read.
Sources read on 2026-11-12: the Blueticks send endpoint and webhook event list in code, the free-plan rate limit and engine warning in code, the Shopify help pages on Flow's Send HTTP request action, Flow variables and order triggers, the Shopify Order object reference, the WooCommerce developer docs on webhooks and the REST order, and the WooCommerce store documentation on webhooks.


