Managers (parceiros)
Um manager é um parceiro/revendedor da plataforma: cadastra tenants por conta própria e
recebe uma comissão recorrente sobre a receita que a plataforma gera com eles. Diferente do
resto desta documentação (API pública /v1, autenticada por API Key de um merchant), tudo aqui
usa a mesma sessão de login do Backoffice — um manager é um papel administrativo
(AdminUser.role = 'manager'), não um tipo novo de chave de API.
Um manager é criado por um super_admin, pelo Backoffice (Configurações → Usuários) ou
pela API administrativa — com uma taxa de comissão (commissionRateBps, base 10000: 200 =
2%) definida na criação ou ajustada depois.
Autenticação (sessão, não API Key)
curl -c cookies.txt -X POST https://api.tamino.com.br/admin/auth/login \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "password": "..." }'
A resposta seta dois cookies: gw_admin_session (a sessão em si) e gw_csrf (token CSRF,
legível por JS — não é httpOnly). Toda chamada de escrita (POST/PUT/PATCH/DELETE)
precisa ecoar o valor de gw_csrf no header X-Csrf-Token — chamadas de leitura (GET) não
precisam. Com curl, um cookie jar (-c/-b) resolve a sessão; o CSRF token precisa ser lido
do jar e passado manualmente:
CSRF=$(grep gw_csrf cookies.txt | awk '{print $NF}')
curl -b cookies.txt -X POST https://api.tamino.com.br/admin/tenants \
-H "Content-Type: application/json" \
-H "X-Csrf-Token: $CSRF" \
-d '{ "slug": "meu-novo-cliente", "name": "Meu Novo Cliente" }'
Sem MFA configurada na conta, o login acima já é suficiente. Com MFA ativa, POST /admin/auth/login
exige um mfaCode adicional no corpo — mesmo fluxo de qualquer login do Backoffice.
Cadastrar um tenant
POST /admin/tenants provisiona tudo numa chamada só: o tenant, opcionalmente o tenant_admin
dele (com senha manual ou gerada + enviada por e-mail) e a curadoria de providers que esse
tenant pode ativar. O tenant criado vira automaticamente seu (o campo managerId é setado pelo
backend a partir da sua própria sessão — nunca um valor que o corpo da request possa escolher).
curl -b cookies.txt -X POST https://api.tamino.com.br/admin/tenants \
-H "Content-Type: application/json" \
-H "X-Csrf-Token: $CSRF" \
-d '{
"slug": "loja-do-joao",
"name": "Loja do João",
"adminEmail": "[email protected]",
"adminName": "João",
"sendCredentialsByEmail": true,
"allowedProviders": [
{ "providerKey": "simpay", "type": "pix" }
]
}'
{
"id": "9f1c2a4e-...",
"slug": "loja-do-joao",
"name": "Loja do João",
"managerId": "a1b2c3d4-...",
"plan": "standard",
"active": true,
"createdAt": "2026-09-14T18:00:00.000Z"
}
sendCredentialsByEmail: true dispara um e-mail com senha temporária pro tenant_admin — sem
isso, adminPassword fica obrigatório no corpo. allowedProviders é opcional: sem ele, o tenant
nasce sem restrição de curadoria (pode ativar qualquer provider disponível na plataforma).
Listar/consultar seus tenants
curl -b cookies.txt https://api.tamino.com.br/admin/tenants
curl -b cookies.txt https://api.tamino.com.br/admin/tenants/9f1c2a4e-...
Você só enxerga os tenants que você mesmo cadastrou — nunca os de outro manager, nem os
criados por um super_admin diretamente. GET /admin/tenants/search (com paginação — page/
pageSize/archivedOnly) segue a mesma regra, mesmo formato {page, pageSize, total, items}
usado no resto da API administrativa.
Comissão
A comissão é calculada automaticamente, venda a venda: um percentual (commissionRateBps) sobre
a receita líquida da plataforma naquela venda (a tarifa que a plataforma cobra, já descontado
o custo do provider) — nunca sobre o valor bruto transacionado, nunca um bônus fixo por tenant
cadastrado. Sem venda, sem comissão; sem taxa definida pelo super_admin, também não.
Consultar o saldo acumulado
curl -b cookies.txt https://api.tamino.com.br/admin/ledger/accounts
[
{
"id": "3f2a1e9c-...",
"type": "MANAGER_COMMISSION",
"balanceInCents": 4875,
"currency": "BRL"
}
]
balanceInCents é sempre a comissão que ainda não foi sacada.
Sacar a comissão
Reaproveita o mesmo mecanismo de saque PIX (Payout) usado pelo resto da plataforma:
curl -b cookies.txt -X POST https://api.tamino.com.br/admin/payouts \
-H "Content-Type: application/json" \
-H "X-Csrf-Token: $CSRF" \
-d '{
"amountInCents": 4875,
"pixKey": "[email protected]",
"pixKeyType": "email"
}'
GET /admin/payouts lista só os seus próprios saques de comissão. Ver a página
Payouts pra detalhes de status/campos — o formato da resposta é o mesmo, um
saque de manager só se distingue por não estar amarrado a nenhum tenant/merchant específico.
Não existe ainda uma tela dedicada no Backoffice pra um manager visualizar os próprios tenants ou a comissão acumulada — os endpoints acima, chamados com a mesma sessão de login que você já usa pra entrar no Backoffice, são o caminho de hoje.