WhatsAppをFyneDeskに接続する

WhatsApp Businessの番号をFyneDeskに取り込み、すべての受信メッセージがチケットになり、チームがチケットから直接返信できるようにします — 別のWhatsAppアプリは不要です。MetaのCloud APIを通じて直接接続することも、Gupshup、360Dialog、Twilioなどのプロバイダーを通じて接続することもできます。

接続の仕組み FyneDeskはWhatsAppの標準的なMeta Cloud APIメッセージ形式を読み取ります。Meta直接およびMetaパススルーのプロバイダー(Gupshup、360Dialog、パススルーモードのTwilioなど)はすべて同じ形式を送信します — そのため、誰が番号をホストしていても、FyneDesk内のステップは同一です。変わるのは認証情報をどこからコピーするかだけです。ステップ 2でプロバイダーを見つけてください。

必要なもの

  • プロバイダー(またはMetaと直接)ですでにセットアップされたWhatsApp Businessの番号
  • FyneDesk組織への管理者アクセス
  • プロバイダーの認証情報 — どの値をコピーするかは、ステップ 2を参照してください。

ステップ1 — FyneDeskで接続を追加する

FyneDeskで管理者設定 → WhatsAppに移動し、接続を追加をクリックします。WhatsAppがどこにあるかの下で、番号がどのようにホストされているかを選びます:Meta Cloud API directGupshup360DialogTwilio(Metaパススルーモード)、またはその他/カスタムプロバイダー

次にフォームに入力します:

  • WhatsApp Businessの電話番号 — 顧客がメッセージを送る番号を、国際形式で(例:+55 11 99999-9999)。
  • Phone Number ID — プロバイダーのダッシュボードにある長い数値のID。表示される電話番号ではありません。
  • アクセストークン — プロバイダーのトークンまたはAPIキー(ステップ 2)。暗号化して保存され、一度保存すると二度と表示されません。
  • WhatsApp Business Account ID — 任意。
  • App Secret — プロバイダーがApp SecretまたはWebhook Signing Secretとラベル付けしている値。FyneDeskはこれを使って、各受信メッセージが本当にWhatsAppからのものであることを検証します。
  • 受け付けるメッセージタイプ — テキスト、画像、ドキュメント。

保存して接続をクリックします。

FyneDeskのWhatsApp接続追加フォーム。「WhatsAppがどこにあるか」のプロバイダードロップダウンと、WhatsApp Businessの電話番号、Phone Number ID、アクセストークン、WhatsApp Business Account ID、App Secretのフィールド、およびテキスト・画像・ドキュメントのメッセージタイプのチェックボックスがあります

ステップ2 — プロバイダーから認証情報を取得する

ステップ 1で選んだプロバイダーに対応するセクションを見つけ、値をコピーしてフォームに貼り付けます。

Meta Cloud API direct

developers.facebook.comを開き、アプリに移動してWhatsApp → API Setupへ:

  • Phone number IDWhatsApp Business Account ID(WABA ID)はそのページに表示されます。
  • access tokenについてはGenerate tokenをクリックします。
  • App SecretApp Settings → Basic → App Secret → Showの下にあります。
本番環境には永続トークンを使ってください API Setupのトークンは一時的で、24時間後に期限切れになります。稼働中の接続には、Meta Business Settingsでシステムユーザーを作成し、期限切れにならないトークンを生成してください。MetaのWhatsAppアクセストークンのガイドを参照してください。トークンにはwhatsapp_business_messagingwhatsapp_business_managementの権限が必要です。

Gupshup

hub.gupshup.ioを開き、WhatsAppアプリを開いてSettingsへ:

  • API keyをコピーして、FyneDeskのアクセストークンフィールドに貼り付けます。
  • phone numberapp name、Phone Number IDをコピーします。
  • App Secretについては、GupshupがWebhook Signature Secretとラベル付けしている値(Settings → Webhookの下)を使います。

GupshupはMetaのwebhook形式をそのまま通過させるため、Meta直接でもGupshupでも、FyneDeskは同じペイロードを読み取ります。

360Dialog

360Dialogのハブで、番号のチャネルを開きます:

  • API keyを生成し(360DialogではD360-API-KEYと呼ばれます)、FyneDeskのアクセストークンフィールドに貼り付けます。各番号は独自のキーを持ち、最新のキーのみが有効なままになります。
  • ハブからPhone Number IDとWABA IDをコピーします。
  • ステップ 1で360Dialogを選ぶと、FyneDeskは360Dialogのエンドポイント(waba-v2.360dialog.io)経由でルーティングします。
キーの再生成に関する注意 新しい360Dialog API keyを生成すると、古いものが機能しなくなり、その番号のwebhookがクリアされます。その場合は、新しいキーをFyneDeskに貼り付け、ステップ 3をやり直してwebhookを再設定してください。

Twilio(Metaパススルーモード)

