通知メッセージ送信結果の取得
通知メッセージ(テンプレート)の送信結果を取得します。
GET /v2/notifications/v2/templates/:template_identifier/deliveries/:identifier
リクエストパラメータ
Path Parameters
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| template_identifier | string | ○ | 通知メッセージのテンプレートを一意に表す識別子 |
| identifier | string | ○ | 通知メッセージを一意に表す識別子 |
エラーコード
エラー定義 参照。
レスポンス
ステータスコード 200 OK と以下のプロパティを含む JSON オブジェクトを返します。
| パラメータ名 | 型 | Nullable | 説明 |
|---|---|---|---|
| result | object | 配信結果。Result オブジェクト 参照 |
Result オブジェクト
| Name | Type | Nullable | Description |
|---|---|---|---|
| identifier | string | 配信結果を一意に表す識別子 | |
| request_status | string | 配信要求結果 | |
| requested_at | integer | 配信要求日時 (UNIX time) | |
| line_api_response | json | LINE 通知メッセージ API から返されたレスポンス | |
| delivery_status | string | 配信結果 | |
| delivery_status_updated_at | integer | 配信結果更新日時 (UNIX time) |
配信要求結果と配信結果
レスポンスのパターンは以下のとおりです。
| $.result.request_status | $.result.delivery_status | 状態 | |
|---|---|---|---|
| 1 | success | unconfirmed | LINE へ配信リクエスト済み |
| 2 | success | delivered | (LINE Webhook 利用時のみ応答可)ユーザに配信済み |
| 3 | success | undelivered | (LINE Webhook 利用時のみ応答可)ユーザに配信失敗 |
| 4 | failed | unconfirmed | LINE への配信リクエストに失敗 |
通知メッセージが、ユーザに到達したかどうかまで判断したい場合は LINE Webhook の設定が必要です。
undelivered は、LINE への配信リクエストから 24 時間以上 delivered にならなかった場合に発生します。
$.result.request_status の failed は以下のケースで、即時応答されます。
- 配信対象に指定した電話番号が LINE 側に存在しない
- 対象ユーザが通知メッセージの受信をオプトアウト(拒否)している
- 対象ユーザは通知メッセージのサービス対象国に属していない
$.result.delivery_status の undelivered は以下のケースで発生しますが、配信リクエストから 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}'