QR交換
会場で会った相手のQRを読み取り、会った事実を記録します。
QR 交換は、会場で会った相手の QR を読み取り、会った事実を記録する機能である。表示する QR は 4S One QR ひとつで、相手が読めば人との交換、スタッフが読めば会場の受付になる。何として扱うかは読む側が決める。
会った事実はこの交換だけが作る。マッチや会う予定、「着いた」の合図では成立しない。成立するとふたりに得点が入り、メッセージや次の約束へ進める。
流れ
- ONE QR を見せる
- 相手が読む
- 会った記録
- ふたりに得点
- ONE QR を見せる
- スタッフが読む
- 4S で参加を確認
- 受付の記録
- 交換(相手が読む): 1. ONE QR を見せる
- 交換(相手が読む): 2. 相手が読む
- 交換(相手が読む): 3. 会った記録
- 交換(相手が読む): 4. ふたりに得点
- 受付(スタッフが読む): 1. ONE QR を見せる
- 受付(スタッフが読む): 2. スタッフが読む
- 受付(スタッフが読む): 3. 4S で参加を確認
- 受付(スタッフが読む): 4. 受付の記録
交換の流れ
自分の QR は画面に出すだけでよく、片方が相手の QR を読めばふたりの側に同時に記録される。読んだ側は短い演出のあと相手のプロフィールへ進み、読まれた側の画面も自動で読んだ人のプロフィールへ進む。
読み取りの入口は共通で、ブラウザのカメラ・貼り付け・アプリのスキャナが同じ処理を通る。会場のチェックイン用の QR を読んだときは、その場でチェックインせず、分類・題・場所・日時を確かめるシートを出してから進む。
本物の QR か確かめる仕組み
4S One QR には本人の公開ページの URL と照合用のトークンが入っている。サーバは読み取った URL の形を厳しく確かめ、トークンを本人の登録済みの値と照らし合わせて、一致したときだけ会ったことにする。照合用の値はハッシュだけを保存し、生のトークンは保存もログ出力もしない。
一致しなかったときは、その人が存在するかどうかも明かさずに断る。BOUNTY を使っていない 4S の利用者の QR を読んだときは、得点を付けずに相手として記録し、アプリの案内を出す。
One QR を表示できないときの予備として、短い時間だけ有効な署名付きの QR も読める。過去のスクリーンショットや転送をある程度は防ぐが、どちらの方式も物理的に同じ場所にいたことまでは保証しない。
記録と得点
会った記録と、それに伴うつながり・得点・通知・会えた「今会えます」の合図の取り消しは、同じ処理の中でまとめて、重ねずに保存する。同じ相手とすでに会っていれば、読み直しても得点は増えない。
得点はふたりの両方に入る。MATCH してから会った場合や、承認済み WANTED に会えた場合は上乗せがある。会う予定の時刻の幅で読めば、その予定は「予約どおりに会えた」になる。
会場の受付
会場の入場はスタッフが同じ One QR を読み、4S で参加を確かめて受付を記録する。本人の QR の画面には、受付が済んでいるかだけを示す。会場やブースの受付を人との交換に変えることはしない。
API で扱うには
自分の QR の表示・読み取った QR での交換・読まれた交換の受け取り・ウォレットへの追加は、関連の API(この頁の下の関連)にある。交換の成立はサーバの照合でだけ決まり、クライアントが送った相手の ID や「交換済み」の印だけでは成立しない。
デモ
できること
- 自分のQRを表示する
- 相手のQRを読む
- ミートを記録する
- 相手のプロフィールを開く