# Business-scoped user ID

**Business-scoped user ID** (BSUID) adalah identifier Meta untuk pengguna WhatsApp, yang dicakupkan ke satu portofolio bisnis. BSUID hadir pada pesan masuk baik kontak tersebut menggunakan username WhatsApp maupun tidak, dan dapat dipakai untuk mengirim pesan ke kontak yang nomor teleponnya tidak Anda miliki.

Bird menampilkannya sebagai `bsuid` pada `from` dan `to` sebuah pesan, menerimanya sebagai `to` pengiriman, dan memfilter daftar pesan berdasarkan nilai tersebut. Referensi [business-scoped user IDs](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids) dari Meta adalah sumber untuk peluncuran itu sendiri dan untuk apa yang dilakukan layanan Meta lain dengan identifier ini.

## Mengapa kontak tiba tanpa nomor telepon

WhatsApp sedang meluncurkan fitur username. Pengguna yang mengadopsi username akan menampilkan username mereka alih-alih nomor telepon di aplikasi, dan Meta kemudian tidak menyertakan nomor tersebut dalam payload yang diterima bisnis. BSUID adalah identitas yang selalu ada, sehingga pesan masuk dapat membawa BSUID tanpa `phone_number` sama sekali.

Meta tetap menyertakan nomor telepon jika Anda sudah memiliki hubungan dengan kontak tersebut: jika nomor telepon bisnis spesifik itu pernah mengirim pesan atau menelepon mereka, atau menerima pesan atau panggilan dari mereka, dalam 30 hari terakhir, atau jika mereka ada di buku kontak Meta Anda. Kondisi 30 hari ini dievaluasi per nomor telepon bisnis, sehingga kontak yang pernah menulis ke salah satu nomor Anda masih bisa tiba tanpa nomor telepon di nomor lain.

Pesan dari pengguna WhatsApp juga membawa profil yang mereka publikasikan, dalam `username` dan `display_name` pada `from`. Keduanya tidak ada jika kontak belum mengadopsi username atau pesan tidak membawa profil, dan keduanya tidak dapat digunakan untuk mengirim pesan.

## Seperti apa bentuk BSUID

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

Kode negara ISO 3166 alpha-2, titik, lalu hingga 128 karakter alfanumerik. **Parent BSUID**, yang dapat didaftarkan untuk bisnis terkelola agar satu identifier berfungsi lintas beberapa portofolio, menyisipkan `ENT` setelah kode negara: `US.ENT.11815799212886844830`. Bird menerima kedua bentuk sebagai penerima.

Tiga properti menentukan cara Anda menyimpan dan menggunakan BSUID:

- **Kirim seluruh nilai, tanpa diubah.** Meta menolak BSUID yang dimodifikasi, jadi tidak ada bagian yang boleh dihilangkan: kode negara, titik, dan setiap karakter identifier harus dikirim bersama. Bird memvalidasi formatnya sebelum menerima pengiriman, dan kode negara harus huruf kapital serta merupakan kode ISO 3166 alpha-2 yang valid; awalan huruf kecil atau tidak dikenal akan ditolak, bukan dikoreksi. Batas 128 karakter berlaku untuk identifier setelah kode negara, dan setelah segmen `ENT.` pada parent BSUID.
- **BSUID dicakupkan ke portofolio bisnis.** Nomor telepon bisnis mana pun dalam portofolio yang sama dapat mengirim pesan ke BSUID tersebut; nomor di portofolio lain tidak bisa, dan pengiriman akan gagal.
- **BSUID tidak permanen.** Meta mendokumentasikan bahwa BSUID kontak dibuat ulang ketika mereka mengganti nomor telepon, sehingga BSUID mengidentifikasi mitra percakapan, bukan berfungsi sebagai kunci pelanggan permanen milik Anda.

## Bagaimana percakapan biasanya berlangsung

Kontak yang belum pernah berkomunikasi dengan Anda menghubungi Anda melalui BSUID, dan proses mendapatkan nomor mereka berjalan dalam tiga langkah:

1. **Kontak mengirim pesan kepada Anda.** Pesan masuk membawa `from.bsuid`, dan `from.phone_number` bisa saja tidak ada. Pesan tersebut membuka [jendela layanan pelanggan](/docs/knowledge-base/whatsapp/customer-service-window), sehingga Anda dapat membalas secara bebas selama 24 jam berikutnya.
2. **Anda meminta nomor telepon.** Kirim [permintaan info kontak](/docs/guides/whatsapp/message-types/interactive/contact-info-requests), tombol tunggal yang memungkinkan kontak membagikan nomor telepon. Permintaan yang sama dapat dikirim melalui template lewat tombol `request_contact_info`, yang menjangkau kontak yang jendelanya sudah tertutup.
3. **Kontak mengetuk tombol.** Nomor yang dibagikan tiba sebagai [kartu kontak](/docs/guides/whatsapp/receiving-whatsapp/contact-cards) masuk dengan `origin` bernilai `contact_request` dan nomor telepon di `phone_numbers`. Kartu kontak yang dibagikan bisa mendeskripsikan orang atau nomor lain. Simpan informasi ini terpisah dari identitas WhatsApp pengirim; gunakan identitas yang benar-benar tercantum pada pesan berikutnya daripada menimpa catatan pelanggan hanya dari kartu tersebut.

