Cliqtel
  • 产品 ▾
    基础设施
    虚拟号码覆盖 70 多个国家的本地、移动和免费号码 SIP 中继适用于任何 PBX 的运营商级 SIP
    通信
    消息双向 SMS 与 WhatsApp 模板 云电话系统可视化呼叫流程、IVR、队列、CRM 弹屏 联络中心高级路由与 AI——抢先体验
    合作伙伴
    Cliqtel Connect面向 MSP 的白标平台
  • 解决方案
  • 价格
  • 文档
  • 关于
🇬🇧 EN 🇳🇱 NL 🇩🇪 DE 🇫🇷 FR 🇪🇸 ES 🇧🇷 PT 🇸🇦 AR 🇨🇳 ZH 🇯🇵 JA 🇮🇳 HI
登录 立即开始
Cliqtel
产品 虚拟号码覆盖 70 多个国家的本地、移动和免费号码 SIP 中继适用于任何 PBX 的运营商级 SIP 消息双向 SMS 与 WhatsApp 模板 云电话系统可视化呼叫流程、IVR、队列、CRM 弹屏 联络中心高级路由与 AI——抢先体验 Cliqtel Connect面向 MSP 的白标平台
覆盖范围 集成 价格 文档与帮助 关于
语言
EN NL DE FR ES PT AR ZH JA HI
登录 免费开始
← Help Center
On this page
Overview Template Types 1 — Order Confirmation 2 — Shipping Update 3 — Delivery Notification Rich Media Messages Delivery Webhooks Best Practices FAQ

Order & Shipping Notifications via WhatsApp

Messaging · 12 min read Notifications WhatsApp Templates
What this guide covers: How to send transactional order notifications via WhatsApp utility templates. Includes template examples for order confirmation, shipping updates, and delivery notifications with rich media (images, documents, buttons).

Overview

WhatsApp notifications outperform email and SMS for transactional messages. WhatsApp messages have 98% open rates (vs. 20% for email) and support rich content like images, PDFs, buttons, and tracking links — all within the messaging app your customers already use.

Use Meta's utility templates to send order confirmations, shipping updates, delivery notifications, and return confirmations without needing opt-in for each message type.

Template Types for E-Commerce

TemplateTriggerCategoryContent
order_confirmedAfter paymentUtilityOrder number, items, total, ETA
order_shippedCarrier pickupUtilityTracking number, carrier, link
order_deliveredDelivery confirmedUtilityConfirmation + review CTA
return_initiatedReturn requestUtilityReturn label, instructions
Template approval: Utility templates are typically approved within minutes. Create them in Meta Business Manager → WhatsApp Manager → Message Templates.

Step 1 — Order Confirmation

1Send order confirmation after successful payment

Template body example

TEMPLATE: ORDER_CONFIRMED
Hi 1,

Your order #2 has been confirmed!

Items: 3
Total: 4
Estimated delivery: 5

Track your order below.

Send via API

NODE.JS
await fetch('https://cliqtel.com/api/v1/whatsapp/messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    account_id: 1,
    to: customer.phone,
    type: 'template',
    template: {
      name: 'order_confirmed',
      language: { code: 'en' },
      components: [{
        type: 'body',
        parameters: [
          { type: 'text', text: customer.firstName },
          { type: 'text', text: order.number },
          { type: 'text', text: order.itemsSummary },
          { type: 'text', text: `EUR ${order.total}` },
          { type: 'text', text: order.estimatedDelivery },
        ]
      }, {
        type: 'button',
        sub_type: 'url',
        index: 0,
        parameters: [{ type: 'text', text: order.trackingUrl }]
      }]
    }
  }),
});

Step 2 — Shipping Update

2Notify when the order ships
TEMPLATE: ORDER_SHIPPED
Your order #1 is on its way!

Carrier: 2
Tracking: 3

