通知メッセージ送信結果の取得
通知メッセージの送信結果を取得します。
GET /v2/notifications/:identifier
リクエストパラメータ
Path Parameters
パラメータ名 | 型 | 必須 | 説明 |
---|---|---|---|
identifier | string | ○ | 通知メッセージを一意に表す識別子 |
エラーコード
エラー定義 参照。
レスポンス
ステータスコード 200 OK
と以下のプロパティを含む JSON オブジェクトを返します 。
$.result.status
の値から配信状態を確認できます$.result.detail.status
の値から、より詳細な配信状態を確認できます$.result.detail.timestamp
は配信状態が確定した時刻を表します
レスポンスのパターンは以下のとおりです。
$.result.status | $.result.detail.status | 状態 |
---|---|---|
success | delivered | LINE へ配信リクエスト済み |
success | completed | (LINE Webhook 利用時のみ応答可)ユーザに配信済み |
success | incompleted | (LINE Webhook 利用時のみ応答可)ユーザに配信失敗 |
failed | failed | LINE への配信リクエストに失敗 |
配信結果の詳細
通知メッセージが、ユーザに到達したかどうかまで判断したい場合は LINE Webhook の設定が必要です。
incompleted
は、LINE への配信リクエストから 24 時間以上 completed
にならなかった場合に発生します。
"failed" と "incompleted" の違い
failed
は以下のケースで、即時応答されます。
- 送信対象に指定した電話番号が LINE 側に存在しない
- 対象ユーザが通知メッセージの受信をオプトアウト(拒否)している
- 対象ユーザは通知メッセージのサービス対象国に属していない
incompleted
は以下のケースで発生しますが、確定まで 24 時間は送信をリトライしつづけ、その間は delivered
状態となります。
- 対象ユーザが公式アカウントをブロックしている
- 対象ユーザが電話番号の SMS 認証を行っていない
success: 送信完了
LINE への通知メッセージの配信リクエストに成功したことを示します。
delivered: 配信リクエストが完了した
LINE への通知メッセージの配信リクエストに成功したことを示します。
LINE Webhook を利用していない場合は、最終的にユーザまで通知メッセージが配信されたかは確定できません。
{
"provider": "line",
"result": {
"status": "success",
"detail": {
"status": "delivered",
"timestamp": 1650591346
}
}
}
completed: ユーザーへの配信が完了した
LINE 通知メッセージがユーザーへ配信されたことを示します。
LINE Webhook 設定が完了していない場合、このステータスは返りません。
{
"provider": "line",
"result": {
"status": "success",
"detail": {
"status": "completed",
"timestamp": 1650591346
}
}
}
incompleted: ユーザーへの配信が完了しなかった
ブロックなどの理由で LINE 通知メッセージがユーザーへ配信されなかったことを示します。
LINE Webhook 設定が完了していない場合、このステータスは返りません。
{
"provider": "line",
"result": {
"status": "success",
"detail": {
"status": "incompleted",
"timestamp": 1650591346
}
}
}
failed: 送信失敗
LINE 通知メッセージの配信リクエストに失敗したことを示します。
以下のような理由が考えられます。
- メッセージ送信対象に指定した電話番号に紐づく LINE ユーザーが存在しません
- メッセージ送信対象に指定した電話番号に紐づく LINE ユーザーが LINE 通知メッセージの受信を拒否しています
- メッセージ送信対象に指定した電話番号は、LINE 通知メッセージのサービス対象国で発行されたものではありません
{
"provider": "line",
"result": {
"status": "failed",
"detail": {
"status": "failed",
"timestamp": 1650591346
},
"error": {
"code": 1,
"message": "Provider server error.",
"from_provider": {
"message": "Failed to send messages"
}
}
}
}
実行サンプル
curl -L -X GET https://msgapi.socialplus.jp/v2/notifications/{identifier} \
-H 'Accept: application/json' \
-H 'X-API-Key: {API Key}'