大家
我正在使用 WhatsApp Cloud API,在注册阿根廷电话号码时遇到问题。我期望元平台以标准国际格式存储数字,但事实并非如此。
当我尝试注册阿根廷号码时,例如+54 9 11 3795-3504,平台以不同的方式存储它。例如,我注册的号码存储为 +54 11 15-7889-3530。我很困惑为什么 API 会改变数字的格式,特别是添加“15”,国际格式中不再使用它。
奇怪的是,在那之后,当我尝试从我存储的这个号码发送消息时,我在 webhook 中收到这个号码,如 +54 11 15-7889-3530,但是当我尝试向这个号码发送消息时号码,API 希望我发送到另一个 +54 9 11 3795-3504,否则,不要给我错误 “(#131030) 收件人电话号码不在允许列表中”
其他人是否遇到过类似的问题或知道为什么会发生这种情况?我需要调整 WhatsApp API 中的特定设置才能正确处理阿根廷电话号码吗?
任何指导或建议将不胜感激。
提前谢谢您。
我可以用 API Cloud 的 webhook 中收到的电话号码片段来解决它的发送问题。
例如:
function webhookHandler(req, res) {
// I received on clientPhone this number: '54911XXXXXXXX'
const clientPhone = req.entry.at(0).value.contactMessages.contacts[0].wa_id;
// deliverTo is the phone where I need send a message.
let deliverTo = clientPhone;
if (clientId.value.slice(0, 2) === '54'){
deliverTo = `54${clientPhone.slice(3)}`;
}
}
仅适用于阿根廷号码 Meta 需要我将消息发送到其 API,格式为“541115XXXXXXXX”。但我发现 Meta 允许你发送消息到“5411XXXXXXXX”(我收到的没有 9 的号码)。
这很重要,因为这样我们就可以将传入的电话号码转换为另一个号码。
如果您想像开发人员一样进行测试,您可以在 WhatsApp 电话号码列表中添加电话号码,例如“5411XXXXXXXX”(没有 9 的号码),这样您就可以进行测试。