access
POST /v1/access/impersonation/redeem
Exchange a single-use impersonation ticket for a session token.
認証
このエンドポイントは公開されています。認証情報や組織情報は不要で、当社のマーケティングサイトやAI回答エンジンが読み取っているものと同じです。
このエンドポイントは組織IDを受け付けません。お使いのキーによって所属する組織がすでに特定されており、レスポンスはその組織にスコープされます。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X POST https://api.zinndigital.com/v1/access/impersonation/redeem \
-H "Content-Type: application/json" \
-d '{ "ticket": <string> }'ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
Called by the customer dashboard when a staff member follows an `ImpersonationGrant.url`. **Unauthenticated by design** — the caller is the app at the instant it has no session, which is the whole point. Authorisation is the ticket: single-use, five minutes, 32 bytes of entropy, stored only as a SHA-256 digest, and bound to a grant a staff member is on the audit log for opening. Every refusal returns the same 401 message. Distinguishing "no such ticket" from "already redeemed" from "expired" would tell a caller which of their guesses was once real.
リクエスト本文
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
ticket | string | はい | — |
返信
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
token | string | はい | The customer session bearer token (carries the staff `act` claim). |
expires_at | string | はい | — |
session_id | string | はい | — |
org_id | string | はい | The single org this grant is good for. |
org_name | string | はい | — |
actor | string | はい | The real staff actor (`user:<id>`), for the banner. |
このエンドポイントが返すエラー
401 · 422 · 429 · 503