https://api.base44.app/api/apps/68120a83c0d84e8b4d62c82b/functions/licenseGateway
https://api.base44.app/api/apps/68120a83c0d84e8b4d62c82b/functions/licenseGatewayHeader: x-api-keyExecute nessa ordem para autenticar e manter a sessão do usuário.
validaterequest_accessloginpinglogoutaction: "validate"Ao abrir o app
Body (JSON)
action"validate"obrig.emailstringobrig.tenant_emailstringobrig.appstringopc.Body exemplo
{
"action": "validate",
"email": "<email>",
"tenant_email": "<tenant_email>",
"app": "<app>"
}Retorna
valid: true/false + dados da licença
Possíveis erros
access_not_approvedcompany_no_licenselicense_expiredaction: "request_access"Quando validate retorna access_not_approved
Body (JSON)
action"request_access"obrig.emailstringobrig.tenant_emailstringobrig.user_namestringopc.company_namestringopc.appstringopc.Body exemplo
{
"action": "request_access",
"email": "<email>",
"tenant_email": "<tenant_email>",
"user_name": "<user_name>",
"company_name": "<company_name>",
"app": "<app>"
}Retorna
success: true + status: pending
Possíveis erros
company_no_licenselicense_expiredrequest_pendingalready_approvedaction: "login"Após validate retornar valid: true
Body (JSON)
action"login"obrig.emailstringobrig.tenant_emailstringobrig.device_infostringopc.ip_addressstringopc.appstringopc.Body exemplo
{
"action": "login",
"email": "<email>",
"tenant_email": "<tenant_email>",
"device_info": "<device_info>",
"ip_address": "<ip_address>",
"app": "<app>"
}Retorna
session_token + dados do plano
Possíveis erros
access_not_approvedcompany_no_licenselicense_expiredseat_limit_reachedaction: "ping"A cada 15 minutos (background)
Body (JSON)
action"ping"obrig.session_tokenstringobrig.Body exemplo
{
"action": "ping",
"session_token": "<session_token>"
}Retorna
valid: true
Possíveis erros
session_expiredaction: "logout"Ao fechar o app ou deslogar
Body (JSON)
action"logout"obrig.session_tokenstringobrig.Body exemplo
{
"action": "logout",
"session_token": "<session_token>"
}Retorna
success: true
Use para verificar capacidade e monitorar sessões. Não expor ao usuário final.
action: "check_seats"Painel admin / verificação de capacidade
Body (JSON)
action"check_seats"obrig.tenant_emailstringobrig.Body exemplo
{
"action": "check_seats",
"tenant_email": "<tenant_email>"
}Retorna
seat_limit, active_seats, available_seats
Possíveis erros
company_no_licenseaction: "check_obras"Antes de criar nova obra
Body (JSON)
action"check_obras"obrig.tenant_emailstringobrig.Body exemplo
{
"action": "check_obras",
"tenant_email": "<tenant_email>"
}Retorna
obras_limit, plan, expiry_date
Possíveis erros
company_no_licenseaction: "sessions"Painel admin
Body (JSON)
action"sessions"obrig.tenant_emailstringobrig.Body exemplo
{
"action": "sessions",
"tenant_email": "<tenant_email>"
}Retorna
lista de sessões + count + seat_limit
| reason | Descrição |
|---|---|
access_not_approved | Admin não aprovou |
company_no_license | Empresa sem licença |
license_expired | Licença vencida |
seat_limit_reached | Todos os seats em uso |
request_pending | Solicitação já enviada |
already_approved | Acesso já aprovado |
session_expired | Sessão expirou (2h sem ping) |
2
usuários simultâneos
1
obras ativas
5
usuários simultâneos
3
obras ativas
15
usuários simultâneos
5
obras ativas
∞
usuários simultâneos
∞
obras ativas
EngiCheck licenseGateway · API Map · v1.0