Skip to main content
Meta does not open every WhatsApp feature to every account. Calling, block lists and India payments are granted per business, sometimes per number, and sometimes only in certain countries. So LazyApp does not let you hard-code that knowledge. Ask:

Why a capability is false

Two different reasons, and the distinction matters:
  • Meta has not granted it to you. Calling starts false for everyone. When Meta approves your account, LazyApp turns it on per connection — no deploy on your side, no code change. Your integration should start working the moment the flag flips.
  • Your number does not qualify yet. groups and messages.group need an Official Business Account. POST /v1/groups/eligibility checks Meta and flips both flags to match.
  • Switched off for one connection. Block lists (block_users) and catalog sync default on; a connection can turn either off.
Either way the correct client behaviour is the same: read the flag, and degrade gracefully when it is false.

Using it well

Cache the response for a few minutes rather than calling it per send. It changes rarely, but do not cache it for the life of your process — the point is that it can change without you deploying.

Quality rating

quality_rating is Meta’s own signal — GREEN, YELLOW or RED — reflecting how recipients are reacting to your messages. A number sliding to RED risks having its messaging limit cut, so it is worth alerting on. You also receive phone_number.quality_changed webhooks.

Messaging limit tier

messaging_limit_tier is Meta’s send ceiling for that number (for example TIER_1K). It moves as quality and usage change. Pair it with quality_rating when you decide how aggressively to run broadcasts.