コンテンツへスキップ
Wbiztool

メッセージングAPI

メッセージ履歴API

指定した期間のワークスペース内のメッセージ一覧を、それぞれのステータスとともに取得します。送信内容の照合、レポートの作成、再送が必要な失敗メッセージの特定などに利用できます。

POSThttps://wbiztool.com/api/v1/report/

リクエストボディ: JSON(2ページ目以降に必要)またはフォームフィールド

履歴には、API、ダッシュボード、キャンペーンのどれから送信したかにかかわらず、APIキーのワークスペース内のすべてのメッセージが含まれます。結果は1ページあたり200件で、古い順に返されます。同じデータはレポートページでも確認できます。

クイック例#

curl -X POST https://wbiztool.com/api/v1/report/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "start_date": "01-09-2026",
    "end_date": "08-09-2026",
    "page": 1
  }'

12345YOUR_API_KEYはご自身の値に置き換えてください。値の確認場所は認証をご覧ください。

リクエストパラメータ#

認証

client_idinteger必須

設定 → APIキーに表示されるAPIクライアントIDです。

api_keystring必須

同じページにあるAPIキーです。

フィルター

start_datestring必須

含める最初の日で、DD-MM-YYYY形式です(例:01-09-2026)。

end_datestring必須

期間の終わりで、DD-MM-YYYY形式です。この日自体は含まれません日付範囲を参照してください。

whatsapp_clientinteger任意

このWhatsApp番号から送信されたメッセージのみを返します。WhatsApp設定に表示されるIDを指定してください。省略すると、すべての番号のメッセージを取得します。

pageinteger任意

ページ番号で、1(デフォルト)から始まります。1ページには最大200件のメッセージが含まれます。JSONの数値で送信してください。0または負の数を指定すると、totalと空のhistoryが返ります。

日付範囲#

日付はインド標準時(IST、UTC+5:30)でのその日の開始時点(午前0時)として解釈されます。また、メッセージは送信日時ではなく、作成日時(キューへの登録時または予約時)で照合されます。範囲はstart_dateの00:00からend_dateの00:00までです。そのため、次のようになります。

  • "start_date": "01-09-2026", "end_date": "08-09-2026"の場合、9月1日から9月7日までが返されます。9月8日は含まれません。
  • 1日分だけを取得するには、end_dateを翌日に設定します:"start_date": "15-09-2026", "end_date": "16-09-2026"
  • 2つの日付が同じ場合、メッセージは返されません。

ページネーション#

各レスポンスには、期間全体のメッセージ数を示すtotalと、history内の最大200件のメッセージが含まれます。page × 200total以上になるまで、pageに2、3と順に指定してリクエストしてください。

レスポンス#

リクエストが成功すると、HTTP 200が返ります。

{
  "message": "Success",
  "status": 0,
  "total": 3,
  "history": [
    { "id": 9817263, "msg_type": "Text", "contact": "919876543210", "message_status": "Sent" },
    { "id": 9817264, "msg_type": "File", "contact": "919812345670", "message_status": "Failed" },
    { "id": 9817265, "msg_type": "Image", "contact": "Sales Team Mumbai", "message_status": "Pending" }
  ]
}
フィールド説明
messagestringリクエストが成功した場合はSuccess、それ以外はエラー内容。
statusinteger常に0。成功の判定には使わないでください。
totalinteger全ページを通じた、期間内のメッセージ数。成功時のみ含まれます。
historyarrayこのページの最大200件のメッセージ(古い順)。エラー時は空です。
history[].idintegerメッセージID。送信時に返されたmsg_idと同じです。
history[].msg_typestringTextImageFileのいずれか。
history[].contactstring国コード付きの受信者の電話番号、またはグループメッセージの場合はグループ名。
history[].message_statusstring下の表を参照してください。

メッセージステータスの値#

message_status意味
Pendingキューに登録済みまたは予約済みで、まだ送信されていません(ステータス0)。
SentあなたのWhatsApp番号から送信されました(ステータス1)。
Delivered予約済みの値で、現在は返されません。
Read予約済みの値で、現在は返されません。
Failed送信できなかったか、送信が中断されました(ステータス2)。errorを確認するにはメッセージのステータスを使用してください。
Cancelled送信前にキャンセルされました(ステータス3)。
Expiredexpire_after_secondsの期限までに送信されませんでした(ステータス4)。

現在、配信済みチェックと既読チェックは記録されないため、送信済みのメッセージは常にSentと表示されます。DeliveredReadは予約済みの値です。万一表示された場合は、Sentとして扱ってください。

エラー#

特に記載がない限り、エラーはHTTP 200で返り、status0になります。

{ "message": "Error", "status": 0, "history": [] }
メッセージ対処方法
Errorstart_dateまたはend_dateがないかDD-MM-YYYY形式ではない、JSONボディが無効(末尾のカンマが原因であることがよくあります)、またはリクエストがPOSTではありません。
Auth Errorclient_idapi_keyの両方を送信してください。
Invalid Client Idclient_idを数値で送信してください。HTTP 403で、historyなしで返ります。
Auth Error: invalid api keyキーが存在し、削除されておらず、このclient_idに属していることを確認してください。HTTP 400で、historyなしで返ります。
Demo Account can not access apis通常のアカウントを使用してください。

ヒント#

  • 履歴は短い期間ごとに取得する:1日分や1週間分ずつ取得すると、ページ数を少なく抑えられます。
  • 失敗したメッセージを見つけるhistoryFailedで絞り込み、各idメッセージのステータスを呼び出して失敗の理由を確認してください。再試行する前にerrorを確認してください。Sending was interrupted and may have been delivered…は、受信者がすでにメッセージを受け取っている可能性があることを意味します。
  • 古いメッセージは削除される:最終ステータスに達し、約90日間変更のないメッセージは削除され、ここに表示されなくなることがあります。切断または削除された番号で、作成または予約から90日経ってもキューに残っているメッセージも同様です。
  • リアルタイムでの追跡:メッセージの送信に合わせて処理するには、このエンドポイントをポーリングする代わりに、メッセージを送信するときにwebhookを指定してください。