🚀 GoSendAPI is in beta — Meta App Review in progress. Get on the waitlist →
Core ConceptsPhone numbers

Phone numbers

A phone number is a registered WhatsApp Business line. It’s the single most important identifier in the API — every message you send specifies a phone_number_id.

WABA business_id=123
  ├── PhoneNumber phone_number_id=555123456789  +54 11 5555 1234  (quality: green)
  └── PhoneNumber phone_number_id=555987654321  +54 11 5555 5678  (quality: yellow)

phone_number_id is the key

Meta gives each registered phone a unique numeric ID (phone_number_id). This is what you pass to send/receive operations — not the human-readable phone string.

# ✓ Correct
POST /v1/messages
{
  "phone_number_id": "555123456789",
  "to": "5491140123456",
  ...
}
 
# ✗ Wrong — using display phone instead of ID
POST /v1/messages
{
  "phone_number_id": "+5491155551234",
  ...
}

The phone_number_id is stable across number ports, display name changes, etc. It’s the only safe identifier to persist in your DB.

Properties

FieldTypeDescription
idbigintInternal numeric ID
waba_idbigintInternal WABA ID
phone_number_idstringMeta’s identifier — use this in all API calls
display_phone_numberstringHuman-readable: +54 11 5555 1234
display_phone_number_normalizedstringE164 without spaces: 5491155551234
display_namestringWhat contacts see on top of the chat
verified_namestringIf business verified, the legal name
quality_ratingenumgreen / yellow / red / unknown
throughput_tierstringStandard / High (msg/sec capacity)
connection_typeenumdedicated / coexistence
is_coexistencebooleantrue if the number ALSO runs the consumer WhatsApp Business app
is_official_business_accountbooleanGreen checkmark from Meta
inbound_processing_enabledbooleanIf false, we ignore inbound webhooks
calls_enabledbooleanWhatsApp Calls API enabled (beta)
statusstringLifecycle status (active/disconnected/pending)

Quality rating

Meta assigns a quality rating based on contact feedback (block rate, complaint rate, etc.):

RatingMeaningEffect
🟢 greenHealthyHigher messaging limits, recommended
🟡 yellowSome complaints, watch outLower throughput, monitor your content
🔴 redHigh complaints — can be downgradedLowest tier, risk of suspension
unknownBrand new number, not enough data yetTreated as green initially
⚠️

If quality drops to red, the next escalation is WABA suspension. Pause marketing sends and double-check your opt-in flow immediately.

GoSendAPI emits a whatsapp.phone_number.quality_update webhook event when the rating changes, so you can react in real-time.

Connection types

TypeWhen
dedicatedThe number is only for Cloud API. Recommended. Highest reliability.
coexistenceThe number is also registered in the WhatsApp Business consumer app. The customer can use both. Meta beta — not always stable.

Throughput tiers

Meta limits how many messages/second a number can send:

TierLimitHow to upgrade
Standard80 msg/sDefault for new numbers
Medium200 msg/sSustained volume + green quality
High1000 msg/sApply to Meta, requires consistent traffic + green
UnlimitedNo limitEnterprise customers, Meta approval

The dashboard shows the current tier and you can apply for upgrades from there.

Phone number lifecycle

provisioning (during Embedded Signup)


pending (WABA created, waiting for PIN verification)


active (can send/receive)

   ├──> disconnected (token expired or revoked)
   │       │
   │       └──> active (after reconnect)

   └──> deleted (customer removed it)

Webhooks for phone events

EventWhen it fires
whatsapp.phone_number.createdNew phone registered to a WABA
whatsapp.phone_number.quality_updateQuality rating changed
whatsapp.phone_number.deletedPhone removed from WABA

Configure these in Webhooks to keep your system in sync.

What’s next