FyneDeskはWhatsAppのネイティブなMeta webhook形式を必要とします。Twilioの標準的なWhatsApp webhookはTwilio独自の形式を使い、FyneDeskは読み取れません — そのため、Twilioの番号はMetaパススルーモードでセットアップする必要があります。このモードでは、TwilioがMetaの生のwebhookをそのまま転送します。

  • TwilioでWhatsApp送信者のMetaパススルーを有効にし、その番号には上記のMetaセクションとまったく同じようにMeta Cloud APIの認証情報(Phone number ID、access token、App Secret)を使います。
  • アカウントでパススルーを有効にする方法については、TwilioのWhatsApp Business Platformドキュメントを参照してください。

Twilioの番号がMetaパススルーモードで実行できない場合は、代わりにMeta Cloud API directまたは別のサポートされているプロバイダー経由で接続してください。

その他/カスタムプロバイダー

MetaのCloud API webhook形式を転送するプロバイダーであればどれでも機能します。プロバイダーが提供する認証情報を、対応するフィールドに貼り付けます。プロバイダーが異なるAPIエンドポイントや認証ヘッダーを使う場合は、フォームの詳細設定を表示を開いて、送信のベースURLと認証ヘッダーを設定します。App Secretフィールドには、プロバイダーがApp SecretまたはWebhook Signing Secretとラベル付けしているものを使ってください。

ステップ3 — プロバイダーでセットアップを完了する

保存後、FyneDeskはWebhook URLVerify Tokenを含むバナーを表示します。両方をプロバイダーのwebhook設定にコピーし、受信メッセージをサブスクライブします。

FyneDeskがWebhook URLを提供します Webhook URLはあなたの接続に固有のものです — FyneDeskが生成し、コピーできるように表示します。自分で作る必要はありません。Verify Tokenは、余分なスペースなしで正確に貼り付けてください。

webhook設定がどこにあるか、プロバイダー別:

  • Meta Cloud API directWhatsApp → Configuration → Webhook:Webhook URLをCallback URLとして、Verify Tokenを貼り付け、Verify and saveをクリックしてから、messagesフィールドをサブスクライブします。
  • GupshupSettings → Webhook:Webhook URLとVerify Tokenを貼り付け、messagesイベントをオンにします(配信ステータスには任意でmessage_event)。
  • 360Dialog — 360Dialogのハブで番号のwebhook URLを設定します。(API keyを再生成するとクリアされることを覚えておいてください。)
  • Twilio — WhatsApp送信者の受信webhookをFyneDeskのWebhook URLに向けます。
  • その他/カスタム — Webhook URLをプロバイダーのcallback/webhookフィールドに貼り付け、受信メッセージイベントを有効にします。

ステップ4 — 接続をテストする

FyneDeskに戻り、接続の行で接続をテストをクリックします。緑のチェックは、認証情報とwebhookが機能していることを意味します。次に、実際のテストメッセージを送ります:個人のWhatsAppから、ビジネス番号にメッセージを送ります。約5秒以内に、新しいチケットとしてFyneDeskに表示されるはずです。

受信したWhatsAppメッセージから作成されたFyneDeskチケット — 顧客のメッセージが会話に表示され、その上に「WhatsAppで返信」ボックス、その下にエージェントの返信がスレッドで表示されています
これで完了 受信するWhatsAppメッセージはチケットとして開かれ、エージェントはチケットのWhatsAppで返信ボックスを使って返信します。返信はWhatsAppで顧客にスレッドとして戻ります。

トラブルシューティング

WhatsApp接続が機能しない — よくある解決策

「Webhook verification failed」。プロバイダーのVerify Tokenは、FyneDeskが提供したものと正確に一致する必要があります。再コピーして、先頭または末尾に余分なスペースがないか確認してください。

FyneDeskの監査ログに「Signature invalid」。App Secret / Webhook Signing Secretが正しく貼り付けられていません。プロバイダーから再コピーして、接続に貼り直してください。

「Token expired」(Meta直接)。一時的な24時間トークンを使いました。Metaでシステムユーザーを作成し、期限切れにならないトークンを生成して、接続を更新してください。

「接続をテスト」が401で失敗する(Meta直接)。トークンに権限が不足しています — whatsapp_business_messagingwhatsapp_business_managementの両方が必要です。

新しいキーを作成した後、360Dialogが機能しなくなった。API keyの再生成はwebhookをクリアし、古いキーを無効にします。最新のキーをFyneDeskに貼り付け、ステップ 3をやり直してください。

Gupshupのテストが失敗する。GupshupはsandboxproductionのAPIキーを別々に保持します — productionのキーを使っていることを確認してください。

Twilioのメッセージが届かない。Twilioのデフォルトのwebhook形式はサポートされていません。番号がMetaパススルーモードになっていて、Metaのネイティブなwebhookを転送していることを確認してください。

受信メッセージの送信者名が間違っている。WhatsAppはコンタクト自身のプロフィール名を提供するため、顧客が自分のアカウントに設定したものが表示されます。これは想定どおりです。