Sign inGet started

WhatsApp-telefoonnummers

Een WhatsApp-bericht vertrekt vanaf een van twee soorten nummers: een dat Bird namens jou beheert, of een dat je eigen werkruimte bezit. Welk nummer je hebt, bepaalt wat je kunt versturen en of een verzending überhaupt een afzender toont.
De pagina Numbers toont beide. Het veld from in het verzendantwoord en het berichtenlogboek geeft aan welk nummer een bepaald bericht heeft gebruikt.
De WhatsApp Numbers-pagina in het Bird-dashboard: een tabel met de kolommen Status, Name, Number, WABA en Created, met een Pre-verified nummer dat nog de actie Finish setting up aanbiedt en een Connected nummer op het Goldcrest-bedrijfsaccount, boven drie door Bird beheerde nummers

Door Bird beheerde nummers

De eigen nummers van Bird vereisen geen configuratie en bevatten de vooraf goedgekeurde templates waarvan de slugs beginnen met bird_. Bird selecteert er een op basis van de categorie van het template en je regio: authentication-templates gebruiken een speciaal authenticatienummer, utility-templates een notificatienummer. Een verzending met een beheerd template heeft daarom geen from-veld, en het instellen ervan wordt geweigerd.
Deze nummers gebruiken door Bird beheerde verzendinfrastructuur, dus de afzender die je ontvanger ziet is die van Bird in plaats van die van jou, en vrij geformuleerde inhoud kan er niet via worden verstuurd. Ze zijn gemarkeerd als Bird-managed in de WABA-kolom.

Je eigen nummer

Een eigen nummer koppelen maakt het mogelijk om onder je eigen merk te verzenden: je eigen templates, en vrij geformuleerde inhoud binnen een open klantenservicevenster. Elke verzending vanaf dit nummer vermeldt het nummer in from.
Je koppelt het vanaf de pagina Numbers, in de Embedded Signup-popup van Meta. Er zijn twee manieren, en ze verschillen in wie de verificatiecode leest die Meta naar het nummer stuurt:
  • Ik heb een eigen nummer. Je ontvangt de code van Meta via SMS of spraakoproep en typt hem zelf in het Embedded Signup-venster. Kies het ondersteunde migratie- of het geschikte Business-app-coëxistentiepad voordat je een bestaande registratie wijzigt, en stel een Phone registration PIN alleen in als het nummer er al een heeft op WhatsApp.
  • Een nummer dat je werkruimte heeft bij Bird. Kies het in plaats daarvan uit de Number-lijst. Bird ontvangt de code en voltooit de verificatie van Meta voor je, zodat het nummer pre-verified aankomt en je het alleen hoeft te selecteren in het Embedded Signup-venster.

Verificatie van een eigen nummer dat je bij Bird hebt

Als je een nummer kiest dat je werkruimte bij Bird heeft, start de verificatie voordat de Embedded Signup-popup opent. Bird vraagt Meta om het nummer een sms te sturen en leest de code vervolgens namens jou terug.
Het dialoogvenster New number in het Bird-dashboard tijdens verificatie: een WhatsApp-logo boven de kop "Verifying this number with WhatsApp", met een knop Continue in background, boven de gedimde Numbers-lijst waar de nieuwe rij al Preparing weergeeft
Dit duurt meestal minder dan een minuut. Je hoeft niet in het dialoogvenster te wachten: Continue in background sluit het en de rij op de pagina Numbers toont dezelfde voortgang.
Zodra de code is gelezen, is het nummer geverifieerd bij Meta en wacht het tot je het afrondt in Embedded Signup. Finish setting up opent de popup van Meta, waar je het nummer selecteert en het bedrijfsaccount kiest waaraan het moet worden gekoppeld.
Het dialoogvenster New number in het Bird-dashboard na verificatie: het eigen nummer bij Bird en een veld Name, met de melding "This number has already been verified with WhatsApp" boven een knop Finish setting up, boven de gedimde Numbers-lijst waar de rij nu een eigen actie Finish setting up aanbiedt

Wat de status van een nummer betekent

Een nummer doorloopt verschillende statussen voordat het kan verzenden, en de kolom Status toont de huidige:
StatusWat het betekent
PreparingBird voert de verificatie van Meta uit voor een nummer dat je werkruimte beheert.
Pre-verifiedBird heeft de verificatie van Meta voltooid. Rond het nummer af in Embedded Signup.
PendingEmbedded Signup is voltooid en Bird registreert het nummer bij Meta.
ConnectedHet nummer kan verzenden.
FailedDe configuratie is gestopt. De rij toont de reden.
Beide paden kunnen halverwege mislukken, bij de verificatie van Meta of in de popup. Hoe je herstelt hangt af van de reden die de rij toont.
Als de rij verification_code_not_received of verification_rate_limited weergeeft, open het nummer en selecteer Try again in plaats van het te ontkoppelen. Waarom pre-verificatie mislukt, en wanneer je het opnieuw kunt proberen legt uit wanneer de knop beschikbaar wordt en wat je doet als de nieuwe poging ook mislukt.
Voor elke andere reden ontkoppel je het nummer via de rijacties en koppel je het opnieuw: de mislukte rij houdt het nummer geclaimd, dus een tweede poging zonder het eerst te verwijderen wordt geweigerd.

Wat een gekoppeld nummer toont

