コンテンツにスキップ

主要概念

テナントとは、PASTA 上の独立した組織単位です。テナントごとにメンバー、パステンプレート、発行済みパス、APIキーが分離されています。

  • 1人のユーザーが複数のテナントを作成・所属できます。
  • 管理画面ヘッダーのテナントスイッチャーで、再ログインなしに切り替えられます。
  • テナントには slug(URLスラッグ)と一意の テナントID(UUID)があります。

テンプレート(パステンプレート)

Section titled “テンプレート(パステンプレート)”

テンプレートは、発行するパスの「型」です。表示色・フィールド定義・ロゴ画像などを設定します。

設定項目説明
テンプレート名管理用の識別名
表示色Apple / Google Wallet のカード背景色(hex)
フィールドパスに表示するラベルと値のペア(例: イベント名、座席番号)
ロゴ画像PNG形式(Apple Wallet のヘッダーロゴ)
パス種別Generic / EventTicket(Google Wallet のレイアウト)

テンプレート編集画面には ライブプレビュー があり、Apple Wallet 風・Google Wallet 風・紙チケット風の見た目を事前確認できます。

テンプレートをもとに、特定の保有者向けに 発行 したものがパスです。

状態説明
active有効(まだ検証されていない)
redeemed償却済み(入場済み・使用済み)
revoked取消済み(発行後に無効化)
expired有効期限切れ

各パスには固有の QRコード(JWS形式) が生成されます。Apple Wallet・Google Wallet・紙チケットで同一フォーマットを使用します。

キオスク端末または API 経由でQRコードを読み取ると、以下の処理が行われます。

  1. JWS署名検証:バックエンドの秘密鍵で署名されたQRが正規品か確認
  2. パス状態チェックactive かどうかを確認
  3. 原子的な償却:D1 トランザクションで二重償却を防止
  4. ログ記録redemptions テーブルに検証者・日時・手段を記録

同一パスへの再検証は already_redeemed として返します(エラーではなく状態として処理)。

テナントのメンバーには 3 種類のロールがあります。

ロール権限
管理者(admin)全権(メンバー管理・APIキー・組織設定含む)
編集者(editor)テンプレート・パスの作成・発行・取消
検証者(validator)検証実行と償却ログの閲覧のみ

テナントの最後の管理者は降格・削除できません。

外部システムやキオスク端末がバックエンド API を呼び出す際に使用する認証情報です。プレフィックス pasta_ で始まる文字列で、スコープ(issue / validate)を指定します。

  • issue スコープ:パスの発行・管理用(サーバー間連携)
  • validate スコープ:検証専用(キオスク端末向け)

生キーは作成時に一度だけ表示されます。再表示はできません。