PUSH API · v1a

最初のテスト送信

1. 事前に確認する

  • アプリ環境のプッシュサービス接続が準備できていて、配信が一時停止されていないことを確認します。
  • SDKのサーバー同期を確認し、その環境に登録されたご自身のテスト用installation_idを取得します。端末トークンそのものはコピーしないでください。
  • サーバーキーは、APIへの接続が許可された信頼できる開発用バックエンドかターミナルだけで使います。送信にmessages:send、結果の確認にmessages:readが必要です。

2. 例の値を置き換える

値用意する内容
KITS_API_ORIGIN運営者から提供されたAPIオリジンです。https://api.example.comは例であり、実際のサービスの接続先ではありません。
KITS_SERVER_KEYテスト環境のサーバーキーです。シークレット保管領域から安全に渡し、ターミナルの履歴や画面を共有しないでください。
KITS_IDEMPOTENCY_KEY今回の論理的な送信に固有の、表示可能なASCII文字1〜255文字のキーです。同じ送信を再試行するときは同じ値を使います。
inst_REPLACE_WITH_TEST_INSTALLATIONリクエスト本文内で、ご自身の実際のテスト用インストールIDに置き換えます。このプレースホルダーは有効な識別子ではありません。

3. 通知を1件受け付けてもらう

curl --include --request POST "${KITS_API_ORIGIN}/v1/messages" \
  --header "Authorization: Bearer ${KITS_SERVER_KEY}" \
  --header "Kits-Idempotency-Key: ${KITS_IDEMPOTENCY_KEY}" \
  --header "Content-Type: application/json" \
  --data-binary '{
  "target": {
    "installation_id": "inst_REPLACE_WITH_TEST_INSTALLATION"
  },
  "send_purpose": "TEST",
  "classification": "SERVICE",
  "display_path": "OS_DISPLAY",
  "priority": "HIGH",
  "title": "Kits test message",
  "body": "Hello from your test environment"
}'

この例はSERVICE分類とv1aのOS_DISPLAYを使います。同意を回避するためにマーケティング通知をSERVICEにしないでください。対象は1つのinstallation_idで、ほかのtargetフィールドと組み合わせません。

4. 受付レスポンスを読む

初回の受付が成功するとHTTP 202が返ります。以下は説明用のレスポンスで、実際の顧客データは含まれていません。

{
  "id": "msg_EXAMPLE_ONLY",
  "origin": "TRANSACTIONAL_API",
  "accepted_at": "2026-01-01T00:00:00.000Z",
  "idempotency": {
    "replayed": false
  },
  "targeted_subscriptions": 1,
  "ignored_fields": [],
  "deliveries_url": "/v1/messages/msg_EXAMPLE_ONLY/deliveries"
}
  • 結果を確認するためにidとdeliveries_urlを保存します。accepted_atはサーバーが受け付けた時刻です。
  • targeted_subscriptionsは対象となった購読数であり、端末が受信した数ではありません。0の場合は対象・権限・受信設定を確認してください。
  • idempotency.replayed=trueは同じリクエストの以前の結果を示し、新しい送信を意味しません。
  • ignored_fieldsは認識されたものの、そのプラットフォームで使われなかったフィールドです。通知に反映されたと思い込まず、内容を確認してください。

5. 配信結果と端末を確認する

KITS_MESSAGE_IDにレスポンスのidを設定して配信結果を確認します。次のページがある場合は、返されたnext_cursorをそのまま使ってください。

curl --include \
  --header "Authorization: Bearer ${KITS_SERVER_KEY}" \
  "${KITS_API_ORIGIN}/v1/messages/${KITS_MESSAGE_ID}/deliveries?limit=50"