Skip to main content

Visão geral

A API affiliate usa chaves no header x-api-key. Cada chave de afiliado possui escopos que limitam quais endpoints podem ser chamados.

Formato da chave

  • Legado (v1): string de 32 caracteres — continua válida durante a transição
  • Novo (v2): lmd_{env}_{prefix}_{secret} — lookup por prefix + hash; o segredo não é armazenado em texto plano

Escopos affiliate

Todos os escopos declarados em uma rota são obrigatórios (AND). Sem o escopo necessário, a API retorna 403 Forbidden.

Partner scopes

Keys of type partner authenticate /api/partner/* (catalog, no affiliate context). New partner keys include all three scopes. Older keys with only organizations:read still work on that route; brands and campaigns require the matching scope. An affiliate key on a partner route (and the reverse) returns 401.

Rate limiting

Limite global: 60 requests / 60 seconds por API key e IP do cliente. Ao exceder o limite, a API retorna 429 com código TOO_MANY_REQUESTS e headers Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining (0) e X-RateLimit-Reset. Requisições com campos desconhecidos no body (ex.: POST /affiliate/shortener/url) retornam 400 por validação estrita (whitelist).

Erros de autenticação

Provisionamento

Chaves affiliate são criadas via GraphQL no serviço open-api (autenticação de dashboard com JWT em x-api-token): A resposta de criação/rotação inclui o segredo completo apenas uma vez no campo apiKey. Guarde-o com segurança.