GET /api/policy
Obtém a política de marca d’água associada à máquina. Chamada periodicamente para sincronizar mudanças. Requer autenticação via X-API-Key.
Agente em operação normal:
1. A cada ~30 segundos (polling)
2. Verifica se há nova versão de política
3. Se versão_servidor > versão_local → Aplica
4. Caso contrário → Continua com política atual
curl -X GET https://t2mark.setor9.net/api/policy \
-H "X-API-Key: ak_5f1b3c8e9d2a4b6c7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b" \
-H "Accept: application/json"
| Header | Valor |
|---|---|
| X-API-Key | ApiKey da máquina |
| Accept | application/json |
{
"status": "success",
"version": 2,
"template": "color=#FF0000\\nopacity=0.25\\n---\\nRESTRITO\\n{domain}\\{user}\\n{date}",
"enabled": true,
"lastUpdated": "2026-05-05T14:30:00Z"
}
| Campo | Tipo | Significado |
|---|---|---|
| status | string | "success" = política encontrada |
| version | integer | Número da versão (ex: 2) |
| template | string | Configuração completa (Front Matter) |
| enabled | boolean | Se política está ativa |
| lastUpdated | string | Data da última atualização |
O campo template contém a configuração completa no Front Matter format:
color=#FF0000\nopacity=0.25\n---\nRESTRITO\n{domain}\{user}\n{date}
Quebra-se em:
Metadados:
color=#FF0000
opacity=0.25
Separador:
---
Texto:
RESTRITO
{domain}\{user}
{date}
Veja Template da Marca D’Água para detalhes.
GET /api/policy resposta:
{
"version": 2
}
Agente verifica:
versão_servidor (2) > versão_local (1)?
Sim: Aplica novo template imediatamente
Não: Continua com template atual
Dia 1:
Admin cria política v1
Agente recebe v1
Salva em config.ini: Version=1
Marca aparece com v1
Dia 2:
Admin muda cor (cria v2)
Agente polling: GET /api/policy
Servidor responde: "version": 2
Agente vê: 2 > 1? Sim!
Agente aplica v2
Marca muda de cor
Dia 3:
Admin não mexe em nada
Agente polling: GET /api/policy
Servidor responde: "version": 2
Agente vê: 2 > 2? Não
Agente continua com v2 (sem mudança)
{
"error": "Unauthorized",
"message": "Invalid API key"
}
Causas: ApiKey inválida, revogada ou ausente
{
"error": "Forbidden",
"message": "Machine or tenant is disabled"
}
Causas: Máquina desativada ou tenant inativo
{
"error": "Not Found",
"message": "No policy assigned to this machine"
}
Causas: Máquina registrada mas nenhuma política foi associada
Ação do agente: Continua esperando por atribuição (sem marca)
Se admin desativar a política (sem deletar):
{
"status": "success",
"version": 2,
"template": "...",
"enabled": false,
"message": "Policy is disabled"
}
Ação do agente:
enabled: false| Operação | Tempo |
|---|---|
| GET /api/policy → Resposta | 100-500 ms |
| Agente processa resposta | 50-100 ms |
| Aplicação da marca (se mudou) | ~5 segundos |
| Próximo polling | ~30 segundos |
CHAMADO:
A cada ~30 segundos (polling)
ENVIA:
GET /api/policy
Header: X-API-Key: ak_...
RECEBE:
{
"version": N,
"template": "...",
"enabled": true
}
LÓGICA:
Se version > local_version
→ Aplica novo template
Senão
→ Continua com atual
SEM POLÍTICA ATRIBUÍDA:
404 Not Found → Agente aguarda