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"