我想在 Whatsapp 消息中打印动态多行文本。消息通过 Facebook Graph API 发送。我使用
\\n
字符插入新行。请参阅下面的请求。
要求:
POST https://graph.facebook.com/v20.0/XXXXXXXXXXXXXXXX/messages
Content Type: application/json; charset=UTF-8
Body:
{"messaging_product":"whatsapp","to":"XXXXXXXXXXX","type":"template","template":{"language":{"code":"en"},"name":"order_updated_message","components":[{"type":"body","parameters":[{"type":"text","text":"Jon Doe"},{"type":"text","text":2},{"type":"text","text":" *1. Wrapped Plate, 8 in | 1 Pc*\\nRate: 3.000\\nQty: 8000\\nAmount: 24000.00\\n\\n *2. Bottle Brush | 1 Pc*\\nRate: 18.644\\nQty: 11\\nAmount: 242.00"},{"type":"text","text":24242.00},{"type":"text","text":"John Lee"},{"type":"text","text":"+91XXXXXXXXX"}]}]}}
前几天请求成功,但后来一直失败。请参阅下面的失败响应。
回复:
HTTP Status: 400 Bad Request
{
"error": {
"message": "(#100) Invalid parameter",
"type": "OAuthException",
"code": 100,
"error_data": {
"messaging_product": "whatsapp",
"details": "Param text cannot have new-line/tab characters or more than 4 consecutive spaces"
},
"fbtrace_id": "XXXXXXXXXXXXXXXXXXXX"
}
}
如果我删除
\\n
字符,请求就会成功。所以我假设失败是由 \\n
本身引起的。
我还尝试将
\\n
替换为以下内容:
\n
--> 同样的错误\u000A
--> 同样的错误%0A
--> 字符按原样显示。 (没有换行)你能告诉我出了什么问题吗?
注意:消息正文包含客户订购的商品。项目的数量可能因订单而异,因此每条消息的行数也可能有所不同。因此,我无法在消息模板中添加新行。
我也遇到过这个问题。 WhatsApp 似乎改变了规则。他们曾经允许在参数数据中使用
\\n
,但现在似乎不再允许了。
我确实找到了解决方法。您可以使用
\r
代替。这是一个回车符,它将光标移回到行的开头,而不添加新行。