# Business-scoped user-ID's

Een **business-scoped user-ID** (BSUID) is Meta's identifier voor een WhatsApp-gebruiker, beperkt tot één bedrijfsportfolio. Hij komt mee op inkomende berichten ongeacht of het contact een WhatsApp-gebruikersnaam heeft, en hij adresseert een contact van wie je het telefoonnummer niet hebt.

Bird toont hem als `bsuid` op de `from` en `to` van een bericht, accepteert hem als `to` van een verzending en filtert de berichtenlijst erop. Meta's referentie [business-scoped user IDs](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids) is de bron voor de uitrol zelf en voor wat andere Meta-interfaces met de identifier doen.

## Waarom een contact binnenkomt zonder telefoonnummer

WhatsApp rolt gebruikersnamen uit. Een gebruiker die er een instelt, toont in de app de gebruikersnaam in plaats van het telefoonnummer, en Meta houdt het nummer dan achter in de payloads die een bedrijf ontvangt. De BSUID is de identiteit die er altijd is, en daarom kan een inkomend bericht er een bevatten zonder enig `phone_number`.

Meta stuurt het telefoonnummer nog wel mee als je al een relatie met het contact hebt: als je via dat specifieke zakelijke telefoonnummer in de afgelopen 30 dagen een bericht naar die persoon hebt gestuurd of die persoon hebt gebeld, of een bericht of oproep van die persoon hebt ontvangen, of als die persoon in je Meta-contactenboek staat. De 30-dagenvoorwaarde wordt per zakelijk telefoonnummer geëvalueerd, dus een contact dat naar een van je nummers schreef kan op een ander nummer alsnog zonder telefoonnummer binnenkomen.

Een bericht van een WhatsApp-gebruiker bevat ook het profiel dat ze publiceren, in `username` en `display_name` op `from`. Beide ontbreken als het contact geen gebruikersnaam heeft ingesteld of het bericht geen profiel bevat, en geen van beide kan worden gebruikt om een bericht te adresseren.

## Hoe een BSUID eruitziet

```json
{
  "from": {
    "bsuid": "US.13491208655302741918",
    "username": "alexr",
    "display_name": "Alex Rivera"
  }
}
```

Een ISO 3166 alpha-2-landcode, een punt, en dan maximaal 128 alfanumerieke tekens. Een **parent BSUID**, waarvoor een beheerd bedrijf kan worden ingeschreven zodat één identifier werkt over een set portfolio's, voegt `ENT` in na het land: `US.ENT.11815799212886844830`. Bird accepteert beide vormen als ontvanger.

Drie eigenschappen bepalen hoe je er een opslaat en gebruikt:

- **Geef de volledige waarde door, ongewijzigd.** Meta weigert een gewijzigde BSUID, dus geen enkel deel is optioneel: de landcode, de punt en elk teken van de identifier horen bij elkaar. Bird valideert de vorm voordat een verzending wordt geaccepteerd, en de landcode moet in hoofdletters staan en een echte ISO 3166 alpha-2-code zijn; een kleine letter of onbekend prefix wordt geweigerd in plaats van gecorrigeerd. De limiet van 128 tekens geldt voor de identifier na de landcode, en na het `ENT.`-segment bij een parent BSUID.
- **Hij is beperkt tot een bedrijfsportfolio.** Elk zakelijk telefoonnummer in hetzelfde portfolio kan die BSUID berichten; een nummer in een ander portfolio kan dat niet, en de verzending mislukt.
- **Hij is niet permanent.** Meta documenteert dat de BSUID van een contact opnieuw wordt gegenereerd als ze hun telefoonnummer wijzigen, dus hij identificeert een gesprekspartner in plaats van te dienen als duurzame klantsleutel van jou.

## Hoe een gesprek doorgaans verloopt

Een contact waarmee je niet eerder hebt gesproken bereikt je via een BSUID, en de uitwisseling waarmee je hun nummer krijgt verloopt in drie stappen:

1. **Het contact stuurt je een bericht.** Het inkomende bericht bevat `from.bsuid`, en `from.phone_number` kan ontbreken. Dat bericht opent het [klantenservicevenster](/docs/knowledge-base/whatsapp/customer-service-window), zodat je de komende 24 uur vrij geformuleerd kunt antwoorden.
2. **Je vraagt om het nummer.** Stuur een [contactgegevensverzoek](/docs/guides/whatsapp/message-types/interactive/contact-info-requests), een enkele knop waarmee het contact een telefoonnummer kan delen. Dezelfde vraag past ook in een template via de `request_contact_info`-knop, die een contact bereikt van wie het venster al gesloten is.
3. **Het contact tikt op de knop.** Het gedeelde nummer komt binnen als een inkomende [contactkaart](/docs/guides/whatsapp/receiving-whatsapp/contact-cards) met `origin` ingesteld op `contact_request` en het nummer in `phone_numbers`. Een gedeelde contactkaart kan een ander persoon of nummer beschrijven. Sla die gedeelde gegevens apart op van de WhatsApp-identiteit van de afzender; gebruik de identiteiten die daadwerkelijk op volgende berichten staan in plaats van het klantrecord alleen op basis van de kaart te overschrijven.

