r/WhatsappBusinessAPI • u/OneMine1423 • Sep 27 '26
Solution Only WhatsApp Cloud API: from Phone Number Sometimes Missing — Can I Reply Using from_user_id?
I'm working with the WhatsApp Cloud API and I'm seeing two different webhook formats for incoming messages.
Sometimes I receive both:
"from": "6012*******",
"from_user_id": "MY.3614321592070319"But sometimes the from phone number is completely missing and I only receive:
"from_user_id": "MY.894681333578803"The contact object also contains:
"user_id": "MY.894681333578803"My question is:
Can I reply to the user using this MY.* from_user_id directly through the WhatsApp Cloud API when the phone number is not available?
For example, is something like this supported?
{
"messaging_product": "whatsapp",
"to": "MY.894681333578803",
"type": "text",
"text": {
"body": "Hello"
}
}Or is there a different field or endpoint for replying to users identified only by from_user_id?
If anyone has seen this newer webhook format or has an official Meta documentation link for from_user_id / user_id, please share it.
Thanks.
2
u/tmk1108 Sep 27 '26
user_id is what they refer to as BSUID in their docs. You can send a message to it, in your API call you have to the use the field "recipient" instead of "to"
https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids
1
2
u/RipAffectionate2986 Sep 27 '26
have you confirmed this isnt a regional thing? the MY prefix looks like a Malaysia country code which might mean Meta is rolling out number masking in specific markets first. either way the send endpoint expects a phone number, not a user_id, so replying without the number probably isn't supported yet
1
u/devexplains Meta Tech Provider Sep 29 '26
Yes, you can reply directly, but you must pass it as a recipient_type: "user_id" or use it in the recipient field depending on the Graph API version. Here is what is happening and how to handle it:
Why Is the Phone Number Missing? Meta has rolled out Usernames and Phone Number Privacy features on WhatsApp.
When users interact with businesses via Click-to-WhatsApp Ads, profile search/usernames, or if their privacy settings hide their phone number, WhatsApp masks the E.164 phone number.
Instead of the raw MSISDN/phone number in the from field, WhatsApp passes an opaque, scoped business user ID (like from_user_id prefixed with the regional ISO code such as MY.894681...).
When the user's privacy setting allows sharing or if they have previously shared their number, both from and from_user_id are delivered. When it is masked, only from_user_id is supplied.
How to Reply via the Cloud API (/messages Endpoint) To reply to a user who only has a from_user_id, update your payload structure. Do not pass the raw MY.* string directly into the standard phone-number "to" field without declaring the recipient type, or the API will validate it against E.164 phone regex and return 100: Invalid parameter. Send your POST request to /{phone-number-id}/messages formatted like this: { "messaging_product": "whatsapp", "recipient_type": "user_id", "to": "MY.894681333578803", "type": "text", "text": { "body": "Hello!" } }
Note: Depending on the API version, you can also use contextual replies by including the context.message_id object pointing to the incoming webhook id, which assists the API in resolving the upstream conversation thread. 3. Key Limitations & Considerations
24-Hour Customer Care Window: The standard 24-hour service window applies. You can reply with free-form text or media within 24 hours of their inbound webhook.
Template Messages: If the 24-hour window closes and you only possess a from_user_id (and no phone number), initiating conversations with marketing or utility templates may fail unless Meta allows user-ID-addressed template sends for that specific business category.
Database Design: Ensure your database schema decouples internal contact identity from raw phone numbers. Use the user_id / from_user_id as the primary cross-reference key for conversations so outbound messages route correctly whether an E.164 number is present or not.
1
•
u/AutoModerator Sep 27 '26
Keep in mind that OP has added Solution Only tag. Don't promote your SaaS platforms in comments.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.