連携とチャネル(技術)
WhatsApp、Messenger、Instagram、Telegram、SMS、メールの技術的な接続:コールバックアドレス、署名検証、プラットフォームのルール、連携の配信方法、各サービスの対応状況。
チャネルは、他サービスのメッセージをWebサイトのチャットと同じオペレーター画面へ取り込みます。連携は、他サービスにイベントを送るか、ナレッジを取得します。このページでは技術を説明します。アカウントでの操作はマニュアルをご覧ください。
状況: チャネルと大半の連携は、模擬のサービス応答でテストしていますが、すべての実際のアカウントでは未確認です。署名付きWebhookは、該当ページに記載の制限を除き完成しています。他のサービスは、有効化後に連携ログを確認してください。ベータ版として扱ってください。
共通ルール
- コールバックアドレスは
https://reactive.chat/kanal/<kanal>/<SITE_KEY>の形式です。サイトキーは、アカウントのプロジェクト → インストールにあります。 - すべての受信経路で、サービスの署名を検証します。 サービスのシークレットがなければ、何も受け付けません。
- 認証情報は暗号化し、他の設定とは別に保存します。
- チームの返信は、送信キューを通してサービスへ送ります。プラットフォームが応答しなくても、チャットは止まりません。
- メッセージ長: 受信メッセージがプランの上限を超える場合は短縮し、
[...]を付けます(上限)。 - チャネルからの添付ファイル(メール、Telegramの写真)は、ウィジェットと同じ形式、サイズ、容量の確認を行います。拒否したファイルは、プロジェクトの既定の言語(de、en、pl、それ以外は英語)で「添付ファイルを受け付けませんでした:…」とテキストに表示します。
WhatsApp、Messenger、Instagram
アカウントの連携で設定します。Meta Developer Dashboardで独自のアプリが必要です。当社のアカウントを通してメッセージを送ることはありません。
- Callback URL:
https://reactive.chat/kanal/whatsapp/SITE_KEY,…/kanal/messenger/SITE_KEY、または…/kanal/instagram/SITE_KEY。 - Verify Token: Metaと当社の両方に同じ値を入力する、長いランダムな文字列(定時間比較)。
- App Secret: 各コールバックの署名を検証します。App Secretがなければ、受信経路は何も受け付けません。
- Access Token: 運営側の代理で送信するために使います。
通知なく配信に失敗する原因となるプラットフォームのルール:
- WhatsApp: 顧客の最後のメッセージから24時間は自由に返信でき、その後は承認済みテンプレート(種類UTILITY、プレースホルダー
{{1}}を厳密に1つ)のみです。設定に名前を入力してください。時間枠外では自由文を送りません。 - Instagram: 顧客から先に書く必要があります。
- Messenger: メッセージタグで残っているのは
HUMAN_AGENTだけです。他は拒否します。
Metaは5秒以内のコールバック応答を求めます。当社の受信経路では、受け付けてキューに入れるだけにしています。
Telegram、SMS、メール
これらはプロジェクトに属し、プロジェクト → チャネルで設定します。
- Telegram: 独自のボットを使用します。ボットトークンを保存すると、当社が
setWebhookでhttps://reactive.chat/kanal/telegram/SITE_KEYを登録し、各コールバックが含む必要のあるランダムなsecret_tokenを付けます。既定ではアシスタントも回答します。 - SMS: Twilioアカウント(Twilio連携)を使用します。番号の「A message comes in」に
https://reactive.chat/kanal/sms/SITE_KEYを入力します。X-Twilio-Signatureを検証します。既定ではアシスタントも回答します。 - メール: IMAPで毎分メールボックスを取得し、返信は運営側のSMTP、なければ
Reply-To付きで当社の配信サービスを使います。有効化時に古いメールは取り込みません。In-Reply-To/Referencesで会話に紐付け、それがなければ過去30日間の送信者と件名を使います。不在通知、配信レポート、メーリングリスト、スパム指定のメール、送信者ごとに毎時20通を超えるメール(プロジェクトごとに300通)は取り込みません。既定ではアシスタントはメールに返信しません。有効にすると、返信にAuto-Submitted: auto-repliedを付けます。
既知の不足: 番号のブロックや時間枠の終了などでサービスへの配信が恒久的に失敗した場合、理由は連携ログに残りますが、会話にはまだ表示されません。
連携
アカウントの連携で有効にします。それぞれに独自の認証情報(キー、トークン、アドレス、サービスへのログイン)があります。イベント(conversation.created、message.created、handoff.requested、csat.submitted、fehlerfall.erstellt)は、再試行付きのキューを通ります。
- 間隔を延ばしながら、最大5回再試行します(1秒~10分強)。
- サービスとワークスペースごとのサーキットブレーカー:60秒で5回エラーになると、30秒停止します。
- 1時間を超えて古いイベントは配信しません。
- チャットが連携を待つことはありません。
コードにあるサービス:
- 独自システムへのイベント: Webhook(署名付き。Webhook参照)、Zapier、Make、n8n(REST hooks経由)
- チームチャット: Slack、Microsoft Teams、Discord
- チケットとCRM: Zendesk、Freshdesk、HubSpot、Pipedrive、Jira、Linear、GitHub
- ショップ: Shopify、WooCommerce、Shopware、Stripe
- ナレッジ: Webサイトクローラー、WordPress、Notion、Confluence、Google Drive
- 分析とエラー: Google Analytics 4、Matomo、Plausible、Sentry
- 予約: Cal.com
- チャネル: WhatsApp、Messenger、Instagram、Telegram、Twilio、メール
独自のサービスは登録できません。独自の接続には、Webhook、サーバーAPI、MCPを使用してください。
チャット内のショップ機能(WooCommerce、Shopify、Shopwareの「カートに追加」など)は、reactive.chatがプロジェクトごとに有効にします。登録済みのショップホストでのみ機能し、専用のJavaScript APIはありません。
モバイルアプリ
ネイティブSDKはありませんが、WebView用の埋め込みページがあります。モバイルアプリをご覧ください。
次:モバイルアプリ
最終更新: