Lesson 02 · WhatsApp Business API for your app
You're in India, sending utility-type reminders to parents across many small orgs. Two integration paths reach the same feature; the right one depends on message category, volume, and how much plumbing you want to own. Here's the honest tradeoff and my recommendation.
| Template category | Rate | Your usage |
|---|---|---|
| Utility | ₹0.115 | Billing reminder, "new observation note added", receipt. This is you. |
| Authentication | ~₹0.115–0.145 | OTP / login codes. Only if you add parent login. |
| Marketing | ₹0.863 | Promotions, re-engagement. Avoid unless truly promotional. |
| Service (user-initiated reply, in 24h window) | Free → billable Oct 1 2026 at utility rate | Replies when a parent messages first. |
Source: current India rates via Meta + BSP rate cards (Jul 2026). GST is added on your invoice. [India rate reference]
| Direct with Meta (Tech Provider) | Via a BSP | |
|---|---|---|
| You build | Embedded Signup, token-code exchange, token storage/rotation, webhook handling, template submission. | Mostly call the BSP's REST API. Many BSPs offer Embedded Signup pass-through so your "Connect" button UX is identical. |
| Meta gates | Business Verification of your company + App Review for Advanced Access. One-time, can take days–weeks. | The BSP already cleared these. You inherit their access. |
| Per-message cost | Meta's rate only (₹0.115 utility). | Meta's rate + BSP margin (often a markup or per-message/platform fee — can 1.5×–3× effective cost, or a monthly platform fee). |
| Onboarding an org | Your popup → your backend. Full control of the tenant record. | BSP mediates; the token may live with them, not you. Check data ownership. |
| Lock-in | None — you own the Meta relationship. | Migrating later means re-onboarding every org's WABA. |
| Best when | Volume is real, you want margin control, and you have eng time. | You want to validate fast with minimal Meta bureaucracy. |
Reasoning specific to you:
waba_id, phone_number_id, token/handle, provider) behind a thin
MessagingProvider interface. Then "migrate to direct Meta" is swapping one adapter, not a rewrite.Because we're going BSP-first-but-portable, Lesson 03 will teach the provider-agnostic tenant storage model and the token lifecycle in a way that maps cleanly to both a BSP handle and a direct Meta token — so nothing you learn is wasted whichever way you jump.
MessagingProvider
interface you'd write." Naming your backend stack lets me make Lesson 03 concrete.
Primary source: Meta — Pricing on the WhatsApp Business Platform (confirm the live India numbers; rate cards drift).
Prev: Lesson 01 — Mental model · Reference: Glossary · Next: Lesson 03 — provider-agnostic tenant storage + token lifecycle (ask me to build it).