ビジネス管理APIを使うと、WhatsApp Businessアカウントやメッセージテンプレートなど、WhatsApp関連のビジネスアセットを作成および管理することができます。このAPIはマーケティングAPI上に構築されており、そのエンドポイントの一部を利用するため、このドキュメントには該当するマーケティングAPIドキュメントへのリンクが含まれている場合があります。
プラットフォームでは以下のアクセストークンのタイプがサポートされています。使用するタイプは、アプリケーションの利用者によって、またソリューションプロバイダーであるかどうかによって異なります。
システムユーザーアクセストークンは、あなた、あなたのビジネスや組織、またはあなたのビジネスや組織に属する人を表します。これらのトークンの主な利点は、期限切れになることがなく、ビジネス内でユーザーのインプットを必要としない自動化サービスを表示できることです。
システムユーザーアクセストークンは、ソリューションパートナーがオンボーディングされた顧客とクレジットラインを共有するために使用できる唯一のトークンタイプです。
システムユーザーアクセストークンを生成するには、まずシステムユーザーを作成する必要があります。ほとんどのエンドポイントは、トークンで特定されたユーザーがクエリ対象のリソースにアクセスできるかどうかをチェックします。ユーザーがリソースにアクセスできない場合、エラーコード200
が返され、リクエストが却下されます。
社員システムユーザーには、当該のMetaビジネスが所有しているまたは共有を受けている個々のWhatsApp Businessアカウントへのアクセス権を付与する必要があります。アプリがアクセスする必要があるのが所有しているWhatsApp Businessアカウントのみである場合は、社員システムユーザーのアクセス権で十分です。
作成したら、そのシステムユーザーがアクセスする必要があるWhatsApp Businessアカウントそれぞれに部分的または完全なビジネスアセットアクセス許可を付与する必要があります。
デフォルトでは、管理者システムユーザーは、あなたやあなたのビジネスが所有している、または共有を受けているすべてのWhatsApp Businessアカウントとそのアセットに対する完全なアクセス権を持ちます。
管理者システムユーザーは、あなたのビジネスと新たに共有されたWhatsApp Businessアカウントにアプリがアクセスする必要がある場合に便利です。社員システムユーザーを使用している場合は、共有を受けた各WhatsApp Businessアカウントに対するビジネスアセットアクセス許可を手動で付与する必要があります。
WhatsApp Businessアカウントごとに部分的なアクセス許可を付与することによって、管理者システムユーザーのデフォルトのビジネスアセットアクセス許可を上書きすることができます。アクセス許可を設定および上書きする方法については、ビジネスアセットアクセス許可をご覧ください。
システムユーザーを作成する手順は、次のとおりです。
システムユーザーの作成後にシステムユーザーアクセストークンを生成する手順は、次のとおりです。
ビジネス連携システムユーザーアクセストークンの対象範囲はオンボーディングされた個々の顧客であり、技術提供者やソリューションパートナーが、オンボーディングされた顧客のデータにアクセスする際に使用します。
これらは、顧客のWhatsAppビジネスアカウントでプログラムによる自動アクションを実行するアプリに便利なトークンです。アプリユーザーの入力に頼ることも、今後再認証が必要になることもありません。
ビジネス連携システムユーザーアクセストークンを生成するには、ビジネス向けFacebookログインで設定された埋め込み登録を実装し、顧客がフローを完了したときに返されるコードを交換する必要があります。
これらのトークンと生成方法について詳しくは、埋め込み登録のドキュメントとビジネス連携システムユーザーアクセストークンのドキュメントをご覧ください。
ユーザーアクセストークンはすべてのアプリ開発者が使用できるようサポートされています。しかし、このトークンは往々にして、初めてアプリダッシュボードを使って最初のテストメッセージを送信するときしか利用できません。ただし、アプリを開発中にシステムユーザーアクセストークン(技術提供者またはソリューションプロバイダーである場合、最終的にビジネスシステムユーザーアクセストークンに)切り替わります。ユーザーアクセストークンはすぐに期限切れになり、数時間ごとに新しいものを作成し続ける必要があるためです。
ユーザーアクセストークンを生成する方法はいくつかあります。
APIリクエストを行うときは、Bearer
で始まる認証リクエストヘッダーにトークンを含めてください。以下はその例です。
curl 'https://graph.facebook.com/v18.0/102290129340398/message_templates' \ -H 'Authorization: Bearer EAAJB...' \
システムユーザーを作成したら、ビジネスアセットアクセス許可レベルを設定する必要があります。多くのエンドポイントでは、APIリクエストに含められたトークンのシステムユーザーに、クエリ対象のWhatsApp Businessアカウント(またはそのアセット)への部分的または完全なビジネスアセットアクセス許可が必要です。システムユーザーにこのアクセス許可がない場合、これらのエンドポイントはエラーコード200
を返します。
WhatsApp Businessアカウントでのシステムユーザーのビジネスアセットアクセス許可を部分的アクセスに設定すると、WhatsApp Businessアカウントの特定のアセットまたはアクションへのアクセスをさらに制限できます。例えば、大規模なビジネスを所有していて、特定の部門にはWhatsApp Businessアカウントのテンプレートとビジネス電話番号のデータへの読み取りアクセスのみを許可したい場合は、その部門のシステムユーザーを作成し、そのデータの閲覧専用アクセスを設定することができます。
WhatsApp Businessアカウントでビジネスアセットアクセス許可を設定するには、次のようにします。
エンドポイントのテストには、PostmanコレクションかcURLを使うことをおすすめします。グラフAPIエクスプローラツールも使えますが、トークンがクエリ文字列パラメーターとして渡されるため、利用はおすすめしません(代わりに、リクエストヘッダーでトークンを渡してください)。
ビジネスに関する情報を入手するには、GET
リクエストをWhatsAppBusinessAccount
エンドポイントに送信します。ここで、<WHATSAPP_BUSINESS_ACCOUNT_ID>
は、お持ちのWhatsApp BusinessアカウントIDにします。
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "timezone_id": "1", "message_template_namespace": "05155c78_261e_4b2f_82b3_d7958d4cf75f" }
ビジネスの特定の情報(名称、メッセージテンプレート、電話番号など)を入手するには、GET
リクエストをWhatsAppBusinessAccount
エンドポイントに送ります。ここで、<WHATSAPP_BUSINESS_ACCOUNT_ID>
にはお持ちのWhatsApp BusinessアカウントIDを、fields
パラメーターには戻り値を希望する項目のリストを設定します。
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>?fields=id,name,message_templates,phone_numbers' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "message_templates": { "data": [ { "name": "hello_world", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Hello World" }, { "type": "BODY", "text": "Welcome and congratulations!! This message demonstrates your ability to send a message notification from WhatsApp Business Platform. Thank you for taking the time to test with us." }, { "type": "FOOTER", "text": "WhatsApp Business Team" } ], "language": "en_US", "status": "APPROVED", "category": "ACCOUNT_UPDATE", "id": "307191531401674" }, { "name": "sample_flight_confirmation", "components": [ { "type": "HEADER", "format": "DOCUMENT" }, { "type": "BODY", "text": "Confirmamos tu vuelo a {{1}}-{{2}} para el {{3}}." }, { "type": "FOOTER", "text": "Este mensaje proviene de un negocio no verificado." } ], "language": "es", "status": "APPROVED", "category": "TICKET_UPDATE", }, ...
呼び出しのタイプ | エンドポイント |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
呼び出しのタイプ | エンドポイント |
---|---|
|
|
|
|
|
|
|
|