簡體   English   中英

一次 API 調用即可向多個用戶發送短信 (Twilio)

[英]One API call to send SMS to multiple users (Twilio)

我有一個大約 50 個電話號碼的列表,我需要通過 Twilio 的 API 向其發送相同的 SMS。 我該怎么做(通過 Python)?

我可以像這樣在 for 循環中執行此操作:

from twilio.rest import Client
client = Client(SID, AT)

for number in number_list:
    client.messages.create(to=number, from_="+18328955063",body="foo bar")

但是,與其多次訪問 Twilio 的 API,我寧願批量發送一組電話號碼/列表,然后只進行一次 API 調用。 那我該怎么做呢? 有可能嗎?

我正在設置一個后台異步任務來處理傳出的短信,理想情況下我不希望我的任務在 Twilio 一條一條地處理消息時等待很長時間。 我只想發送一個數字列表作為有效負載並完成它。

Twilio 開發者傳播者在這里。

您可以使用Twilio Notify API實現此目的。 Notify 用於向多個平台發送通知,但其中包括 SMS。

以下是您的操作方式:

首先,創建一個Notify 服務

然后,您需要通過為所有用戶創建綁定來使用 Notify API 注冊所有用戶及其號碼。 每個綁定都需要來自您的系統的某種身份(用戶 ID 或類似的)。

from twilio.rest import Client

account = "YOUR_ACCOUNT_TOKEN"
token = "YOUR_AUTH_TOKEN"
client = Client(account, token)

service = client.notify.services("YOUR_NOTIFY_SERVICE_SID")

for identity, number in user_dict.items():
    service.bindings.create(
        identity=identity,
        binding_type="sms",
        address=number
    )

然后,要向一組用戶發送通知,您只需為他們的身份創建一個通知:

service.notifications.create(identity=list_of_identities,
                             body="Hello world!")

這一次只需要 20 個身份,但您也可以在創建綁定或 以發送更多身份時使用標簽做一些工作。

讓我知道這是否有幫助。

您也可以這樣做: https ://www.twilio.com/docs/notify/api/notification-resource#code-send-a-notification-to-bindings-in-the-request-1

notification = client.notify.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")\
    .notifications.create(
        to_binding=[
            "{\"binding_type\":\"sms\",\"address\":\"+15555555555\"}",
            "{\"binding_type\":\"facebook-messenger\",\"address\":\"123456789123\"}"
        ],
        body="Hello Bob")

不需要創建綁定,順便說一下,twilio 可以接受 10,000 個數字

指定為 JSON 字符串的目標地址。 可以包含多個 to_binding 參數,但請求實體的總大小不應超過 1MB。 這通常足以容納 10,000 個電話號碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM