今回は、Python Twilioモジュールを使ってWhatsAppメッセージングを自動化するためのより良い方法を探ります。
この方法の設定方法と、注意点について説明します。
Twilioとは?
Twilioは、インターネット上で通話、テキストメッセージ、ソーシャルメディアメッセージ、その他様々な機能の送受信を可能にするクラウドコミュニケーションプラットフォームです。
TwilioとそのAPIは、個人的またはビジネス的な目的のために、必要に応じて自動メッセージや通話を送信するためにプログラムで使用することができます。
最新の機能としては、Whatsapp Business APIとの統合があり、これによりビジネスオーナーは顧客とのコミュニケーションを自動化することができるようになりました。
メッセージング・サービス・プロバイダー(Twilioなど)を利用するメリット
多くの個人や企業がメッセージングアプリを使用して、ビジネスオファーや購入などの通知やアラートを送信しています。
さらに、ユーザーやアカウント情報を取得するためのクエリを提供するものさえあります。
なぜマッサージサービスAPIを使うのか?
- スクリプトがサーバー上で実行されている場合、メッセージ/通知/応答は、一日の任意の時間に送信することができます。
- ダウンタイムがない、または非常に少ない
- パラメータを渡すだけで、あとはAPIが処理してくれるため、実装が簡単。
WhatsApp Business APIのメッセージをPython Twilioで自動化する方法。
Python Twilio ライブラリを使用し、WhatsApp Business API を使ってメッセージを自動化する手順を説明します。
この方法は、Pywhatkit を使ってメッセージを送信する方法より優れており、WhatsApp ウェブページを開いてログインしておく必要がありません。
また、APIにアクセスできるようになると、本格的なWhatsAppボットの作成を含め、より多くの自動化が可能になります。
ステップ1. アカウントの作成
Twilioのアカウントを作成します。
無料トライアル版のアカウントでは、クレジットカードやデビットカードの認証は必要ありません。
全てのツールや機能(無料)を使用できるように、Eメールと電話番号を確認します。
また、トライアル版アカウントのボーナスとして$15.50を差し上げます。
Twilioアカウントを作成する際、WhatsappビジネスプロフィールにTwilio番号を関連付けるため、Facebookビジネスマネージャーアカウントによる承認が必要です。
ステップ2.アカウント詳細の取得
Twilio番号が承認されると、Pythonライブラリを使用してメッセージを送受信することができます。
以下のステップバイステップガイドに従って、WhatsAppメッセージを自動で送信して下さい。
- TwilioコンソールからアカウントSIDと認証トークンを取得します。この情報はホームページのアカウントにあるプロジェクト情報セクションに表示されています。
3. 必要なライブラリのインストール [コード実装] 3.
コマンドプロンプトまたはターミナルウィンドウで、pipパッケージマネージャを使用してTwilioライブラリをコンピュータにインストールします。
PIPを利用できない場合は、こちらでインストールする方法もあります。
pip install twilio |
必要なライブラリがインストールされたので、それをコードにインポートする必要があります。
新しいPythonファイル(例: whatsapp-msg.py)を作成します。
作成したファイルの先頭で、ヘルパーライブラリからクライアント関数をインポートします。
#import the Client function from the helper library from twilio.rest import Client
|
次に、OSライブラリをインポートします。
このライブラリの環境変数を使用します。
これはコンピュータの端末内でアクセス可能な値で、データをより一貫した方法で保存するために使用されます。
#import OS for environment variables import os
|
この記事もチェック:pythonで活性化関数ReLuを実装する方法を分かりやすく解説する
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’ の代わりに、Account SID と Auth Token (Twilio dashboard から) をコードに入力し、有効な認可を受ける必要があります。
5. テキストメッセージの送信
標準的な WhatsApp テキストメッセージを送信するには、Twilio ライブラリのクライアントオブジェクトから “messages.create()” メソッドを使用し、以下の引数を指定します。
- body: 送信/ブロードキャストしたいメッセージ
- From_ : Whatsapp Webで承認されたTwilio番号
- To: WhatsApp でメッセージを送信する電話番号
#send text message text_message = client.messages.create(
body = 'Hello there!' ,
from_ = 'whatsapp:+14155238886' ,
to = 'whatsapp:+15005550006'
)
|
6. メディア(画像・動画)メッセージの送信
メディアメッセージを作成するには、クライアントオブジェクトの下にある “messages.create() “関数を、以下の引数で呼び出します。
bodyパラメータ以外はすべて同じです。
- media_url: 送信するメディアファイル(image/video/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)
|
成功した場合のレスポンスは以下のようになります。
結論
この方法は、Webブラウザーを使ってキーボードとマウスの動きをシミュレートする前回の方法と比べると、さらなる手順が必要です。
しかし、もしあなたが企業で、カスタマーサポートのための高度な応答システムを構築する方法を探しているのなら、この方法は絶対に試す価値があると思います。