メインコンテンツまでスキップ

通知メッセージ送信結果の取得

通知メッセージ(テンプレート)の送信結果を取得します。

GET /v2/notifications/v2/templates/:template_identifier/deliveries/:identifier

リクエストパラメータ

Path Parameters

パラメータ名必須説明
template_identifierstring通知メッセージのテンプレートを一意に表す識別子
identifierstring通知メッセージを一意に表す識別子

エラーコード

エラー定義 参照。

レスポンス

ステータスコード 200 OK と以下のプロパティを含む JSON オブジェクトを返します。

パラメータ名Nullable説明
resultobject配信結果。Result オブジェクト 参照

Result オブジェクト

NameTypeNullableDescription
identifierstring配信結果を一意に表す識別子
request_statusstring配信要求結果
requested_atinteger配信要求日時 (UNIX time)
line_api_responsejsonLINE 通知メッセージ API から返されたレスポンス
delivery_statusstring配信結果
delivery_status_updated_atinteger配信結果更新日時 (UNIX time)

配信要求結果と配信結果

レスポンスのパターンは以下のとおりです。

$.result.request_status$.result.delivery_status状態
1successunconfirmedLINE へ配信リクエスト済み
2successdelivered(LINE Webhook 利用時のみ応答可)ユーザに配信済み
3successundelivered(LINE Webhook 利用時のみ応答可)ユーザに配信失敗
4failedunconfirmedLINE への配信リクエストに失敗
配信結果の詳細

通知メッセージが、ユーザに到達したかどうかまで判断したい場合は LINE Webhook の設定が必要です。

undelivered は、LINE への配信リクエストから 24 時間以上 delivered にならなかった場合に発生します。

"failed" と "undelivered" の違い

$.result.request_statusfailed は以下のケースで、即時応答されます。

  • 配信対象に指定した電話番号が LINE 側に存在しない
  • 対象ユーザが通知メッセージの受信をオプトアウト(拒否)している
  • 対象ユーザは通知メッセージのサービス対象国に属していない

$.result.delivery_statusundelivered は以下のケースで発生しますが、配信リクエストから 24 時間は配信完了の通知を待機し、その間は unconfirmed 状態となります。

  • 対象ユーザが公式アカウントをブロックしている
  • 対象ユーザが電話番号の SMS 認証を行っていない

1. 配信リクエストが完了した

LINE への通知メッセージの配信リクエストに成功したことを示します。
LINE Webhook を利用していない場合は、最終的にユーザまで通知メッセージが配信されたかは確定できません。

{
"result": {
"request_status": "success",
"request_status_updated_at": 1650591346,
"requested_at": 1650591346,
"line_api_response": {},
"delivery_status": "unconfirmed",
"delivery_status_updated_at": 1650591346
}
}

2. ユーザーへの配信が完了した

通知メッセージがユーザーへ配信されたことを示します。
LINE Webhook 設定が完了していない場合、このステータスは返りません。

{
"result": {
"request_status": "success",
"request_status_updated_at": 1650591346,
"requested_at": 1650591346,
"line_api_response": {},
"delivery_status": "delivered",
"delivery_status_updated_at": 1650591640
}
}

3. ユーザーへの配信が完了しなかった

ブロックなどの理由で、通知メッセージがユーザーへ配信されなかったことを示します。
LINE Webhook 設定が完了していない場合、このステータスは返りません。

{
"result": {
"request_status": "success",
"request_status_updated_at": 1650591346,
"requested_at": 1650591346,
"line_api_response": {},
"delivery_status": "undelivered",
"delivery_status_updated_at": 1650678040
}
}
備考

LINE Webhook の仕様上 delivery_status: "undelivered"(ユーザに配信失敗)が確定するのは 配信リクエストをしてから 24 時間後 です。

4. 配信リクエスト失敗

通知メッセージの配信リクエストに失敗したことを示します。
以下のような理由が考えられます。

  • メッセージ配信対象に指定した電話番号に紐づく LINE ユーザーが存在しない
  • メッセージ配信対象に指定した電話番号に紐づく LINE ユーザーが LINE 通知メッセージの受信を拒否している
  • メッセージ配信対象に指定した電話番号は、LINE 通知メッセージのサービス対象国で発行されたものではない
{
"result": {
"request_status": "failed",
"request_status_updated_at": 1650591346,
"requested_at": 1650591346,
"line_api_response": {
"message": "Failed to send messages"
},
"delivery_status": "unconfirmed",
"delivery_status_updated_at": 1650591346
}
}

実行サンプル

curl -L -X GET https://msgapi.socialplus.jp/v2/notifications/v2/templates/{template identifier}/deliveries/{identifier} \
-H 'Accept: application/json' \
-H 'X-API-Key: {API Key}'