Pular para o conteúdo principal

Organizações e workspaces

Workspace = evento, na prática — o nome no código é workspace, mas tudo que se aplica a "evento" no resto desta documentação (participante, PDV, caixa) se refere a um workspace criado aqui.

Organizações

EndpointO que faz
GET /v1/management/organizationsLista organizações onde o gestor autenticado tem papel ativo.
POST /v1/management/organizationsCria uma organização; quem cria vira owner. slug é opcional — se omitido, a API gera um a partir do nome.
PATCH /v1/management/organizations/{organizationId}owner altera nome. Slug e papel do gestor são somente leitura.
DELETE /v1/management/organizations/{organizationId}owner. Encerra a organização e arquiva todos os workspaces dela.

Regiões disponíveis

EndpointO que faz
GET /v1/management/regionsLista os códigos de região com pelo menos um cluster ativo — é a lista que alimenta o seletor de região na criação de workspace.

Workspaces (eventos)

EndpointO que faz
GET /v1/management/organizations/{organizationId}/workspacesLista workspaces da organização.
POST /v1/management/organizations/{organizationId}/workspacesCria e provisiona um workspace numa região. owner/admin apenas.
PATCH /v1/management/organizations/{organizationId}/workspaces/{workspaceId}Atualiza nome, timezone, startsAt/endsAt. Região e moeda são imutáveis após criação.
POST /v1/management/organizations/{organizationId}/workspaces/{workspaceId}/provisioning/retryTenta de novo o provisionamento regional quando ele falhou (status=failed).
DELETE /v1/management/organizations/{organizationId}/workspaces/{workspaceId}Arquiva o workspace (terminal — não existe "reativar").

Exemplo: criar um workspace

curl -X POST http://127.0.0.1:8787/v1/management/organizations/{organizationId}/workspaces \
-H "Authorization: Bearer <accessToken do gestor>" \
-H "Content-Type: application/json" \
-d '{
"name": "Festival de Verão",
"homeRegion": "br-east-1",
"timezone": "America/Sao_Paulo",
"currencyCode": "BRL"
}'

Provisionamento é assíncrono, mas a resposta já reflete o resultado

POST .../workspaces chama a wallet-api da região escolhida de forma síncrona, dentro do mesmo request — o cliente já recebe status: "active" ou status: "failed" na resposta, sem precisar dar polling. Se falhar (região momentaneamente indisponível, por exemplo), o registro global e o slug já existem; use o endpoint de retry, não crie de novo.

eventCode — o código curto do evento

Toda resposta de workspace inclui eventCode, no formato AXY-9898 (3 letras sem I/O, 4 dígitos sem 0/1 — evita confusão visual). Esse é o código que o participante digita ou lê via QR pra encontrar o evento e ativar a própria wallet nele — veja Encontrar evento e ativar wallet. Ele é gerado automaticamente na criação do workspace; não há como escolher ou editar.