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 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
Contoh kode
{
"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:
- Kontak mengirim pesan kepada Anda. Pesan masuk membawa from.bsuid, dan from.phone_number bisa saja tidak ada. Pesan tersebut membuka jendela layanan pelanggan, sehingga Anda dapat membalas secara bebas selama 24 jam berikutnya.
- Anda meminta nomor telepon. Kirim permintaan info kontak, 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.
- Kontak mengetuk tombol. Nomor yang dibagikan tiba sebagai kartu kontak 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:
Contoh kode
{
"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 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 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 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 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 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: jalur tempat nomor yang dibagikan tiba
- Permintaan info kontak WhatsApp: tombol yang memintanya
- Mengirim pesan WhatsApp: envelope permintaan, model 202, dan percobaan ulang yang aman
- Referensi business-scoped user IDs Meta: peluncuran, parent BSUID, dan layanan Meta lainnya
Sumber daya terkait
Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.
Tonton panduannyaConnecting WhatsApp to Bird: from buying a number to a live channelPahami konsepnyaWhat is the 24-hour customer service window on WhatsApp?Gunakan alatnyaWhatsApp message builderJelajahi kemampuannyaWhatsApp
Coba praktiknya dan dapatkan ringkasan implementasi