Tap below to track your package.
NODE.JS
await fetch('https://cliqtel.com/api/v1/whatsapp/messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    account_id: 1,
    to: customer.phone,
    type: 'template',
    template: {
      name: 'order_shipped',
      language: { code: 'en' },
      components: [{
        type: 'body',
        parameters: [
          { type: 'text', text: order.number },
          { type: 'text', text: shipment.carrier },
          { type: 'text', text: shipment.trackingNumber },
        ]
      }, {
        type: 'button',
        sub_type: 'url',
        index: 0,
        parameters: [{ type: 'text', text: shipment.trackingUrl }]
      }]
    }
  }),
});

Step 3 — Delivery Notification

3Confirm delivery and invite a review
TEMPLATE: ORDER_DELIVERED
Hi 1, your order #2 has been delivered!

We hope you love it. Tap below to leave a review.
Conversion tip: Add a "Leave a Review" URL button to your delivery template. Post-delivery is the highest-intent moment for collecting reviews.

Rich Media Messages

WhatsApp templates support rich media headers. You can attach:

  • Images — product photos, order summary graphics
  • Documents — invoices, return labels (PDF)
  • Videos — product demos, unboxing guides
SEND TEMPLATE WITH IMAGE HEADER
components: [{
  type: 'header',
  parameters: [{
    type: 'image',
    image: {
      link: 'https://yourstore.com/images/order-12345-summary.png'
    }
  }]
}, {
  type: 'body',
  parameters: [
    { type: 'text', text: 'John' },
    { type: 'text', text: 'ORD-12345' },
  ]
}]

Delivery Webhooks

Track the delivery status of each notification by setting up a webhook. Cliqtel forwards Meta's status updates to your endpoint.

WEBHOOK PAYLOAD — DELIVERY STATUS
{
  "event": "whatsapp.status",
  "message_id": "wamid.abc123",
  "status": "delivered",          // sent | delivered | read | failed
  "timestamp": "2026-04-06T10:30:00Z",
  "recipient": "+31611398058",
  "errors": null
}
NODE.JS — WEBHOOK HANDLER
app.post('/webhooks/whatsapp-status', (req, res) => {
  const { message_id, status, recipient } = req.body;

  if (status === 'delivered') {
    console.log(`Message ${message_id} delivered to ${recipient}`);
    // Update order record with delivery confirmation
  }

  if (status === 'failed') {
    console.log(`Message ${message_id} failed, falling back to SMS`);
    // Send SMS fallback
  }

  res.sendStatus(200);
});

Best Practices

  • Send order confirmation immediately after payment — don't wait for processing
  • Keep messages concise — include only essential info (order number, ETA, tracking)
  • Use URL buttons for tracking links instead of embedding URLs in the body
  • Include an image header with product photos for higher engagement
  • Set up SMS fallback for customers who don't have WhatsApp
  • Respect quiet hours — don't send delivery notifications at 3 AM
  • Use the same WhatsApp number for all order messages to maintain conversation threading

FAQ

Do I need customer opt-in for order notifications?

Utility templates (order updates, shipping, delivery) are considered transactional and tied to an existing customer action. Meta allows these without explicit marketing opt-in. However, you should collect the customer's WhatsApp number at checkout with a clear indication that updates will be sent via WhatsApp.

How much do utility templates cost?

Pricing varies by country. In the EU, utility conversations cost approximately €0.02 per conversation (24-hour window). A conversation window opens when you send a template, and you can send multiple messages within it at no extra cost.

Can I send to customers who haven't messaged me first?

Yes — that's exactly what templates are for. You initiate the conversation with an approved template. The customer doesn't need to have messaged you first.

Start sending notifications

Connect your WhatsApp Business Account and create your first template.

WhatsApp Setup Guide →
© 2026 Cliqtel · cliqtel.com
关于我们 博客 合作伙伴 覆盖范围 API 文档 运行状态 隐私 条款 Cookie 帮助 搜索
cliqtel.com 由 Cliqtel B.V. 运营,注册地为荷兰泽斯特 · KVK 42033793 · VAT NL869402468B01 · SBI 62.09

我们使用必要的 Cookie 以确保 Cliqtel 正常运行。在您同意的情况下,我们也会使用分析类 Cookie 以改进我们的服务。Cookie 政策