Endelir
Start free
Use case

WhatsApp COD confirmation for online orders

Endelir confirms cash-on-delivery orders on WhatsApp before you pack them: your order system sends the check, the customer answers in the chat, and the answer comes back to you. A cash-on-delivery order costs you nothing to place and a courier run in each direction to get wrong. Endelir asks the customer to confirm the order and the address on your business number, and brings the answer back to your order system before anyone picks the item off a shelf.

Start free for 14 daysTalk to us
A man at a roadside tea stall in the rain, answering a customer on his phone between visits
Live
Message to inbox in under a second.

Nobody paid, so nothing is settled

A prepaid order tells you the customer meant it. A cash-on-delivery order tells you someone filled in a form. Most of them are real. The rest are a duplicate placed twice on a slow connection, a flat number left out, a phone number typed wrong, or an order somebody placed and thought better of an hour later. You find out at the door, after the parcel has travelled.

The usual answer is a call desk. It rings a list, and an unknown number ringing during a working day is easy to ignore. What does get answered happens at whatever time the desk reaches it, the customer has to talk to a stranger about their address, and nothing written survives the call except a tick in a spreadsheet. By the time the second attempt is made the parcel has already been picked.

Ask once, in writing, and get the answer back into your system

When a cash-on-delivery order is placed, your system calls the Endelir API and Endelir sends the customer an approved template with the order number, what they ordered, the amount to keep ready and the delivery address as it was typed. The customer answers when they see it — a tap on a button, or a message in their own words. The reply lands in your shared inbox, and it is posted to the webhook URL you gave us, so your own system learns the answer without anyone re-keying it.

Endelir does not hold your orders. It does not confirm, edit, hold or cancel one, and it has no packaged connection to Shopify or WooCommerce today — the call comes from your store, your order-management system, or anything of yours that can make an HTTP request. What Endelir does is run the conversation and hand back what the customer said, so the rule about what a confirmed, corrected or unanswered order means stays where it belongs, in your system.

How it works

  1. 1 The order is placed Your store or order system creates a cash-on-delivery order and calls the Endelir API with the order number, the items, the amount and the address.
  2. 2 The check goes out Endelir sends an approved template to the number on the order, with those details written into it, so the customer is confirming something specific rather than answering "which order?"
  3. 3 The customer answers They tap a button on the template if it has one, or write back. Either way the reply arrives in the shared inbox and on your webhook.
  4. 4 A flow reads the answer A chat flow branches on what they said — confirmed, wrong address, did not order this — and saves the answer onto the contact record instead of leaving it in the chat.
  5. 5 A correction is captured If the address is wrong the flow asks for the right one, stores it, and a webhook step passes it to your system, which stays the record the warehouse works from.
  6. 6 Silence gets one reminder A wait step holds the conversation and sends a single follow-up template. After that the order sits on your exception list — Endelir never cancels it.
  7. 7 A person takes the rest Anything that is not a plain yes is assigned to someone in the inbox, with the whole thread and the order details already in front of them.

What this looks like in practice

A retailer ships most of its orders cash on delivery. Two people spend their morning calling the previous day's list, get through to the ones who pick up, and pack the rest on faith. The parcels that come back tell them nothing about why.

Now the order system calls Endelir the moment a cash-on-delivery order is created. The customer gets one message with the order and the address in it and answers it when they pick up their phone. Confirmations go straight back through the webhook and the order moves to packing untouched. Corrected addresses and denials go to the same two people, who now handle the exceptions instead of dialling the whole list.

What can happen next

They confirm The flow calls your system through a webhook step, and the order moves on under your own rule. Nothing waits for a person.
They fix the address The flow asks for the correct address and saves it against the contact, so your team can check it against what the courier will actually serve before it is packed.
They say it was not them The conversation is assigned to a person and your system is told, so the order can be held or dropped by your rule rather than ours.
They ask a question first Delivery time, size, whether two orders can come together. Common ones can be answered by a keyword auto-reply; the rest go to your team in the same thread.
They want to pay in advance You can send your own payment link in the conversation. Endelir does not collect the money and takes no part in the payment.
Nothing comes back One reminder template goes out after a wait, and then the order appears as an exception for your team to decide on.

Who this suits

Ecommerce and D2C The flat number, the landmark and the phone number checked while the order is still a row in a database.
Fashion and footwear The size and colour read back to the customer before the parcel goes out, not after it comes back.
Electronics and appliances A high-value parcel confirmed with the person who is going to hand over the cash for it.
Furniture and large items A failed delivery is a truck and two people. Confirm somebody will be in, and that the item can get up the stairs.
Pharmacy and wellness Address and availability confirmed without putting anything about the contents of the order in the message.
Wholesale and B2B supply A repeat order confirmed against the buyer's own reference before a pallet is made up.

