API & developers

Send a template message through the API (any time)

POST /api/v1/messages/send with template_name, language and variables sends an approved template at any time. Meta's fee + ₹0.20 per message.

Last reviewed 9 November 2026

An approved template can be sent through the API at any time, with no 24-hour window needed. Use it for order updates, reminders and alerts from your own system, to customers who opted in.

Price

Two separate fees per message: Meta's fee for the template's category and the recipient's country, billed by Meta to the payment method on your WhatsApp Business Account (India: marketing ₹0.86, utility ₹0.115, authentication ₹0.115), plus PayPerWA's ₹0.20 ($0.004 on USD wallets) from your wallet. The answer's cost object shows both. If the send fails, PayPerWA's fee goes back to your wallet.

Request

POST https://payperwa.com/api/v1/messages/send
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "to": "919876543210",
  "template_name": "order_shipped",
  "language": "en",
  "variables": ["Priya", "#4821"]
}
  • variables fill {{1}}, {{2}} and so on, in order.
  • For a template with a media header, pass a public HTTPS image_url, video_url or document_url (with document_filename) for this send.
  • language defaults to en; set it to the language code of the approved template.
  • To pick the number, add the X-Channel-Id header (or channelId in the body); without it the template's own number is used.

Answers to handle

  • 403 CONTACT_OPTED_OUT: the number opted out, so a Marketing or Utility template is refused before anything is charged. Authentication templates (OTPs) still go.
  • 402 INSUFFICIENT_WALLET_BALANCE: recharge the wallet; nothing was sent.
  • 404: no approved template with that name (on that number, if you named one).
  • 400 OWN_NUMBER: to is the number you send from.

Delivery and read updates arrive through webhooks. For one-time codes use the Verify API. Full reference: API documentation.

Still stuck?

Chat with a person on WhatsApp or raise a ticket with a screenshot. We reply on every ticket by email.

Related articles

Chat with us