WhatsApp order messages for your buyers
Category: Orders · Min plan: Pro · Slug: whatsapp-sender
The WhatsApp Sender add-on writes to your buyer on WhatsApp at the moments that decide whether a cash-on-delivery parcel gets paid: when the order lands, when you confirm it, when it leaves with the courier, when the courier could not reach them, and when it is waiting at the pickup desk. Every message comes from the verified DZBuild WhatsApp Business number, carries your store name and the order number, ends with a Track my order button, and costs you one credit only when WhatsApp bills it.
Why it raises confirmation and delivery
A buyer who ordered at 11 pm on a phone forgets by noon which page they ordered from. The call from an unknown number goes unanswered, the courier's call goes unanswered, and the parcel comes back at your expense. Each message in this add-on removes one of those failure points:
- Order received. The buyer reads that your store got the order and that a call is coming to confirm it. The confirmation call now arrives to someone expecting it.
- On the way. The buyer learns the courier's name, the expected delay and the exact amount to prepare. The message asks them to keep the phone reachable, so the courier's call lands.
- Courier could not reach you. Instead of a silent second attempt, the buyer gets a message and can answer with a new time or a new address. The answer reaches you on Telegram and on the order page.
- Arrived at the desk. For stop-desk orders, the buyer is told where the parcel is and that it is kept only a few days, so they can collect it before it goes back.
The messages also leave something the phone call does not: a WhatsApp thread under your store's name, with the order number and a button to the tracking page. A buyer who opens WhatsApp weeks later and searches your store name finds that thread, and whatever they write there reaches you with the order it belongs to.
What the buyer receives
Five messages, each tied to an order event you can switch on or off. The texts are fixed because Meta approves them in advance; you choose the language and the delivery delay shown in the "on the way" message.
| Message | When it is sent | Default |
|---|---|---|
| Order received | The order lands in your store. The buyer reads that you will call to confirm. | Off |
| Order confirmed | You mark the order confirmed. The buyer reads that it is being prepared and the amount due. | Off |
| Order on the way | The order leaves with the courier. Home delivery: the courier will call, keep the phone reachable and the amount ready. Stop desk: the office it is heading to. | On |
| Courier could not reach you | The courier reports a failed attempt on a home delivery. The buyer can reply to change the time or address. | On |
| Arrived at the desk | The parcel reaches the pickup office. For a Pickup from Store order, it goes out when you mark the order shipped. The buyer is asked to collect it before it is returned. | On |
What the "on the way" message looks like, home delivery, French:
Bonjour Ahmed, votre commande n° 1024 chez Ma Boutique est en route avec Yalidine.
Livraison prévue sous 1 à 3 jours. Le livreur vous appellera avant d'arriver : restez joignable et préparez le montant de 3500 DA.
Appuyez sur le bouton pour suivre votre commande.
Rules that apply to every message:
- Language. Arabic or French for the whole store, chosen in the add-on settings. The store language is the default.
- Delivery delay. Free text of up to 60 characters shown in the "on the way" message, for example "1 à 3 jours".
- Algerian mobile numbers only. Numbers starting with 05, 06 or 07 get messages. Any other number is skipped and never charged.
- One message per event per order. Moving an order back and forth never sends the same message twice.
- Track my order. Every message ends with a button that opens your store's tracking page for that order.
What it costs
Messages are paid from a prepaid balance of credits, one credit per message. You top up in dinars, by global card (billed in USD) or by CIB / EDAHABIA card, in steps of 100 DA:
| Top-up amount | Price per message |
|---|---|
| From 2,000 DA | 4 DA |
| From 8,000 DA | 3 DA |
A single top-up goes up to 100,000 DA, and every message in the top-up is counted at the rate of the tier you reached.
One credit is reserved when a message is queued. It is kept only when WhatsApp bills the message. A message that fails, a message that is still undelivered after 30 days, and a message WhatsApp delivered without billing (for example, sent while the buyer had written to you in the previous 24 hours) all return their credit to your balance. In the log, a delivered message that was not billed carries a Free tag; a failed or undelivered one shows Refunded. A number without WhatsApp is skipped and never charged.
The add-on page shows four counters for the last 30 days: delivered, read, failed and free, plus the number of credits charged this month.
How to activate
- Open Dashboard → Add-ons and activate WhatsApp Sender. The WhatsApp messages entry appears in the sidebar.
- On the add-on page, top up your balance. The first messages go out as soon as the balance is above zero.
- Choose the language and the delivery delay text, then switch on the messages you want. "On the way", "Courier could not reach you" and "Arrived at the desk" are on from the start.
- Link your Telegram account in Dashboard → Notifications so buyer replies reach you on your phone.
Nothing changes on your storefront. Orders keep coming in the same way; the add-on only watches their status.
Replies from buyers
A buyer who answers one of these messages is answering your store, not DZBuild. The reply is stored on the order page under the WhatsApp section, and if your Telegram is linked it arrives there as a card with the buyer's text, the order number and two buttons: Reply on WhatsApp, which opens a chat with the buyer from your own WhatsApp, and Open order, which opens the order in your dashboard.
Since the messages go out from the DZBuild number, your reply comes from a different number than the one the buyer wrote to. The buyer sees your store name in the original message and your own number in the reply.
Voice notes, images, videos and documents are recorded as a reply with their type and caption, without the file itself; a location shared by the buyer arrives as a map link. An emoji reaction is not stored.
Which couriers trigger the delivery messages
"Order received", "Order confirmed" and "Order on the way" depend only on the order status in your dashboard, so they work with every courier and with orders you ship yourself.
The two other messages depend on what the courier reports back to DZBuild:
- Courier could not reach you is sent when the tracking status shows a failed attempt with Yalidine, Yalitec, Guepex, Easy & Speed, Economiqua, We Can Services, ZR Express, Abex Express, Leopard Express, Colilog, Flash Delivery, NOEST, Zimou, Colivraison and the couriers running on Ecotrack.
- Arrived at the desk is sent when Yalidine, Yalitec, Guepex, Easy & Speed, Economiqua, We Can Services, ZR Express, Abex Express, Leopard Express, Colilog or Flash Delivery report that the parcel reached the pickup office, and for Pickup from Store orders when you mark them shipped.
With a courier that does not report these events, nothing is sent and nothing is charged.
For developers
The add-on is available over the DZBuild API, with the same templates and the same balance as the dashboard. An API key with the whatsapp:read and whatsapp:send scopes comes from Dashboard → Developers → API on the Enterprise plan, or from an installed app on any plan.
| Endpoint | Scope | What it returns |
|---|---|---|
GET /v1/whatsapp/templates | whatsapp:read | The five templates with their Arabic and French text and approval status |
GET /v1/whatsapp/balance | whatsapp:read | The credit balance and the 30-day counters |
GET /v1/whatsapp/messages | whatsapp:read | The message log, filterable by order, with the billing field: charged, free or null while open |
POST /v1/orders/{id}/whatsapp | whatsapp:send | Queues one template for one order, paid from the balance like an automatic send |
Send the "order confirmed" message for one order:
curl -X POST https://api.dzbuild.app/v1/orders/6894/whatsapp \
-H "Authorization: Bearer $DZBUILD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"template": "confirmed"}'
The full contract, error codes and the message log fields are in the WhatsApp messages API reference. Guides for building an app on the platform are at dzbuild.dev.
FAQ
When are messages sent, and to whom? Only at the moments you switch on: order received, confirmed, on the way, courier could not reach the buyer, and arrival at the pickup desk. Each message goes once per order, and only to Algerian numbers starting with 05, 06 or 07.
How much does a message cost? 4 DA per message from 2,000 DA, 3 DA per message from 8,000 DA. You can raise the amount freely; every message in the top-up is counted at the rate of the tier you reached. One credit is reserved per send.
The buyer has no WhatsApp or the send fails. Do I pay? No. A number without WhatsApp is not charged and appears as "Not sent". A message that fails or is not delivered within 30 days is credited back automatically. If WhatsApp does not bill a delivered message (for example, sent while the buyer had written to you in the last 24 hours), it is credited back too and tagged "Free". You pay only what WhatsApp bills.
Can the buyer reply? Yes. The reply appears on the order page and reaches you on Telegram with a button to answer from your store's WhatsApp. Messages go out from the official DZBuild number, so your reply does not come from the same number.
Which number does the buyer receive the message from? The official, verified DZBuild WhatsApp Business account. Every message carries your store name and the order number, so the buyer knows from the first line that it is about their order with you.
The "arrived at the desk" message does not go out for some orders. Why? It depends on what the courier reports. It works today with Yalidine, ZR Express and the couriers that send a "waiting for the customer" status. With the others, nothing is sent and nothing is charged.
Which messages are free? Every message WhatsApp does not bill is free for you too. Today that is any message delivered within 24 hours after the buyer wrote to you, so a buyer who answers your messages makes the next ones free: it shows in the log with a Free tag and the credit stays in your balance. A message that fails or never arrives is credited back too and shows Refunded.
Can I change the text of the messages? No. The texts are fixed because Meta approves them in advance. You control the language, which messages are sent, and the delivery delay shown in the "on the way" message.