What to know before you set it up

A confirmation tied to the order the customer has just placed fits a Utility purpose. Adding "order again and save 15%" to it does not — that is Marketing, and a discount does not become Utility by travelling inside a confirmation. Keep the offer as a separate message to customers who have opted in to hear from you. Meta decides the category when it approves the template, and Endelir keeps track of which templates you have and what state they are in.

The confirmation is business-initiated, so it goes out as an approved template unless the customer happens to have written to you in the last 24 hours, and it needs that customer's recorded permission to be messaged — the checkout is where most retailers capture it. The number on the order has to be theirs and has to be reachable on WhatsApp. One more thing worth saying out loud: we publish no figure for how many failed deliveries this prevents. The list below is what your own numbers will tell you after a month.

What to watch

  • How many cash-on-delivery orders get any answer at all
  • How long the answer takes to arrive
  • How many are confirmed, and how many are flagged
  • How many addresses are corrected before packing
  • How many orders reach your team as exceptions
  • What happens to the orders nobody answers
  • How your return-to-origin rate moves once confirmation is in front of fulfilment

Questions people ask

Can WhatsApp automatically confirm a cash-on-delivery order?

Yes, once your own system says an order exists. Endelir has no view of your shop, so the sequence starts with your store or order-management system calling the Endelir API with the order details. Endelir then sends the customer an approved template carrying those details, and their answer comes back to you on the webhook URL you configured, as well as appearing in your shared inbox. If you run on Shopify or WooCommerce, the packaged connection for those platforms is not switched on yet, so today the call is made by your own code or by any tool of yours that can send an HTTP request.

Is COD confirmation a Utility message?

A confirmation request tied directly to an order the customer has just placed generally fits a Utility purpose. What changes that is what you put in it. A message that asks them to confirm the order, the amount and the address is doing a job the order created. A message that also offers a discount for ordering again is promotional, whatever it is labelled. Meta assigns the category when it reviews the template, so the practical advice is to keep the confirmation template plain and send anything promotional separately, to customers who have opted in.

What happens if the customer does not confirm the COD order?

That is your policy, not ours, and Endelir will not decide it for you. A flow can wait a set period and send one more approved template, which is usually enough to catch someone who was busy the first time. After that the order stays exactly as your system left it, and the conversation can be assigned to a person so somebody looks at it. Endelir never cancels an order and has no way to — it does not hold your orders. If you want unanswered orders held, cancelled or packed anyway, that rule lives in your own system and runs on what the webhook told it.

Can customers correct their delivery address during COD confirmation?

Yes. If the customer says the address is wrong, the flow asks for the right one and writes the answer onto their contact record rather than leaving it buried in the chat. A webhook step in the same flow can pass it to your order system, or your team can move it across from the inbox where it is sitting in plain sight. The order system stays the record the warehouse and the courier work from — a corrected address that only exists in Endelir will not reach the parcel, so make the hand-back part of the setup rather than an afterthought.

Can COD confirmation reduce return-to-origin orders?

Confirming that the customer meant to order, and catching a wrong or incomplete address, removes two of the common reasons a cash-on-delivery parcel comes back. How much that moves your own return-to-origin rate depends on your category, your price points and your courier. We do not publish a percentage for it, because we would be making it up. Measure it yourself: the rate for a month before you switch this on, and the rate for a month after, split between orders that were confirmed and orders that were never answered.

Can I ask a COD customer to switch to prepaid?

You can offer the choice, and you can send your own payment link in the conversation if they want it. Be careful how you package it. An incentive to pay in advance — a discount or free shipping for going prepaid — carries promotional intent, and putting it inside a Utility confirmation to avoid that is exactly the sort of thing Meta reviews templates for. Send the offer as its own message to customers who have opted in to marketing. Endelir does not collect the payment either way; the link and the money are yours.

What happens if the customer says they did not place the order?

The flow records the denial, your system is told through the webhook, and the conversation is assigned to someone on your team so a person reads it before anything is packed. Holding the order, cancelling it, or checking whether a family member placed it is your rule to apply in your own system. This is one of the reasons the question is worth asking before fulfilment rather than after: at this point in the day the only thing spent is one message.

Verify the order before your team spends time fulfilling it.

Connect your business number, point your order system at the API, and let the customer confirm in writing. We set the number up with you on a call and go through the order payload with whoever writes your integration.

Start free for 14 days Talk to us

14 days free. No credit card. We call you to set the number up.