Een contact kan weigeren. Het wegvegen van het deelvenster levert geen bericht en geen webhook op, dus een flow die een nummer nodig heeft moet zelf een time-out hanteren in plaats van op een weigering te wachten, en hij moet blijven werken voor een contact dat nooit deelt.

## Verzenden naar een BSUID

`to` accepteert een BSUID overal waar het een telefoonnummer accepteert:

```json
{
  "to": "US.13491208655302741918",
  "from": "+13124495648",
  "text": { "body": "Your order shipped." }
}
```

Vier dingen verschillen van een verzending op basis van telefoonnummer:

- **`from` moet in het portfolio zitten waaraan de BSUID is gekoppeld.** Dit is dezelfde portfoliovereiste die Meta hanteert, en een mismatch mislukt bij WhatsApp in plaats van bij accept.
- **Eenmalige-verificatiecode-templates vereisen een telefoonnummer.** Een Bird-beheerde template in de `authentication`-categorie, of een template met een eenmalige-verificatiecodeknop, wordt bij accept geweigerd met een `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`. Een template die je werkruimte zelf heeft geschreven wordt niet bij accept gecontroleerd: Meta vereist een telefoonnummer voor one-tap-, zero-tap- en copy-code-authenticatietemplates, dus zo'n verzending wordt geaccepteerd en mislukt daarna.
- **Een waarde die geen telefoonnummer en geen goed gevormde BSUID is, wordt bij accept geweigerd**, met een `422` [`E15001`](/docs/api/errors/E15001) `WhatsAppInvalidRecipient`.
- **De prijs wordt bepaald op basis van het landprefix van de BSUID.** Een telefoonnummer levert het land waartegen een bericht wordt geprijsd, en bij een BSUID-verzending levert het tweeletterige prefix dat in plaats daarvan.

Al het andere aan de verzending blijft hetzelfde: het [klantenservicevenster](/docs/guides/whatsapp/message-types#the-customer-service-window) bepaalt nog steeds of je vrij geformuleerde inhoud mag sturen, en de `202` betekent nog steeds geaccepteerd, niet afgeleverd.

**Adresseer een contact op de identiteit waarmee ze je schreven.** Bird legt een open venster vast onder elke identiteit die het inkomende bericht bevatte, en een verzending vindt het venster onder de identiteit waaraan het is geadresseerd. Een contact dat je alleen via BSUID bereikte laat geen venster op telefoonnummer achter, dus een vrij geformuleerd bericht naar een telefoonnummer dat je elders hebt kan worden geweigerd met een `422` [`E15044`](/docs/api/errors/E15044) `WhatsAppServiceWindowClosed` terwijl Meta het gesprek nog als open beschouwt. Antwoorden op de `from` van hun bericht voorkomt de mismatch.

## Lezen en filteren op BSUID

Elke read bevat de identiteiten die het bericht heeft:

- **Op een bericht** bevatten `from` en `to` elk een `phone_number`, een `bsuid`, of beide. Een inkomend bericht noemt het contact op `from`; een uitgaand bericht noemt het op `to`.
- **Op een webhook** staan dezelfde adressen op de event-payload. Zie [WhatsApp-events](/docs/guides/whatsapp/events#the-event-envelope) voor de structuur van het event.
- **Op de berichtenlijst** accepteren `to` en `from` elk een BSUID en een telefoonnummer, en elk matcht één kant van het bericht. Het `bsuid`-filter matcht het contact in beide richtingen. Het oudere `phone_number`-filter is deprecated: `to` en `from` vervangen het en matchen beide soorten identiteit.

Sla beide identiteiten op bij je eigen contactrecord en gebruik je eigen identifier als sleutel, niet een van Meta's identifiers. Een contact kan binnenkomen met alleen een BSUID, een telefoonnummer krijgen zodra ze het delen, en een nieuwe BSUID krijgen als ze van nummer veranderen.

## Volgende stappen

- [Contactkaarten ontvangen](/docs/guides/whatsapp/receiving-whatsapp/contact-cards): het berichtonderdeel waarin het gedeelde nummer binnenkomt
- [WhatsApp-verzoeken om contactgegevens](/docs/guides/whatsapp/message-types/interactive/contact-info-requests): de knop die erom vraagt
- [WhatsApp-berichten verzenden](/docs/guides/whatsapp/sending-whatsapp): de request-envelope, het `202`-model en veilig opnieuw proberen
- [Meta's business-scoped user IDs-referentie](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids): de uitrol, parent BSUID's en de overige interfaces van Meta

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
