history Webhook
history は、Coexistence 番号にある既存の会話を API へ一度だけ転送します。履歴共有に同意してオンボーディングを完了すると届き、転送が実行されたことを連携に知らせる唯一のシグナルです。
何が届くか
WhatsApp Business アプリでその番号がすでに受信していた 1 対 1 のメッセージ履歴が転送されます。何年も使ってきた番号でも、ソフトウェアが何もない状態から始めずに済みます。
グループ会話は含まれません。Coexistence 番号ではグループ会話は API から完全に除外されます。また、アプリ独自の機能であるラベル、クイック返信、挨拶メッセージ、不在メッセージにも API 相当の機能はなく、デバイス上に残ります。
このフィールドは Coexistence 番号にだけ存在します。通常の方法でオンボーディングした番号には移行すべきアプリの履歴がないため、届くものもありません。
なぜ 1 回だけ発生するか
この転送は継続的な機能ではなく、オンボーディングの一部だからです。
Embedded Signup では、企業の担当者に既存の会話を共有するかどうかを尋ねます。「はい」と答えることで同期が実行できるようになります。後から再び有効にする設定も、繰り返し実行するエンドポイントもありません。2 回目の試行では、解除されるレート制限ではなく 2593107 が返されます。
期限もあります。同期はオンボーディング後 24 時間以内に開始する必要があり、それ以降に試行すると 2593108 が返されます。どちらかを逃した場合は、番号を切断して最初からフローをやり直す必要があります。
ハンドラーでの処理方法
一度だけ届き、大量になる可能性があるバッチとして扱い、メッセージ経路に追加される通常のトラフィックとは分けて処理してください。
- すぐに受け付けて非同期で処理します。他の配信と同じ方法です。
- メッセージ ID で重複排除します。オンボーディングの前後では、history と通常のメッセージが重なる可能性があります。
- 届かない場合も想定します。担当者が履歴を拒否した番号では何も届かないため、連携はどちらの場合でも動作する必要があります。
- オンボーディングをこれに依存させません。転送が完了する前でも接続は利用できます。
よくある間違い
- 履歴が存在することを前提に連携を構築すること。履歴なしで接続される番号は多数あります。
- 2593107 の後に同期を再試行すること。1 回限りのイベントなので、再試行しても同じエラーが返されます。
- 連携作業の開始まで履歴の選択を保留すること。通常、その時点では 24 時間の期限が過ぎています。
EasyCoexistence は、オンボーディングと履歴の選択を接続タイムラインに記録します。そのため、番号が同期されたか、何日に同期されたかを後から推測せず、日付付きの事実として確認できます。
よくある質問
どれくらいの履歴が届きますか?
Meta がプロバイダーではなく決める、直近の 1 対 1 の会話が一定期間分届きます。
グループチャットも移行されますか?
いいえ。Coexistence 番号ではグループチャットは API から完全に除外されます。
後からもう一度リクエストできますか?
いいえ。オンボーディングごとに 1 回だけ実行され、再実行するには番号を切断して再接続する必要があります。
担当者が履歴を拒否した場合はどうなりますか?
このフィールドには何も届かず、API には番号が接続された時点以降のメッセージだけが届きます。
続きを読む
始める準備はできましたか?
WhatsApp Coexistence の設定は数分で完了し、数か月もかかりません。スマートフォン上のアプリも引き続き使えます。
無料トライアルを始める確認日