在 WhatsApp API 中格式化阿根廷电话号码的问题

问题描述 投票:0回答:1

大家

我正在使用 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 中的特定设置才能正确处理阿根廷电话号码吗?

任何指导或建议将不胜感激。

提前谢谢您。

facebook-graph-api whatsapp-cloud-api
1个回答
0
投票

我可以用 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 的号码),这样您就可以进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.