微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Twilio:在循环电话列表以发送短信时尝试期待

如何解决Twilio:在循环电话列表以发送短信时尝试期待

我正在做一个小项目,让用户使用 Twilio 轻松地给一组客户发短信。我最近不得不向大约 400 位客户发送一条消息,其中有 2 个号码格式错误(11 位而不是 10 位)。发送完所有消息后,我检查了我的 Twilio 控制台,发现了几个错误 - 30005 Message Delivery - UnkNown destination handset,但所有其他消息都期望传递这两个消息。

我遇到的问题是我的代码,预期的行为应该是:

  • 我正在写要发送给我的客户的消息
  • 选择客户列表(存储在 MongoDB 中)
  • 单击将调用 launch() 方法的按钮
  • launch() 方法调用 contact() 方法并遍历列表中的每个数字以发送该消息
  • 最后,我应该被重定向到包含成功失败次数的广告系列概览

当前行为:

  • 每当我从 Twilio API 收到任何类型的错误(例如 30005 Message Delivery)时,我都会被重定向到“service unavailable页面。但是,所有拥有正确号码的客户都会收到消息。

我想如何处理 Twilio 短信 API 错误

  • 我只想在出现任何错误时跳过它并继续在电话号码列表中循环

代码

    @texting.route("/launch-campaign",methods=['POST'])
    @login_required
    def launch():
        """ Launch a new texting-campaign  """
        message = request.form['body']
        selected_list = request.form['list']
        #TO FIX
        return text_customers(message)
    
    def contact(phone,message_body):
        """ Send the text message to a list of recipients  """
        international_number = "+33" + phone
        twilio_client.messages.create(
            from_=TWILIO_PHONE_NUMBER,body=message_body,to=international_number)
    
    
    def text_customers(message):
        """ Send a text-message to all customers-customers  """
        collection = mongo.db[customers_production]
        cursor = collection.find()
        errors = 0
        success = 0
        for customer in cursor:
            try:
                contact(customer['Phone'],message)
                success = success + 1
            except:
                errors = errors + 1
                print(traceback.format_exc())
        return str(cursor)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。