De pagina van een nummer toont wat WhatsApp er op dat moment mee toestaat, plus een sectie Activity over het verzendgedrag.
De detailpagina van het Goldcrest-nummer in het Bird-dashboard: de naam van het nummer en de status Connected boven een WhatsApp-statusrij met Quality rating, Messaging limit (1.000 per 24 uur) en Send rate (80 per seconde), met tabbladen Overview en Business profile en daaronder een sectie Activity
Quality rating, Messaging limit en Send rate zijn de waarden van WhatsApp, niet van Bird. De messaging limit is het aantal door het bedrijf geïnitieerde gesprekken dat WhatsApp binnen 24 uur toestaat, en het stijgt naarmate het nummer goed presteert. Quality rating toont Not rated totdat WhatsApp genoeg bezorggeschiedenis heeft om een score te geven.
Het tabblad Business profile bevat wat ontvangers over je zien in WhatsApp: de weergavenaam, beschrijving, het adres en de profielfoto.

Het bedrijfsaccount achter een nummer

Elk gekoppeld nummer hoort bij een WhatsApp Business Account, en de WABA-kolom linkt ernaar. Het overzicht toont de beoordelingen van Meta over het bedrijf zelf, niet over het nummer.
Het WhatsApp Business Account-overzicht van Goldcrest in het Bird-dashboard, geopend boven de gedimde nummerdetailpagina: Status Active, WhatsApp review Approved, Business verification Verified, Marketing Messages API Onboarded, gevolgd door Business portfolio, Account ID en de datum waarop het account voor het laatst is uitgelezen bij WhatsApp
Deze statussen bepalen wat het account kan doen. Business verification bepaalt met name de toegang tot authenticatietemplates: een niet-geverifieerd bedrijf kan er geen aanmaken. Marketing Messages API toont Onboarded zodra Meta het account heeft geaccepteerd. Marketingverzendingen wachten er niet op. Onboarding geeft toegang tot Meta's bezorgoptimalisaties en een gif-header, die door WhatsApp wordt geweigerd bij een account dat niet is onboarded. Een werkruimte kan meerdere bedrijfsaccounts bevatten, elk met meerdere nummers. Lees de beoordelingen voor het account dat eigenaar is van de beoogde afzender; een gekoppeld account heeft een specifieke werkruimte en regionale eigenaar.
Bird leest deze gegevens volgens een schema uit bij Meta, niet continu, dus Last read from WhatsApp dateert de beoordelingen erboven.

Je nummers uitlezen via de API

Alles wat het dashboard hierboven toont, is uitleesbaar via de API en vanuit de SDK's. De reads vereisen een API-sleutel met whatsapp_management-leestoegang.
GET /v1/whatsapp/numbers retourneert je afzenders als een cursorpagina. Elk item bevat de status die WhatsApp ervoor rapporteert, dus dit is de call die je vertelt welke from-waarden een verzending kan gebruiken.
GET /v1/whatsapp/numbers/{id} leest één nummer uit, met dezelfde quality rating, messaging limit en doorvoerniveau die de detailpagina toont. GET /v1/whatsapp/numbers/{id}/profile leest het bedrijfsprofiel achter het tabblad Business profile uit, inclusief description, address en websites.
GET /v1/whatsapp/numbers/{id}/events retourneert hoe een nummer zijn huidige status heeft bereikt, nieuwste eerst: wanneer het is toegevoegd, elke statuswijziging, en elke beslissing over messaging limit, quality rating en weergavenaam. Elk event bevat type, summary en created_at. type is een open enum, dus behandel een waarde die je niet herkent als een toekomstig eventtype in plaats van een fout.
GET /v1/whatsapp/business-accounts en GET /v1/whatsapp/business-accounts/{id} lezen de accountstatussen uit die deze pagina hierboven beschrijft: account_review_status, business_verification_status en marketing_messages_onboarding_status. Een nummer rapporteert zijn account in zijn eigen waba-veld, dat het account-ID van Meta bevat in plaats van een Bird-ID.
Twee details die je moet weten voordat je op deze reads bouwt. meta_synced_at dateert de door WhatsApp gerapporteerde velden, overeenkomend met Last read from WhatsApp in het dashboard, en ontbreekt op een nummer dat Bird namens jou beheert. Een nummer dat halverwege de signup is, is uitleesbaar: status rapporteert preparing en awaiting_signup, next geeft aan wat je met die status moet doen, en finish_setup_url bevat de link om het af te ronden, zodat je de configuratie kunt pollen en iemand de laatste stap kunt geven. Het enige veld dat wordt achtergehouden is meta_preverified_id, het eigen ID van WhatsApp voor een nummer dat we voorbereiden; dat blijft in het dashboard.
Een nummer koppelen, hernoemen en ontkoppelen maakt geen deel uit van de publieke API of de SDK's. Ze zijn beschikbaar in het dashboard en via de CLI (bird whatsapp numbers create|update|delete en bird whatsapp numbers profile update). Slechts één stap is browsergebonden: een nieuwe koppeling wordt afgerond op het eigen toestemmingsscherm van Meta, en daarom geeft create je een finish_setup_url in plaats van het zelf af te ronden.

Inkomende berichten

Inkomende berichten bereiken je werkruimte alleen op je eigen nummers. Bird registreert ze in het WhatsApp-logboek, en het tabblad Inbound op de pagina Metrics toont het ontvangen volume per nummer. Elk inkomend bericht opent ook het 24-uursvenster dat vrij geformuleerde inhoud nodig heeft. Door Bird beheerde nummers ontvangen geen berichten voor je werkruimte.

Volgende stappen

for await (const number of bird.whatsapp.numbers.list({ limit: 25 })) {
  console.log(number.id, number.phone_number, number.status);
}

Gerelateerde bronnen

Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.

Probeer de oefening en ontvang een implementatieoverzicht