クイックスタート
通知を送り、承認を求めて、結果を受け取るまでを順に説明します。
1. 送信キーを用意する
アプリでサインインし、チャンネルを作ると送信キーが発行されます。手順はマニュアルをご覧ください。キーは 1 回しか表示しないので、環境変数に入れておきます。
export NODD_KEY="nodd_live_s_..."
2. 通知を送る
curl https://api.nodd.blipdrop.net/v1/messages \
-H "Authorization: Bearer $NODD_KEY" \
-H "Content-Type: application/json" \
-d '{"kind":"notice","title":"デプロイが完了しました"}'
受け付けると 202 を返します。これは受け付けたという意味で、端末への到達は保証しません。
{
"id": "msg_01JBX7Q2M4N8R5T6V9W0Y1Z2A3",
"status": "queued",
"reply_token": "rt_...",
"sent_at": "2026-11-02T04:12:09Z"
}
3. 承認を求める
kind を approval にすると、承認と却下のボタンが付き、応答に Face ID を求めます。
curl https://api.nodd.blipdrop.net/v1/messages \
-H "Authorization: Bearer $NODD_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: deploy-482" \
-d '{
"kind": "approval",
"level": "high",
"title": "本番デプロイの承認",
"body": "api v2.4.1 を本番へ反映します",
"fields": [{"label": "環境", "value": "production"}],
"expires_in": 3600
}'
4. 結果を受け取る
id で状態を取得します。応答がまだのあいだは Retry-After が付くので、その秒数を空けて取り直します。
curl https://api.nodd.blipdrop.net/v1/messages/msg_01JBX7Q2M4N8R5T6V9W0Y1Z2A3 \
-H "Authorization: Bearer $NODD_KEY"
{
"id": "msg_01JBX7Q2M4N8R5T6V9W0Y1Z2A3",
"kind": "approval",
"source": "api",
"sent_at": "2026-11-02T04:12:09Z",
"expires_at": "2026-11-02T05:12:09Z",
"action_state": "claimed",
"approvals_required": 1,
"response": {
"option_id": "reject",
"actor": {"id": "usr_...", "display_name": "佐藤"},
"assurance": "biometric",
"responded_at": "2026-11-02T04:13:40Z",
"note": "ステージングで確認してから",
"signature": {"alg": "ES256", "key_id": "dev_...", "value": "...", "nonce": "..."}
},
"delivery": {"confirmed": 1, "delayed": 0, "unconfirmed": 0, "failed": 0}
}
response.option_idがapproveのときだけ先へ進めますaction_stateがexpired、cancelled、failedでresponseがなければ、応答なしで終わっています。未応答を承認として扱わないでくださいresponse.noteは却下の理由か、inputへの回答です。応答した人が書いたときだけ付きます
ポーリングの代わりに callback やイベント API も使えます。処理が終わったら POST /v1/messages/{id}/result で結果を報告すると、カードが完了に変わります。
CLI で同じことをする
CLI は承認を待ち、結果を終了コードで返します。
brew install blipdrop/tap/nodd
nodd login
nodd ask "本番へ反映しますか" && ./deploy.sh
nodd login の QR はアプリで読み取ります。詳しくは CLI をご覧ください。