Cria ou atualiza conta no cofre (upsert)
Upsert por (`api_key_hash`, `platform`). Cookies e csrf_token sao cifrados com Fernet. Plataformas: amazon, mercadolivre, shopee. Shopee: `affiliate_id` = App ID da Open API; `cookies` = secret (nao e cookie de navegador). Status HTTP 201 mesmo em update de conta existente (o handler usa status_code=201 no POST).
Upsert por (api_key_hash, platform). Cookies e csrf_token sao cifrados com Fernet. Plataformas: amazon, mercadolivre, shopee. Shopee: affiliate_id = App ID da Open API; cookies = secret (nao e cookie de navegador). Status HTTP 201 mesmo em update de conta existente (o handler usa status_code=201 no POST).
Authorization
ApiKeyAuth Tenant key. Nao e JWT. Qualquer valor nao-vazio identifica um tenant via SHA-256. Ausencia => 401 API key ausente. Nao ha lista de chaves validas.
In: header
Header Parameters
Identificador do tenant. Qualquer string nao-vazia e aceita; a API armazena apenas o SHA-256. Nao ha cadastro/validacao de chave. Chave diferente = tenant diferente (isolamento).
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/accounts" \ -H "x-api-key: sua-api-key" \ -H "Content-Type: application/json" \ -d '{ "platform": "mercadolivre", "affiliate_id": "id-afiliado-ou-legado", "csrf_token": "token-capturado-da-pagina", "cookies": "a=1; b=2", "webhook_url": "https://seusistema.com/hook" }'{ "platform": "amazon", "affiliate_id": "af-123", "webhook_url": "https://example.com/hook"}Metricas Prometheus GET
Expõe `generate_latest()` do prometheus_client (contadores/histogramas HTTP e de tasks). Content-Type: `text/plain; version=0.0.4`. Mesma regra de METRICS_TOKEN que `/health/diagnostics`.
Atualiza campos da conta existente PUT
Campos omitidos (null) nao sao alterados. `cookies: ""` cifra string vazia. Requer conta ja existente.