Lesson 02 · WhatsApp Business API for your app

Build vs. buy — and the pricing that decides it

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.

~8 min Knowledge + decision Depends on: Lesson 01
The lever most people miss Your reminders and note updates are utility templates (transactional, tied to an existing paid relationship) — ₹0.115 each. If Meta ever classifies them as marketing, they cost ₹0.8637.5× more. Category, not vendor, is your biggest cost variable. [Meta pricing]

1. India rate card (per delivered message, + 18% GST)

Template categoryRateYour usage
Utility₹0.115Billing reminder, "new observation note added", receipt. This is you.
Authentication~₹0.115–0.145OTP / login codes. Only if you add parent login.
Marketing₹0.863Promotions, re-engagement. Avoid unless truly promotional.
Service (user-initiated reply, in 24h window)Free → billable Oct 1 2026 at utility rateReplies 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]

Napkin math for your pricing Say an org has 40 students, you send each parent ~3 utility messages/month (reminder, note, receipt) = 120 msgs × ₹0.115 ≈ ₹13.8/month in raw Meta cost per org (+GST). Trivial against a monthly SaaS fee. Your cost floor is tiny — the real question is engineering effort and per-message margin, which is where build-vs-buy bites.

2. The two paths, honestly

Direct with Meta (Tech Provider)Via a BSP
You buildEmbedded 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 gatesBusiness 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 costMeta'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 orgYour popup → your backend. Full control of the tenant record.BSP mediates; the token may live with them, not you. Check data ownership.
Lock-inNone — you own the Meta relationship.Migrating later means re-onboarding every org's WABA.
Best whenVolume is real, you want margin control, and you have eng time.You want to validate fast with minimal Meta bureaucracy.

3. My recommendation for your situation

Recommended Start on a BSP that supports Embedded-Signup pass-through, but architect BSP-agnostically — then migrate direct once volume justifies it.

Reasoning specific to you:

  1. Your raw Meta cost is already tiny (₹~14/org/month). Early on, the money you'd "save" going direct is dwarfed by the weeks of Business Verification + App Review you'd spend before sending a single message. Time-to-first-parent-message wins at validation stage.
  2. A BSP removes the two hardest onboarding blockers — App Review and per-org WABA plumbing — while still letting you show the same one-click "Connect WhatsApp" button (that's the pass-through feature; insist on it, don't accept manual number provisioning).
  3. Protect your future: in your DB, store the same tenant shape from Lesson 01 (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.
  4. Switch to direct Meta when BSP margin on your monthly volume exceeds the eng cost of owning the integration — usually once you have dozens of active orgs and predictable volume.
Watch-out with BSPs Ask three questions before signing: (1) Do you support Embedded Signup pass-through so orgs self-onboard with one click? (2) Is the access token / WABA owned by my business portfolio or yours? (3) What's the all-in per-utility-message cost in India incl. any platform fee? These determine your margin and your exit cost.

4. What this means for the next lessons

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.

Check yourself

Q1. A "new observation note added" alert to a parent should be submitted as which category?

Q2. The main recurring downside of the BSP path is:

Q3. What keeps a future BSP→direct migration cheap?

Ask me: "Which specific BSPs support Embedded Signup pass-through in India?", "What exactly does Meta Business Verification require?", or "Show me the 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).