WhatsApp API for developers — BotYalla
BotYalla

For developers

The BotYalla API for WhatsApp

Send and receive WhatsApp messages for your business or your clients through their own Meta-connected number — with retried webhooks, a sandbox and clear metering. Meta bills the number's owner directly for messages.

Meta Tech Provider for WhatsApp Business

What you get

  • Send and receive from your number — Send WhatsApp messages from your Meta-connected number with a BotYalla key; the fields are familiar to WhatsApp developers.
  • Webhooks with retries — Retries at 1m · 5m · 30m · 2h · 12h, a stable delivery id, HMAC signature, a log and a resend button.
  • A sandbox with no Meta — by_test_ keys, numbers that return Meta's standard errors, and synthetic events to your webhook.
  • Clear metering — X-RateLimit-* on every response, Retry-After on 429, and per-key usage in your dashboard.
  • Contacts API — Search, upsert contacts and tag them from your server.
  • Revocable keys — Stored as an HMAC fingerprint, shown once, scoped to a number or the account.

What we don't do — plainly

  • We don't bill WhatsApp messages. Meta charges you directly on the payment method in your account — no markup from us.
  • We don't resell numbers or accounts: every number is connected to its owner's own Meta account.
  • We don't bypass Meta's rules: the 24-hour window, approved templates and marketing opt-in all still apply.
  • No SLA in this first phase.

Get started in 4 steps

  1. Connect your number from the BotYalla dashboard (official WhatsApp connection) — the number and the Meta account are in your name.
  2. On the bot's developer page: create a key (by_live_ for live, by_test_ for the sandbox).
  3. Send your first message to the send endpoint with the key — or try the sandbox first with no real number.
  4. Register your webhook URL and verify the X-BotYalla-Signature-256 signature.

How to pay Meta from Egypt

  • Meta asks for a payment method in your account (Business Settings → Payment methods / WhatsApp Manager) before paid messages go out.
  • Many cards issued in Egypt are restricted for international online payments or have a foreign-currency limit — ask your bank to enable international online payments and about the available limit.
  • Try a card meant for international payments (debit, credit or prepaid) depending on what your bank offers — we don't recommend any bank or product.
  • Your bank may charge currency-conversion fees; the billing currency and the price of each message category are set by Meta on its official pricing page.
  • If the card is declined: check 3D Secure, balance and daily limit, then retry or add another method. BotYalla never sees your card and never receives these payments.

Ready examples

OpenAPI spec · Postman collection