APIDeveloper GuideIntegration

How to Send WhatsApp Messages via REST API (Without an Official Business Account)

A step-by-step guide to integrating WhatsApp messaging into your app using a simple REST API — no Meta approval, no Business API waitlist. Works with Node.js, Python, PHP, or plain cURL.

June 25, 2026·7 min read

The official WhatsApp Business API requires Meta approval, a verified Facebook Business account, and often weeks of onboarding. For developers who need to send WhatsApp messages today — for order confirmations, OTP codes, appointment reminders, or chatbot flows — there is a faster path: a hosted WhatsApp REST API that wraps the WhatsApp Web multi-device protocol.

This guide walks through sending your first WhatsApp message in under 10 minutes using WA SaaS.

What you need

  • A WA SaaS account — free 7-day trial, no credit card required
  • A WhatsApp number to use as your sender (a regular personal number works fine)
  • Any HTTP client: cURL, Axios, Python requests, or your framework's HTTP library

Step 1 — Connect your WhatsApp number

After signing up, open the dashboard and go to Sessions → New Session. A QR code appears on screen. Open WhatsApp on your phone, go to Settings → Linked Devices → Link a Device, and scan the code. Your number is now connected and ready to send.

You can connect multiple numbers as separate sessions — useful if you manage different brands or need failover.

Step 2 — Generate an API key

Go to Settings → API Keys → Generate Key. Copy the key somewhere safe. It is used as a Bearer token in every API request.

Step 3 — Send your first message

A single POST request is all it takes:

curl -X POST https://wasaas.org/api/v1/messages/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "YOUR_SESSION_ID",
    "phone": "966501234567",
    "message": "Hello from WA SaaS!"
  }'

Phone numbers must be in international format without the + prefix. For a Saudi number, that is 966 followed by the 9-digit local number.

A successful response returns {"status":"sent","message_id":"..."}. That is it — the message has been delivered.

Step 4 — Send images, documents, and audio

Text is just the start. You can send any media type that WhatsApp supports:

// Image with caption
{
  "session_id": "YOUR_SESSION_ID",
  "phone": "966501234567",
  "type": "image",
  "media_url": "https://example.com/product-photo.jpg",
  "caption": "Your order is ready for pickup!"
}

// PDF document
{
  "session_id": "YOUR_SESSION_ID",
  "phone": "966501234567",
  "type": "document",
  "media_url": "https://example.com/invoice.pdf",
  "filename": "Invoice-1042.pdf"
}

Step 5 — Receive inbound messages via webhook

To handle replies, go to Settings → Webhooks and enter your endpoint URL. Every time someone responds to your number, WA SaaS sends a POST request to your endpoint:

{
  "type": "inbound",
  "session_id": "YOUR_SESSION_ID",
  "phone": "966501234567",
  "message": "Yes, please confirm my order",
  "timestamp": "2026-06-25T09:14:00Z"
}

Your server can then reply programmatically using the same send endpoint, creating a two-way conversation loop.

Step 6 — Use message templates for consistency

Rather than building message strings in code, WA SaaS lets you create reusable templates with variable placeholders. A shipping notification template might look like:

"Hi {{name}}, your order #{{order_id}} has shipped and will arrive by {{date}}. Track it here: {{link}}"

At send time, pass the variable values in the request body. This keeps your code clean and makes it easy for non-developers to update the wording later.

Avoiding bans: what to watch out for

WhatsApp's anti-spam systems flag unusual sending patterns. A few rules of thumb:

  • Warm up new numbers gradually. Start with a low volume — 50–100 messages per day — and increase over 1–2 weeks.
  • Only message people who expect to hear from you. Cold-blasting purchased lists is the fastest way to get a number banned.
  • Use bulk campaigns for large sends. The built-in campaign feature adds random delays between messages, which mimics human behaviour and reduces flagging.
  • Keep opt-out simple. Let people reply "STOP" and honour it immediately.

What to build next

With a working API integration, common next steps include:

  • E-commerce notifications — order confirmed, shipped, delivered, review request
  • Two-factor authentication (2FA) — WhatsApp OTP has higher delivery rates than SMS in many regions
  • Customer support chatbot — keyword-triggered auto-replies handle common questions around the clock
  • Appointment reminders — reduce no-shows with an automated reminder 24 hours before
  • Bulk promotional campaigns — send offers to segmented contact lists with real-time delivery tracking

The complete API reference is available inside your WA SaaS dashboard under Docs. Every endpoint includes a live request builder so you can test without writing any code first.

Ready to send WhatsApp messages via API?

Start your free 7-day trial — no credit card required, first message in 10 minutes.

Get started free →
How to Send WhatsApp Messages via REST API (Without an Official Business Account) | WA SaaS Blog | WA SaaS