Twilio WhatsApp消息位于';排队';地位

Twilio WhatsApp消息位于';排队';地位,twilio,twilio-api,Twilio,Twilio Api,好的,我得到了WhatsApp和Twilio的批准(在Facebook业务验证之后),可以使用WhatsApp API向我的客户发送约会提醒。我配置了消息模板,它们也得到了批准。查看下图: 我用Python编写了一段代码,我从云端托管的PostgreSQL服务器(使用psycopg2)中提取数据,然后它向使用查询获取的电话号码发送消息。代码如下: from twilio.rest import Client import psycopg2 import time account_sid =

好的,我得到了WhatsApp和Twilio的批准(在Facebook业务验证之后),可以使用WhatsApp API向我的客户发送约会提醒。我配置了消息模板,它们也得到了批准。查看下图:

我用Python编写了一段代码,我从云端托管的PostgreSQL服务器(使用psycopg2)中提取数据,然后它向使用查询获取的电话号码发送消息。代码如下:

from twilio.rest import Client
import psycopg2
import time

account_sid = 'AC54xxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth_token = 'f1384yyyyyyyyyyyyyyyyyyyyyyyyyyy'

connection_string = ""

conn = psycopg2.connect(user = "xxxx",
                    password = "yyyyyy",
                    host = "zzzzzzzzzzzzzzz.zzzzzzzzzzzz",
                    port = "ABCD",
                    database = "some_db")

cur = conn.cursor()
cur.execute("""query to pick data""")

rows = cur.fetchall()

client_phone_list = []
phone_list_not_received = []
session_date_list = []
session_time_list = []
client_first_name_list = []

for row in rows:
    session_date_list.append(row[0])
    session_time_list.append(row[1])
    client_first_name_list.append(row[2])
    client_phone_list.append(row[3])

cur.close()
conn.close()

client = Client(account_sid, auth_token)

message_reminder_template = """Hello {},

This is a reminder about your session today at {}. Please be on time to utilize the full length of 
the session and avoid distress :)

We look forward to taking care of you!"""

for i in range(len(client_phone_list)):
    first_name = client_first_name_list[i]
    appointment_time = session_time_list[i]
    message_body = message_reminder_template.format(first_name, appointment_time)
    print(message_body)

message = client.messages.create(body = str(message_body),
                                 from_ = 'whatsapp:+1(mytwilionumber)',
                                 to = 'whatsapp:+91'+client_phone_list[i])
time.sleep(10)
text_status = message.status
print(text_status)
每当我运行此代码时,返回的消息状态总是“排队”。我已检查是否使用的不是“测试凭据”,而是“实时凭据”

我还检查了返回为NULL的错误代码和错误消息。因此没有错误,但是消息没有被发送。我怎样才能改变这一点

任何帮助都将不胜感激


还请注意,上述代码中使用的消息正文已被WhatsApp批准为模板。

此处的Twilio developer evangelist

在发出发送消息的API请求时,状态将作为“排队”返回给代码。这就是代码中的这一点:

message=client.messages.create(body=str(message_body),
from_u='whatsapp:+1(MyTwilionNumber)',
收件人='whatsapp:+91'+客户电话列表[i])
但是,您下一步所做的工作将不起作用:

time.sleep(10)
text_status=message.status
打印(文本状态)
等待10秒,然后从创建消息时返回的消息对象读取状态,仍将返回“排队”

如果要在10秒后获取消息状态以查看消息是否已发送,则需要再次调用,如下所示:

time.sleep(10)
最新消息=client.messages(message.sid).fetch()
打印(最新消息状态)
要获得更有效的跟踪消息状态的方法,请查看此


让我知道这是否有帮助。

这里是Twilio开发者福音传道者

在发出发送消息的API请求时,状态将作为“排队”返回给代码。这就是代码中的这一点:

message=client.messages.create(body=str(message_body),
from_u='whatsapp:+1(MyTwilionNumber)',
收件人='whatsapp:+91'+客户电话列表[i])
但是,您下一步所做的工作将不起作用:

time.sleep(10)
text_status=message.status
打印(文本状态)
等待10秒,然后从创建消息时返回的消息对象读取状态,仍将返回“排队”

如果要在10秒后获取消息状态以查看消息是否已发送,则需要再次调用,如下所示:

time.sleep(10)
最新消息=client.messages(message.sid).fetch()
打印(最新消息状态)
要获得更有效的跟踪消息状态的方法,请查看此


让我知道这是否有帮助。

您是否查看了控制台中的Twilio调试器,以查看是否有任何事件记录在那里?此外,您是否可以发送一条单独的消息(使用不同的已批准模板),通过遵循此处的代码片段查看结果。如果两者都不发光,在help@twilio.com下一步将介绍您的原始帖子和上面的结果。我进入了Twilio调试器,但那里没有任何事件。但是当我查看短信日志时,我发现了这个:。错误63016-请使用模板。但我检查了我批准的模板,它与消息完全匹配。批准的模板:在这种情况下,我建议发电子邮件help@twilio.com(或者在Twilio控制台中打开一张罚单),这样他们就可以深入研究这个问题。如果你有一个精确的模板匹配,它不应该拒绝该消息。我已经通过提高票证联系了Twilio支持。希望尽快得到解决。如果有人遇到相同的问题,我会尽快发布解决方案。您是否查看了控制台中的Twilio调试器,以查看是否有任何事件记录在那里?此外,您是否可以发送一条单独的消息(使用不同的已批准模板),通过遵循此处的代码片段查看结果。如果两者都不发光,在help@twilio.com下一步将介绍您的原始帖子和上面的结果。我进入了Twilio调试器,但那里没有任何事件。但是当我查看短信日志时,我发现了这个:。错误63016-请使用模板。但我检查了我批准的模板,它与消息完全匹配。批准的模板:在这种情况下,我建议发电子邮件help@twilio.com(或者在Twilio控制台中打开一张罚单),这样他们就可以深入研究这个问题。如果你有一个精确的模板匹配,它不应该拒绝该消息。我已经通过提高票证联系了Twilio支持。希望尽快得到解决。如果有人面临同样的问题,我会尽快发布解决方案。好的,谢谢你提供的信息。我将进行必要的更改以获取状态。虽然它仍然不能回答我的问题。消息不会被发送(消息的状态是次要的)。当我进入短信日志时,它说由于错误63016消息失败-请使用模板。但我使用的模板已经得到了Twilio的批准。参考这些图片:您的问题是为什么邮件处于“排队”状态,这正是我试图回答的。我知道你现在已经联系了支持人员,他们最适合检查你的模板为什么不工作。我将其标记为答案,因为你是对的。我以后会偶然发现的。非常感谢。但这是第一个t