You can send Xpressbees, Blue Dart and DTDC tracking updates on WhatsApp by reading each shipment status from the courier (webhook push, status API poll or daily export) and firing an approved utility template through the WhatsApp Business API. On RichAutomate Client Pay each update costs about ₹0.215 all in, so three updates per order work out to roughly ₹0.65 per shipment.
Most Indian D2C sellers ship through more than one courier. An aggregator may handle part of the volume, while direct contracts with Xpressbees, Blue Dart or DTDC cover metros, heavy parcels or remote pin codes. If you ship through an aggregator, our Shiprocket WhatsApp order tracking integration guide covers that path. This guide is for sellers who hold direct courier accounts and want one consistent WhatsApp tracking experience across all three.
Why send courier tracking updates on WhatsApp
Courier SMS alerts arrive from sender IDs the buyer does not recognise, with a tracking link that opens a slow page. A WhatsApp message arrives from your verified brand name, sits in the chat the buyer already opens many times a day, and lets them reply. For a seller, that changes five things.
- Fewer "where is my order" tickets. Proactive shipped and out for delivery messages answer the question before the buyer asks it, which lowers support load during sale weeks.
- Better first attempt delivery. An out for delivery alert in the morning gives the buyer time to be home or to arrange someone to receive the parcel.
- Faster recovery of failed deliveries. When a courier marks a non delivery report, a WhatsApp message with reply buttons collects a new slot or address within minutes. See our WhatsApp NDR and failed delivery management guide for the full flow.
- One brand voice across couriers. The buyer sees the same message format whether the parcel moved with Xpressbees, Blue Dart or DTDC.
- A reply channel. Buyers can ask a question in the same chat, and replies inside the 24 hour service window are free per Meta.
Booking Xpressbees, Blue Dart or DTDC through one dashboard? See WhatsApp order updates for NimbusPost and iThink Logistics to send a single tracking flow.
What Xpressbees, Blue Dart and DTDC give a seller
All three couriers serve business shippers through a client panel and offer API based tracking to account holders. The details that matter for a WhatsApp build are which events you can read, how you receive them and how often you may call.
| Courier | Typical seller access | How status reaches you | Confirm with your account manager |
|---|---|---|---|
| Xpressbees | Client panel plus API access for business accounts | Tracking by AWB, with status push where enabled on your account | Whether webhook push is active, the status code list, NDR reason codes |
| Blue Dart | Business account with API credentials issued on request | Tracking query by waybill number, scan level history | API licence and login, rate limits, whether push notifications are part of your contract |
| DTDC | Contract customer account with API access for integrated shippers | Tracking by consignment number, bulk status reports | API document version, polling limits, export schedule for reports |
Two points keep expectations realistic. First, API scope depends on your contract and volume, so do not assume that a feature another seller has is switched on for you. Second, RichAutomate is not a listed partner of any of these couriers and this guide does not claim a one-click connector. The connection is built with standard webhooks, a small script or a middleware tool, and your courier account manager is the right person to confirm what your account can do.
What the courier data does not include
A courier knows the AWB number, the delivery address and the phone number printed on the label. It does not hold the buyer's WhatsApp consent, the product names or your order number format. Those live in your store or order management system, so the message is always assembled on your side by joining the courier status to your own order record.
Three ways to connect courier status to WhatsApp
| Route | How it works | Best for | Delay | Effort |
|---|---|---|---|---|
| 1. Webhook push | Courier posts each status change to your endpoint, which calls the WhatsApp API | Sellers whose account has push enabled | Seconds to minutes | Developer, one to two weeks |
| 2. Status polling | A scheduled job asks the courier API for open AWBs and sends a message when status changes | Accounts with tracking API but no push | 15 to 60 minutes | Developer or middleware, about a week |
| 3. CSV export | Download the daily status report and upload it as a WhatsApp broadcast list | Low volume sellers and quick starts | Same day | No code, one afternoon |
Route 1: webhook push
Where your courier account supports it, register an HTTPS endpoint and the courier sends a small JSON payload each time a parcel changes status. Your endpoint looks up the order by AWB, checks consent, picks the right template and calls the WhatsApp API. This is the fastest route and the cheapest to run, because you only do work when something changes. Verify the source of every request with the secret or IP rules the courier provides, and reply with a 200 quickly so the courier does not retry.
Route 2: status polling
If push is not available, run a scheduled job every 15 to 30 minutes. It collects all AWBs that are not yet delivered or returned, asks the courier tracking API for their latest status, compares it with the last status you stored and sends a message only on a change. Respect the rate limit in your API document, batch AWBs where the API allows it, and stop polling a parcel once it reaches a final state. Tools such as n8n, Make or Pabbly can run this loop without a custom server.
Route 3: CSV export
Every courier panel lets you download a status report. Filter the rows that moved to out for delivery or delivered today, keep the phone number, name and AWB columns, and upload the file as a broadcast with an approved utility template. This is manual, but it lets a seller with 20 to 50 parcels a day start this week and prove the value before paying for development.
Map courier statuses to WhatsApp messages
Each courier uses its own status names and codes, so the first job is a small mapping table that turns three vocabularies into one. Keep it short. Buyers do not need every hub scan, and each extra message adds cost and raises the chance of a block.
Get the India 2026 WhatsApp BSP price comparison
Wati vs AiSensy vs Interakt vs RichAutomate: Meta rates, platform fees and hidden costs, side by side. We send it to your WhatsApp in a minute.
| Normalised event | Courier scans that map to it | WhatsApp message | Category |
|---|---|---|---|
| Shipped | Picked up, manifested, in transit from origin | Order shipped, courier name, AWB and tracking link | Utility |
| Out for delivery | Out for delivery, with delivery agent | Arriving today, keep phone reachable, COD amount if any | Utility |
| Delivery failed | Undelivered, NDR, customer not available, address issue | We missed you, choose reattempt slot or update address | Utility |
| Delivered | Delivered, proof of delivery captured | Delivered, how to reach support, return window | Utility |
| Return started | RTO initiated, returned to origin | Usually internal alert only, or refund status for prepaid | Utility |
Send the shipped message once, even if the parcel passes through six hubs. For cash on delivery orders, pair this flow with a confirmation step before dispatch, as described in our WhatsApp COD confirmation and RTO reduction guide, so that you only ship orders the buyer still wants.
The API request that sends the update
Whichever route you choose, the last step is the same: one API call per status change. A typical request to the RichAutomate developer API looks like this.
POST {API_BASE}/api/v1/send-template
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"phone": "+919876543210",
"template": "order_out_for_delivery_v1",
"language": "en",
"variables": ["Priya", "RA-58214", "Blue Dart", "https://your-tracking-link"]
}
Three habits keep this reliable when volume grows.
- Send once per AWB and event. Store a key made of AWB plus normalised event and skip the send if it already exists. Couriers repeat scans and webhooks retry.
- Normalise the phone number. Convert every number to the +91 format with ten digits and drop rows that fail the check, instead of paying for a message that cannot be delivered.
- Record the message status. Save the delivered and read status that comes back on your WhatsApp webhook, so support can see what the buyer received.
If Delhivery is also in your courier mix, the same pattern applies, and our Delhivery WhatsApp integration guide walks through its status flow.
Templates that Meta approves for shipment updates
Shipment updates are transactional, so they qualify as utility templates when the text stays about the order. Keep each template to one purpose, put variables in the middle of sentences and avoid sales language. A sample out for delivery template:
Hi {{1}}, your order {{2}} is out for delivery today with {{3}}. Please keep your phone reachable. Track it here: {{4}}. Reply to this message if you need help.
Useful additions are a "Track order" URL button and, on the failed delivery template, quick reply buttons such as "Deliver tomorrow" and "Change address". A coupon or a product recommendation in the same message can lead Meta to reclassify it as marketing, which costs about ₹0.96 all in on Client Pay instead of ₹0.215. Our library of order confirmation and shipping message templates has copy you can adapt for each event.
Approval normally takes from a few minutes to a day. Submit all four or five templates together before you start development, in English first and then in Hindi or a regional language if a large share of your buyers prefer it.
Consent, DPDP and quality rating
A tracking message is welcome only when the buyer expects it. Build these checks in from day one.
- Opt in at checkout. Add a clear line such as "Send my order updates on WhatsApp" and store the timestamp, the source page and the number.
- Purpose limitation. Under the DPDP Act, use the number for the purpose the buyer agreed to. Order updates do not give you permission for promotional broadcasts.
- Easy opt out. Honour "STOP" replies and remove the number from future sends on the same day.
- Use your own data. Message the number the buyer gave your store, not a number taken from a courier report for an order that was not yours.
- Watch the quality rating. Blocks and reports lower the rating of your number and can reduce your messaging limit. No provider can truthfully promise that a number will never be restricted, so fewer and more relevant messages are the real protection.
Cost example for 3,000 orders a month
Take a D2C brand that ships 3,000 orders a month across the three couriers and sends shipped, out for delivery and delivered updates for each, plus a failed delivery alert on about 12% of orders.
| Item | Volume | Rate (all in) | Monthly cost |
|---|---|---|---|
| Shipped, out for delivery, delivered (utility) | 9,000 | ₹0.215 | ₹1,935 |
| Failed delivery alerts (utility) | 360 | ₹0.215 | ₹77 |
| Review or reorder message (marketing, opted in buyers) | 1,000 | ₹0.96 | ₹960 |
| Buyer replies inside the 24 hour window | Any | Free per Meta | ₹0 |
| Starter plan | 1 | ₹499 | ₹499 |
| Total | About ₹3,471 |
That is roughly ₹1.16 per order, and close to ₹0.67 per order if you send tracking updates only. On Client Pay, Meta bills its conversation charges to your own account directly and RichAutomate adds a flat ₹0.10 per message, with no setup fee and prices that include GST. The plan fee is returned as wallet credit. Check current plans on the pricing page and model your own volume in the WABA cost calculator. Meta rates can change, so treat these figures as a working estimate.
A four week rollout plan
- Week 1: access and templates. Ask each courier account manager for API documents, credentials and the status code list. Connect your number, submit the utility templates and add the opt in line at checkout.
- Week 2: start with CSV. Run Route 3 for one courier with the out for delivery message. Measure reply rate and ticket volume against the previous week.
- Week 3: automate one courier. Build webhook push or polling for your highest volume courier, with the mapping table and the send once rule.
- Week 4: add the rest. Extend the mapping to the other two couriers, switch on the failed delivery flow and review the numbers.
Track five numbers each week: "where is my order" tickets per 100 orders, first attempt delivery rate, share of failed deliveries recovered, return to origin rate, and the block rate on your templates. If the block rate rises, cut a message before you add one.
You can test all of this on a small batch first. Start a 14 day free trial with no card and 100 free credits, or book a demo and bring your courier status list so we can map it with you on the call.