0:00 If your WhatsApp bot today only knows to 0:02 send a message to user only by their 0:04 phone number, then you have been on the 0:06 foundation which Meta is going to 0:08 replace it completely. Right now in 0:10 every single webhook where you might be 0:11 receiving the phone number, in 0:13 corresponding to that you might be 0:14 receiving a new ID called as BSU ID. And 0:17 eventually the phone number is going to 0:18 be disappeared. Using BSU ID, you cannot 0:20 send message right now. In the later 0:22 part of the video, I'll explain why. But 0:24 in future, you can only send messages to 0:26 the user via BSU ID only and not via 0:29 phone number. So, in this video, I'll 0:31 tell you why you should adapt to this 0:32 BSU ID, how to adapt it, and what all 0:35 the changes Meta might be bringing in 0:37 the future so that you are not left 0:39 behind. And in future, if your code 0:41 breaks silently, you are very much aware 0:44 why it is breaking, and you are very 0:45 much prepared for this change. So, if 0:47 you haven't seen my last video, please 0:49 go and watch, but not right now. Just go 0:51 and watch after this particular video 0:53 because in that video, I have explained 0:55 how Meta is bringing the username and 0:57 BSU ID in all theoretical manner. In 1:00 today's video, we are going to see 1:01 practically. So, hi everyone. My name is 1:03 Lakshya, and I left my job to start the 1:05 AI and automation agency called as 1:07 Newrik AI, and a WhatsApp automation 1:09 platform called as Chat Things, where we 1:10 help businesses to grow and scale using 1:13 AI and automation. So, without wasting 1:15 much time, let's get started. So, before 1:17 I actually show what we are getting 1:18 inside the payload of webhook, let me 1:21 first walk you through that why Meta is 1:24 making these changes and what the hell 1:25 is BSU ID. So, BSU ID is business scoped 1:29 user ID. So, earlier, we were 1:31 identifying every user with the base of 1:34 phone number. Okay? But phone number 1:36 were too personal to give out the 1:38 information for. Anyone who has the 1:41 phone number, they can directly call 1:42 you, they can spam you, they can share 1:44 the phone number to other businesses, 1:45 and everything was happening over there. 1:48 And Meta is all concerned about privacy. 1:50 Yeah, we know that. But now they're 1:52 bringing this BSU ID. So, let's consider 1:54 there is one a person called Ramesh, 1:56 okay? And there's one business, let's 1:58 say Apple, and there is another uh 2:00 business called as Microsoft. 2:02 So, whenever the Ramesh send a message 2:04 to Apple's WhatsApp account, okay? The 2:07 Apple will see some sort of ID. 2:10 Okay? 2:11 And when Ramesh will send the message to 2:14 Microsoft, Microsoft will also see some 2:16 sort of ID. And both of these ID won't 2:19 be same. So, both the company, if they 2:21 share the data, they won't be able to 2:23 identify that this is the same person. 2:25 So, now this BSUID is unique in 2:27 corresponding to the company and the 2:29 person combined. So, this way Meta is 2:31 trying to prevent your privacy by not 2:32 giving the phone number. So, now if you 2:34 can see on my screen, we are seeing the 2:36 from, the phone number, as well as from 2:39 {underscore}user{underscore}ID, 2:41 and also the user ID over here is the 2:43 same thing. So, as you can see, this is 2:44 called as a BSUID. So, it has a country 2:47 code {dot} some sort of random string 2:50 number. 2:51 Okay? Then So, now you might be thinking 2:53 that you said that the phone number 2:54 won't come, then you we are seeing the 2:55 phone number. So, don't worry, I'll 2:57 explain in the later part of the video 2:58 why we are still getting the phone 2:59 number. So, but just to give you 3:01 context, this is called as a BSUID. So, 3:03 now your webhook might be receiving this 3:04 BSUID from April 2026. So, Meta has 3:07 started sending this BSUID from April 3:09 2026. So, now you might have heard about 3:11 this thing that Meta has launched 3:12 username. Every influencer, every person 3:14 is making the video on there is a 3:15 username, username, username. Yes, I got 3:18 you. I heard you. We have got the 3:20 username, but in this payload, you might 3:22 not be seeing that particular username 3:23 over here. We have a profile name, but 3:25 not username at all. 3:27 Because username is getting launched 3:29 region by region. And I see in India, 3:32 still in India, the username is not 3:33 live. Though we are able to claim it, 3:35 and I have claimed it, but we cannot see 3:37 the username in the payload as of now. 3:39 So, now So, now to answer your question 3:41 that you might be thinking why we are 3:42 getting the phone number in the payload 3:44 when you just mentioned that when you 3:45 get the BSUID, you won't be getting the 3:48 phone number. It is because there are 3:49 three condition that sends the phone 3:51 number in the payload. First, you have 3:53 contacted them in the last 30 days. So, 3:55 if you send them a message in the last 3:57 30 days, you would be getting the 3:58 information in the payload. Second, they 4:01 contacted you in the last 30 days. Okay? 4:04 Third, you have saved that particular 4:06 contact information inside your contact 4:08 book. And now you might be thinking, 4:10 "What the hell is this contact book?" 4:11 So, don't worry. I'll be telling you 4:13 what is contact book. And also, there is 4:15 one more fourth condition over here that 4:17 currently, the BSU ID is not live. So, 4:20 using BSU ID, you cannot send the 4:22 message as of now. So, as you can see on 4:23 my screen from the official Meta 4:25 documentation, that there is a curl 4:26 command using which we can send the 4:28 message to user using the BSU ID. But, 4:32 if you read over here, it is written as 4:33 as this feature is coming soon. It means 4:36 that they have done all the 4:37 documentation and everything, but they 4:38 have not made this particular feature 4:40 live. I think so, this particular 4:41 feature will come live as soon as the 4:43 username feature is live. Because they 4:45 need to remove the phone number and 4:46 replace it with something else. So, that 4:47 is a username. So, now the another 4:49 question might be running in your mind 4:50 is that what is this contact book which 4:52 you just mentioned over there that there 4:53 is a third way using which we can store 4:56 the information of the user so that we 4:57 receive the phone number. So, if you 4:59 look into my screen, this is a contact 5:01 book. It says that to support a 5:03 messaging thread continuity, a contact 5:05 book feature that store WhatsApp user 5:07 contact information is available. And 5:09 how does this thing work? So, using the 5:11 API, we send a user interactive message 5:13 where there is a button. It is called as 5:15 share contact details. So, whenever user 5:17 click on the particular button, 5:19 that particular contact information is 5:21 sent to our bot. Okay? And our bot save 5:23 it. Okay? So, as you can see on my 5:26 screen, that there is a 5:28 interactive button. When user press it, 5:30 so we have shared the particular 5:30 information. So, now whenever user press 5:33 the button, so this is how we receive 5:34 the information in the payload format. 5:37 So, if you see in the payload, we are 5:38 getting information called as contacts. 5:40 Okay? And the contacts, we are getting 5:41 the information of the user phone number 5:43 as well as their business BSU ID. So, 5:45 now let me tell you that where are the 5:47 phone numbers still mandatory? So, Meta 5:50 cannot completely remove the phone 5:51 number. There are certain scenarios 5:53 where phone number are mandatory. So, 5:55 the auth template which we send will 5:57 always require a phone number. Okay? The 5:59 one-tap, the zero-tap, and the copy code 6:01 OTP templates permanently require a 6:02 phone number because the purpose of this 6:05 particular template is to verify this 6:06 particular phone number is true or not. 6:09 That's the reason user will require the 6:10 phone number to be there because we need 6:12 to send the OTP to the particular phone 6:14 number. We cannot send the OTP to the 6:16 particular BSU ID because that won't 6:18 verify that this particular phone number 6:19 belongs to this particular user. So, now 6:21 how to prepare your bot today? So, there 6:23 are three changes to make right now. 6:25 First, store BSU ID along the phone 6:27 number. Add a BSU ID column to your 6:29 contact table today. So, every webhook 6:31 already give it to you for free. Don't 6:33 backfill it later. Just fill it right 6:35 now. Second, never assume that the phone 6:37 number is present. Audit the code path 6:39 wherever you have assumed that the phone 6:41 number will be available. That 6:42 assumption is wrong now. So, if it is 6:44 crashing or drop the message, it will 6:46 silently fail and you won't even know. 6:47 So, never assume that the phone number 6:49 is present. Third, now the BSU ID is the 6:52 primary key of whatever table you have 6:54 stored the phone number and the phone 6:56 number is the lookup value. If you want 6:58 to look up for a particular person using 6:59 the some phone number, now the phone 7:01 number is just for that. And now your 7:03 primary key is your BSU ID. Now, if you 7:05 see on my screen, what works today and 7:07 what is coming later. So, store BSU ID 7:09 for every contact. Do this week because 7:11 this is working right now. This is 7:12 coming from April 2026. Second, audit 7:16 the code for hardcoded phone number 7:19 assumption. Do this week. Cold contact 7:21 can already miss the phone number. 7:22 Restructure the contact identity around 7:24 the BSU BSU ID. Okay? Do this week. 7:27 Fourth, 7:29 request contact info via BSU ID. This is 7:32 perfectly working. You can go and 7:33 request the contact information. 7:36 Fifth, send text or template message via 7:38 BSU ID. This is not working. It's coming 7:39 soon written on the documentation. 7:41 Sixth, username support in webhook. This 7:43 is also not live in India as of now, but 7:46 in certain region it might be live. So, 7:47 you can check according to your region. 7:49 Seventh, subscribe to user_id_update. 7:52 So, now BSUID is not necessary that it 7:54 is fixed for the user and the company. 7:57 It may change. So, there is one more 7:59 event in the webhook called as 8:01 user_id_update. 8:02 So, we need to use this particular 8:04 event. And whenever this event get 8:05 fired, we need to capture this event and 8:08 update our table accordingly. So, now 8:10 the ground is shifting. You can't send 8:12 message with BSUID yet, but you can stop 8:15 building on the foundation that that is 8:16 about to crack. 8:18 All three fixes ship this week on your 8:20 current board using only what's already 8:23 coming in your webhook right now. So, I 8:25 hope this particular video was very 8:26 useful for you. This video will help you 8:29 to future proof your WhatsApp bot 8:31 without breaking silently. So, if you 8:32 like this particular video, please press 8:33 the like button. If you have any 8:35 thoughts, any comment, any doubt, let me 8:36 know in the comment box. We'll meet in 8:38 the next video. Till then, take care.