インバウンド・ウェブフックの統合

TimelinesAIを使えば、既にお使いのツールのイベントやアクションに応じてWhatsAppメッセージの送信を自動化できます:CRM、サポート、採用システムなど。

「メッセージ送信」イベント

TimelinesAIに特定の連絡先(グループ可)にメッセージ(添付ファイルあり/なし)を送信するよう指示することができます。ワークスペースに複数のWhatsAppアカウントが接続されている場合、特定のWhatsAppアカウントを指定してメッセージを送信することも可能です。

統合をセットアップするために、ワークスペースのオーナーは「Integrations / Inbound Webhooks」画面に移動し、新しい URL を生成する必要があります。外部システムは、そのURLに特定のフォーマット(下記の詳細を参照)でメッセージを投稿する必要があります。

制限事項

  • 添付ファイルの最大サイズは2MBです。
  • 受信者の電話番号形式やWhatsAppへの接続を即座に確認することはできません。 メッセージの 送信/既読状況を確認するにはタイムラインUIへ移動して下さい。

インバウンド・ウェブフックによるファイルの送信

ファイルの送信:直接ダウンロード vs ファイル・ホスティング・サービス

直接ダウンロードリンクを使ってファイルを送信することが不可欠です。これにより、受信者は実際にファイルを受け取ることができます。

一方、ファイルホスティングサービスは、直接ダウンロードリンクを提供できるように使用する必要があります。このようなリンクは、シークレット/プライベートブラウジングで、検索バーにリンクを貼り付けてテストするのが最適です。ファイルのダウンロードがすぐに始まれば、そのリンクは問題ありません。その代わりに、何らかのウェブページが表示される場合、そのリンクはファイルの送信には使用できません。

ファイル・ホスティング・サービスのリンクの場合、ファイルはダウンロードできません。代わりにダウンロードされ、送信されるのは、「破損した」ファイルを引き起こす可能性のある共有ウェブページです。

これは、受信者があなたが送ったメディアにアクセスできず、ファイルが使用できなくなるため、あなたのメッセージに影響を与えます。従って、受信者が問題なくファイルにアクセスできるよう、直接ダウンロードできるリンクを確実に送信することが重要です。

また、テスト番号の1つにウェブフックメッセージを送信することによって、このテストを実行することもできます。添付ファイルをクリックした後、"File is Corrupted"(ファイルが壊れています)、"Incompatible File"(互換性のないファイル)、"Failed to load X document"(Xドキュメントの読み込みに失敗しました)などのエラーメッセージが表示された場合、これはファイルホスティングサービスのリンクであり、直接ダウンロードリンクに置き換える必要があります。

クレジット利用率

  • メッセージを送信すると、メッセージ送信クォータから1クレジットが消費されます。
  • 空でないテキストと添付ファイルを含むメッセージを送信すると、メッセージ送信クォータから2クレジットが消費されます。
  • メッセージが送信できない場合(WhatsApp番号が無効、または接続されていない、WhatsAppサーバーエラー)、メッセージ送信クォータは回復します(通常数時間以内)。

メッセージ送信レート

  • WhatsAppのスパム検知機構を回避するため、2通のメッセージの間に約2秒のランダムな遅延を設けて送信される。
  • 2秒未満の頻度でウェブフックを有効にすると、メッセージはキューに入れられ、遅れて送信されます。各キューに入れられたメッセージはメッセージ送信クレジットを消費するので、キューに入れられたメッセージの数が利用可能なクォータを超えることはありません。

Webhookの設定とアクション

  • 「Webhook有効" - Webhookを完全に削除せずに無効にすることができます。
  • "Generate new URL" - 通知を受け付ける新しいユニークなURLを作成します。以前のURLは使用できなくなります。
  • 「Last sending attempts" - 直近のウェブフック起動試行のステータス
  • 「ダウンロードログ" - アクティベーションを試行した100回分の詳細なログ

Webhookリクエストフォーマット

WebhookはPOSTリクエストでJSON形式のデータを受け取ります。

  • "action"(必須) - 現在、"send "の1つの値のみがサポートされている。
  • "text"(必須)-送信するUTF-8エンコードされたプレーンテキストメッセージ(マークダウンはサポートされていません。"˶n "行区切りは除く)。
  • "file_url"(オプション) - ダウンロードされ、添付ファイルとして送信されるファイルの一般にアクセス可能なURL。
  • "file_name"(オプション) - 添付ファイルの名前(URLが指定されている場合は、必ず指定する必要があります)。

受取人は、以下のパラメータのいずれかを指定することで指定できる:

  • "chat_id" - TimelinesAIに表示されるチャットのID (チャットページのURLか、アウトバウンドウェブフックのペイロードにあります)。これはグループへのメッセージ送信をサポートします。
  • "jid" - コンタクトまたはグループを指定するWhatsApp JID
  • 「すなわち、
    [+][国番号][市外局番][市内局番](例:+14151231234)。
  • 「chat_name" - TimelinesAIに表示されるチャットの正確な名前。

ワークスペースに複数のWhatsAppアカウントが接続されている場合、以下の追加パラメータで使用するWhatsAppアカウントを指定します:

  • 「Whatsapp account phone" (オプション) - 送信に使用するWhatsAppアカウントを指定します。省略した場合、ワークスペース内で直近に接続されたWhatsAppアカウントが送信に使用される。注意: "chat_id" パラメータが指定された場合、各チャットは既に特定のWhatsAppアカウントに接続されているため、"whatsapp account phone" は無視されます。

ウェブフック・レスポンス

成功した場合(リクエストが検証され、送信が許可された)、WebhookはHTTPステータス200と、作成されたメッセージのmessage_idを含むJSONで応答します:

{
    "status": "success",
    "data": {
        "message_id": "wa_backend:3EB09FCC85FE99662E46"
    }
}

 

エラーの場合、WebhookはHTTPステータス40Xとエラーの詳細を含むJSONで応答します:

{
"status": 40X,
"data": {},
"message": "Webhook not found"
}

例1 - 特定のWAアカウントから特定の電話番号にメッセージを送信する:

{
"action": "send",
"whatsapp account phone" : "+15105566777", 
"phone": "+14151231234", 
"text": "lorem ipsum"
}

例2 - idで指定されたチャット(またはグループ)にテキストと添付ファイルを含むメッセージを送信する:

{
"action": "send", 
"chat_id": "77234", 
"text": "lorem ipsum"
"file_url" : "https://timelines.ai/logo.png",
"file_name" : "logo.png"
}
目次