如何使用Plivo的SMS API在Python中发送短信
你的公司已经选择了Plivo来处理其语音和消息通信,现在你的工作是开始将Plivo集成到你公司的应用程序中。别担心,Plivo有一个SDK来帮助你。让我们看看如何在Python应用程序中通过Plivo发送和接收消息。
安装Plivo的SDK
我们假设你已经安装了Python。安装Plivo SDK很简单,只需运行以下程序即可
如果你喜欢从源代码安装,请访问我们的快速入门指南获取说明。
找到你的认证ID和认证令牌
在使用Plivo API之前,你必须要有适当的证书。我们在Plivo控制台顶部的账户部分提供了一个Auth ID和Auth Token。
选择一个电话号码
由于美国和加拿大的运营商规定,你需要一个支持短信的Plivo电话号码来向这些国家发送信息。检查Plivo控制台的号码屏幕,看看你有哪些号码可用,其中哪些号码支持短信功能。你也可以在这个屏幕上租赁号码。
运营商的短信规定因国家而异。对于向美国和加拿大以外的国家发送的信息,你可能想为你的信息注册一个字母数字的发件人ID。你可以了解更多关于字母数字发件人ID的使用,并从Plivo控制台注册一个。
发送一条短信
现在你可以开始了。你只需要几行代码就可以发送一条短信了。
import plivo
client = plivo.RestClient("<auth_id>", "<auth_token>")
message_created = client.messages.create(
src="+14155554567", dst="+12125554321", text="Hello, world!"
)
print(message_created)
用Plivo控制台的实际值替换占位符auth_id 和auth_token ,并使用你自己的来源和目的地号码。将该文件保存为SendSMS.py。用以下命令运行它
**注意:**如果你使用的是Plivo的试用账户,你只能向已经通过Plivo验证的电话号码发送信息。你可以使用控制台的沙盒号码页面来验证一个电话号码。
接收短信
当然,发送消息只是其中的一半。Plivo支持在许多国家接收短信(见我们的短信API覆盖页面,点击你感兴趣的国家)。当有人向Plivo的电话号码发送短信时,你可以通过使用Flask网络应用程序在你的服务器上接收它。
首先,可以选择建立一个虚拟环境,让这些包与你系统上的其他包隔离开来。然后创建一个名为receive_sms.py的文件(或任何你喜欢的名字),其中包含这段代码。
from flask import Flask, request
app = Flask(__name__)
@app.route("/receive_sms/", methods=["GET", "POST"])
def inbound_sms():
from_number = request.values.get("From")
to_number = request.values.get("To")
text = request.values.get("Text")
print(
"Message received - From: %s, To: %s, Text: %s" % (from_number, to_number, text)
)
return "Message Received"
if __name__ == " __main__":
app.run(host="0.0.0.0", debug=True)
用以下命令运行它
然后,你应该能够在http://localhost:5000/receive\_sms/ 上看到你的基本服务器应用在运行。
这对测试来说很好,但如果你不能连接到互联网来接收传入的消息和处理回调,那就没有什么好处了。为此,我们推荐使用ngrok,它可以通过安全隧道将NAT和防火墙后面的本地服务器暴露在公共互联网上。安装它并在命令行上运行ngrok,指定承载你想接收消息的应用程序的端口。
Ngrok将显示一个转发链接,你可以用它来使用公共网络访问你的本地服务器。