Caixa — Localizar ou cadastrar um participante
Duas rotas globais (wallet-control-api), sem eventId porque identidade é
global — o saldo/wallet fica na região:
| Endpoint | O que faz |
|---|---|
GET /v1/cashier/participants/by-phone/{phone} | Consulta pura, nunca cria nada. 404 PARTICIPANT_NOT_FOUND se o telefone não tem cadastro ainda. |
POST /v1/cashier/participants | Cria-ou-localiza pelo telefone. Se for novo, cria o perfil sem auth_user_id (a pessoa ainda não instalou o app nem fez OTP — isso acontece depois, sozinho, na primeira vez que ela confirmar o OTP do mesmo telefone). Sempre devolve uma activationAuthorization: uma autorização assinada, de uso único, válida só pra esse participante e pro evento do caixa. |
- curl
- JavaScript
- Python
curl -X POST http://127.0.0.1:8787/v1/cashier/participants \
-H "Authorization: Bearer <accessToken do caixa>" \
-H "Content-Type: application/json" \
-d '{ "phone": "+5511999999999" }'
const response = await fetch("http://127.0.0.1:8787/v1/cashier/participants", {
method: "POST",
headers: {
Authorization: `Bearer ${cashierAccessToken}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ phone: "+5511999999999" }),
});
const { userId, displayName, profileComplete, activationAuthorization } = await response.json();
import requests
response = requests.post(
"http://127.0.0.1:8787/v1/cashier/participants",
headers={"Authorization": f"Bearer {cashier_access_token}"},
json={"phone": "+5511999999999"},
)
participant = response.json()