在这篇文章中,我们将探讨使用Python Twilio模块自动发送WhatsApp消息的更好方法。我们将讨论如何进行设置,以及这种方法的注意事项是什么。
什么是Twilio?
Twilio是一个云通信平台,允许其客户在互联网上拨打和接收电话、短信、社交媒体信息和各种功能。Twilio与它的API一起,可以根据个人或企业的需要,以编程方式发送自动信息和电话。
它的最新功能是与Whatsapp Business API整合,使企业主能够与他们的客户进行自动沟通。
使用信息服务提供者(如Twilio)的优势
大量的个人和企业都在使用短信应用程序来发送他们的业务优惠、购买等的通知/提示。甚至有些服务查询,甚至是获取用户和账户信息。
为什么使用按摩服务API?
- 当脚本在服务器上运行时,消息/通知/响应可以在一天中的任何时间发送
- 没有或非常少的停机时间
- 容易实现,因为我们只需要负责传递参数,其余的由API来处理。
如何使用Python Twilio实现WhatsApp商业API消息的自动化
现在让我们来看看使用Python Twilio库的WhatsApp Business API自动化消息的步骤。这种方法比我们之前使用Pywhatkit发送消息的方式更好,因为你不需要保持你的WhatsApp网页打开并登录。
此外,一旦你能访问API,你可以执行更多的自动化,包括创建成熟的WhatsApp机器人。
第1步、创建账户
在Twilio上创建一个账户,使用免费试用版账户,这甚至不需要信用卡/借记卡授权。
验证您的电子邮件和电话号码,以便能够使用所有可用的工具和功能(免费)。随意完成账户设置的其他手续,这完全是免费的,你可以得到15.5美元的试用账户奖金。
当你创建Twilio账户时,Whatsapp必须得到你的 Facebook业务经理账户的批准,才能让你的Twilio号码与Whatsapp商业档案相关联。
第2步、获取账户详细信息
一旦你的Twilio号码被批准,你可以使用python库来发送和接收信息。
按照这些步骤指南,自动发送WhatsApp信息:
- 从Twilio控制台获取您的账户 SID和认证令牌,它显示在主页上您账户的项目信息部分。
Twilio中的账户SID和认证
3.安装所需的库[代码实施]。
在你的命令提示符或终端窗口中,使用pip软件包管理器,将 Twilio库 安装到你的电脑中。如果你不能访问PIP,还有其他方法来安装它 这里.
pip install twilio
现在我们已经安装了所需的库,我们需要把它导入我们的代码中。
创建一个新的python文件(Ex. whatsapp-msg.py)。在你刚刚创建的文件的顶部,从辅助库中导入客户端函数。
#import the Client function from the helper library
from twilio.rest import Client
然后导入操作系统库。我们将使用这个库的环境变量。这些是在计算机终端内可以访问的值,用于以更一致的方式存储数据。
#import OS for environment variables
import os
4.在代码中授权Twilio API
现在,为SID和Auth键设置环境变量。这些是我们在步骤2中从Twilio控制台得到的值。它们将帮助Twilio授权(确认)我们是他们WhatsApp消息传输API的实际用户。
#set the User credentials
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)
取代'TWILIO_ACCOUNT_SID'和'AUTH_TOKEN',你需要在代码中输入账户SID和Auth Token(来自Twilio仪表板)以获得有效授权。
5.发送文本信息
要发送一条标准的WhatsApp文本信息,我们使用Twilio库中客户端对象的 "messages.create() "方法,参数如下:
- body:你想发送/广播的消息
- From_ : 被批准用于Whatsapp Web的Twilio号码
- 收件人:你想发送/广播的信息。你想在WhatsApp上发送消息的号码
#send text message
text_message = client.messages.create(
body='Hello there!',
from_='whatsapp:+14155238886',
to='whatsapp:+15005550006'
)
6.发送媒体(图片/视频)信息
要创建一个媒体信息,请在客户端对象下调用 "messages.create() "函数,参数如下。
除了body参数外,一切都保持不变。
- media_url: 要发送的媒体文件(图片/视频/gif)(可以是文件或链接):
#send media message
media_message = client.messages.create(
media_url=['https://images.unsplash.com/photo-1545093149-618ce3bcf49d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=668&q=80'],
from_='whatsapp:+14155238886',
to='whatsapp:+15005550006'
)
7.打印响应
这很重要,因为它告诉我们Twilio给出的回应。在出现错误的情况下,这就是我们如何知道错误是什么或代码的哪一部分导致了错误。
#print response
print(text_message.sid)
print(media_message.sid)
一个成功的响应应该是这样的
来自Twilio API的成功响应
结论
与我们之前使用网络浏览器和模拟键盘和鼠标移动的方法相比,这个方法需要额外的步骤。但是如果你是一个企业,并且正在寻找为你的客户支持建立高级响应系统的方法,这个方法绝对值得一试。