Let us first understand what is a WhatsApp ID.
Every number registered on the WhatsApp consumer app(IOS/Android) is associated with a WhatsApp ID. WhatsApp IDs are needed to send messages and user notifications. Usually, the WhatsApp ID of a number is the dialable format of the number itself. For example, the WhatsApp ID of the number "+1-631-555-1002" will be "+16315551002".
Why do Brazil & Mexico phone numbers have differences between the actual dialable number provided by the operator and their WhatsApp IDs?
The Brazilian telephone numbering plan uses a two-digit area code plus eight-digit local phone numbers for landlines and nine digits for mobile lines.
Brazilian mobile phone numbers customarily have nine digits now, but seven digits were usual in the first years, then eight digits became the standard for several years.
With the increasing use of mobile lines, a shortage of available mobile numbers was evident. To overcome this, on December 10, 2010, ANATEL announced the inclusion of a ninth digit (in the format 9NNNN-NNNN) to mobile phone numbers.
The digit '9' was gradually added to the left of all existing mobile numbers in different regions of Brazil, regardless of their former initial digits. So, for example, mobile number +55 (11) 8765-4321 became +55 (11) 98765-4321.
Despite this fact, mobile phones registered outside the 11-19 (São Paulo), 21, 22, 24 (Rio de Janeiro), and 27-28 (Espírito Santo) areas are usually displayed on WhatsApp with the old 8-digit number, since WhatsApp IDs were already present for those numbers before the inclusion of the digit '9'.
Similarly, Mexico has also implemented the following changes in its dialing rules that affect WhatsApp users. When calling a Mexican cell phone from outside Mexico, the additional digit "1" after the country code is no longer required. Essentially, causing inconsistencies between phone numbers registered on WhatsApp and their actual WhatsApp IDs.
Impact on WhatsApp's Business APIs solution:
- Outbound message:
Consider a user with phone number +55 (35) 98765-4321 who has opted-in to receive messages on WhatsApp. Using Gupshup's send message API, the business sends messages to the user. And, with the help of inbound events, they determine that the message has failed to deliver, with "Number does not exist on WhatsApp" as the reason. However, the actual reason for this is because the WhatsApp ID of that number is +55 (35) 8765-4321, meaning without the digit '9'. It is unavoidable as the events are asynchronous.
- Inbound message:
Now, let us say the user initiates the conversation. From the inbound event, the business can determine the WhatsApp ID of the user. Using this, they can opt-in to that number as well and continue the conversation with the user.
- Go-Live process:
The Go-Live process for an app is where a business submits their Phone Number, Display Name, and Facebook Business Manager ID for registering a WhatsApp Business API.
Now, consider that a business has submitted the number +55 (11) 98765-4321. However, while registering the number, WhatsApp will consider the WhatsApp ID of the number instead of the number that the business submits. Since the WhatsApp ID may or may not be the same as the number, i.e. with or without the digit '9', they must first verify which number has eventually registered for their WhatsApp Business API before sharing it with their users/customers.
As a best practice, we highly recommend that businesses track messages based on message IDs. Gupshup and WhatsApp IDs are provided for every outbound and inbound message, respectively.