Acesso Comercial / Docs / Office / API
Ctrl K
GUIA

Autenticação por Token

Como gerar, usar e gerenciar tokens de API para a Office API.

Visão Geral

A Office API utiliza tokens de API no formato sk_live_... para autenticação. Diferente da Storefront API (que usa cookies httpOnly), os tokens são enviados explicitamente no header Authorization.

Gerando um Token

Tokens são gerados pelo painel administrativo (Office) da sua loja. Para gerar via GraphQL no painel admin:

mutation {
  generateApiToken(input: {
    hostname: "minha-loja"
    name: "ERP Produção"
    permissions: ["products:read", "products:write"]
  }) {
    rawToken
    tokenPrefix
    name
  }
}
Importante: O token completo (rawToken) é exibido apenas uma vez, no momento da criação. Armazene-o imediatamente em um local seguro (variável de ambiente, vault, etc). Após isso, apenas o prefixo será visível.

Usando o Token

Inclua o token no header Authorization de todas as requisições:

fetch('https://office.acessocomercial.com/api/office/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  },
  body: JSON.stringify({ query, variables })
})

Permissões

Cada token possui um conjunto de permissões que controla quais operações são permitidas:

PermissãoDescriçãoOperações
products:readLeitura de produtosproduct, products
products:writeEscrita de produtosinsertProduct, updateProduct, deleteProduct, updateAvailableQuantity

Revogando um Token

Para revogar um token comprometido ou não utilizado:

mutation {
  revokeApiToken(input: {
    tokenId: "QXBpVG9rZW46YWJjMTIz..."
    hostname: "minha-loja"
  }) {
    success
  }
}

Listando Tokens

Para ver todos os tokens ativos de uma loja (mostra apenas o prefixo, não o token completo):

query {
  apiTokens(hostname: "minha-loja") {
    id
    name
    maskedToken
    permissions
    lastUsedAt
    createdAt
  }
}

Segurança

  • Tokens são armazenados como hash SHA-256 — não é possível recuperar o token original
  • Cada token é associado a uma única loja (hostname)
  • Use variáveis de ambiente para armazenar tokens — nunca commit no código
  • Crie tokens com permissões mínimas necessárias (princípio do menor privilégio)
  • Rotacione tokens regularmente e revogue tokens não utilizados