Kontak dapat menolak. Menutup lembar berbagi tidak menghasilkan pesan maupun webhook, sehingga alur yang membutuhkan nomor harus menerapkan batas waktu sendiri alih-alih menunggu penolakan tiba, dan alur tersebut harus tetap berfungsi untuk kontak yang tidak pernah membagikan nomor mereka.

## Mengirim ke BSUID

`to` menerima BSUID di mana pun ia menerima nomor telepon:

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

Empat hal berbeda dari pengiriman yang dialamatkan berdasarkan nomor telepon:

- **`from` harus berada dalam portofolio tempat BSUID dicakupkan.** Ini adalah persyaratan portofolio yang sama yang diterapkan Meta, dan ketidakcocokan akan gagal di WhatsApp, bukan saat penerimaan.
- **Template kode verifikasi sekali pakai memerlukan nomor telepon.** Template yang dikelola Bird dalam kategori `authentication`, atau yang membawa tombol kode verifikasi sekali pakai, ditolak saat penerimaan dengan `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`. Template yang dibuat workspace Anda tidak diperiksa saat penerimaan: Meta mewajibkan nomor telepon untuk template autentikasi one-tap, zero-tap, dan copy-code, sehingga pengiriman seperti itu diterima lalu gagal.
- **Nilai yang bukan nomor telepon maupun BSUID dengan format yang benar ditolak saat penerimaan**, dengan `422` [`E15001`](/docs/api/errors/E15001) `WhatsAppInvalidRecipient`.
- **Harga ditentukan berdasarkan awalan negara BSUID.** Nomor telepon menyediakan negara yang digunakan untuk menentukan harga pesan, dan untuk pengiriman BSUID, awalan dua huruf yang menyediakannya.

Semua hal lain tentang pengiriman tidak berubah: [jendela layanan pelanggan](/docs/guides/whatsapp/message-types#the-customer-service-window) tetap mengatur konten bebas, dan `202` tetap berarti diterima, bukan terkirim.

**Alamatkan kontak berdasarkan identitas yang mereka gunakan saat menghubungi Anda.** Bird mencatat jendela terbuka untuk setiap identitas yang dibawa pesan masuk, dan pengiriman menemukan jendela berdasarkan identitas yang dituju. Kontak yang menghubungi Anda hanya melalui BSUID tidak meninggalkan jendela berbasis nomor telepon, sehingga pengiriman bebas ke nomor telepon yang Anda miliki dari sumber lain dapat ditolak dengan `422` [`E15044`](/docs/api/errors/E15044) `WhatsAppServiceWindowClosed` meskipun Meta masih menganggap percakapan terbuka. Membalas ke `from` dari pesan mereka menghindari ketidakcocokan tersebut.

## Membaca dan memfilter berdasarkan BSUID

Setiap pembacaan membawa identitas apa pun yang dimiliki pesan:

- **Pada pesan**, `from` dan `to` masing-masing membawa `phone_number`, `bsuid`, atau keduanya. Pesan masuk mencantumkan kontak pada `from`; pesan keluar mencantumkan mereka pada `to`.
- **Pada webhook**, alamat yang sama terdapat pada payload event. Lihat [event WhatsApp](/docs/guides/whatsapp/events#the-event-envelope) untuk envelope-nya.
- **Pada daftar pesan**, `to` dan `from` masing-masing menerima BSUID maupun nomor telepon, dan masing-masing mencocokkan satu ujung pesan. Filter `bsuid` mencocokkan kontak di kedua arah. Filter `phone_number` yang lebih lama sudah tidak direkomendasikan: `to` dan `from` menggantikannya dan mencocokkan kedua jenis identitas.

Simpan kedua identitas dalam catatan kontak Anda sendiri, dan gunakan identifier milik Anda sendiri sebagai kunci catatan tersebut, bukan salah satu identifier Meta. Catatan kontak bisa awalnya hanya berisi BSUID, lalu dilengkapi dengan nomor telepon setelah kontak membagikannya, dan menerima BSUID baru jika kontak mengganti nomor.

## Langkah selanjutnya

- [Menerima kartu kontak](/docs/guides/whatsapp/receiving-whatsapp/contact-cards): jalur tempat nomor yang dibagikan tiba
- [Permintaan info kontak WhatsApp](/docs/guides/whatsapp/message-types/interactive/contact-info-requests): tombol yang memintanya
- [Mengirim pesan WhatsApp](/docs/guides/whatsapp/sending-whatsapp): envelope permintaan, model `202`, dan percobaan ulang yang aman
- [Referensi business-scoped user IDs Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids): peluncuran, parent BSUID, dan layanan Meta lainnya

## 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)
