Skip to main content

WhatsApp & SMS Notifications

Send WhatsApp or SMS notifications for order events, abandoned carts, and more.


Overviewโ€‹

Flow:

  1. Admin configures gateway URLs in Settings.
  2. Admin creates notification templates in Products โ†’ Notifications (or similar).
  3. When triggers fire (e.g., order placed, invoice paid, abandoned cart), the module sends a request to the gateway.
  4. The gateway delivers the message via WhatsApp or SMS.

Configurationโ€‹

Gateway URLsโ€‹

  1. Go to Setup โ†’ Settings โ†’ Products.
  2. Under WhatsApp / SMS Notifications:
    • Enable the feature.
    • Enter SMS Gateway URL - Your SMS provider's webhook/API endpoint.
    • Enter WhatsApp Gateway URL - Your WhatsApp provider's webhook/API endpoint.
  3. Save.

Per-Template Overrideโ€‹

Each notification template can use the global gateway or a custom webhook URL.


Creating a Notification Templateโ€‹

  1. Go to Products โ†’ Notifications (or Product Notifications).
  2. Click New Notification.
  3. Configure:
FieldDescription
NameInternal name
ChannelWhatsApp or SMS
Triggerabandoned_cart, order_placed, order_paid
Recipientclient or staff
Message templateText with merge fields
Webhook URLOverride global (optional)
Webhook methodPOST or GET
Webhook bodyJSON template for the API
  1. Save.

Merge Fieldsโ€‹

Use these placeholders in the message template:

FieldDescription
{companyname}Your company name
{cart_link}Link to checkout
{cart_total}Cart total (abandoned cart)
{client_name}Customer name
{contact_phonenumber}Phone number
{order_id}Order ID
{order_date}Order date
{total}Order total
{invoice_number}Invoice number
{invoice_link}Link to invoice

Trigger Eventsโ€‹

  • abandoned_cart - When cron sends abandoned cart reminders.
  • order_placed - When an order/invoice is created.
  • order_paid - When an invoice is marked as paid.

Webhook Bodyโ€‹

The default body format is often:

{"to":"{contact_phonenumber}","body":"{message}"}

The {message} placeholder is replaced with the rendered message (JSON-encoded). Adjust the body template to match your gateway's API requirements.