Autenticação

Integrações servidor-a-servidor com a Admin API se autenticam com uma aplicação cadastrada na loja. A aplicação tem um client_id e um client_secret, que geram o token de acesso pelo fluxo OAuth 2.0 client credentials.

1. Cadastre uma aplicação

  1. No painel administrativo da loja, acesse Configurações › Aplicações:

    https://{sualoja}.fbits.app/configuracoes/aplicacoes

    A página lista as aplicações já cadastradas na loja.

  2. Clique em Nova aplicação e preencha:

    CampoDescrição
    NomeIdentifica a aplicação na listagem. Obrigatório.
    Client IDSugerido a partir do nome. O prefixo da loja é fixo (ex.: minhaloja-integrador-de-promocoes). Obrigatório.
    AtivaStatus da aplicação.
    DescriçãoPara que serve a integração. Até 200 caracteres.
    Perfis de acessoUm ou mais perfis que definem o que a aplicação pode fazer. Veja Perfis de acesso.
  3. Clique em Salvar. A janela Aplicação criada mostra o client_id e o client_secret. Copie o secret com Copiar secret.

🚧

Guarde o client secret

Armazene o client_secret em um cofre de credenciais. Depois, ele só pode ser consultado na tela da aplicação por quem tem a permissão ApplicationsSecrets.

Perfis de acesso

Os perfis de acesso são os mesmos que podem ser associados aos usuários do painel administrativo. Eles controlam quais operações a aplicação pode executar e, portanto, quais endpoints ela pode chamar. A aplicação só acessa os endpoints permitidos pelos seus perfis.

Chamadas a um endpoint sem a permissão exigida retornam 401 com code UNAUTHORIZED. As permissões exigidas por cada endpoint estão na descrição dele em Referências de API.

2. Gere o token de acesso

Com o client_id e o client_secret, solicite o token ao Wake SSO:

curl -X POST "https://wake-sso.fbits.net/realms/master/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}"

A resposta traz o access_token e o tempo de validade em segundos (expires_in). Reaproveite o token até ele expirar e então gere outro.

3. Chame a Admin API

Envie o token no header Authorization de toda requisição, junto com o header x-api-version:

curl "https://{loja}.commerce-wake.tech/api/promotions" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-api-version: 2.0"
HeaderValorObservação
AuthorizationBearer {access_token}Token gerado no passo 2.
x-api-version2.0Obrigatório. Sem ele, a resposta é 400 com code API_VERSION_REQUIRED.
📘

Identificação da loja

Nenhum endpoint pede a loja: ela é sempre a loja à qual a aplicação pertence. O autor das alterações registrado nos históricos também vem do token: para aplicações, é o client_id.

Erros de autenticação

HTTPcodeCausa
401SESSION_INVALIDToken ausente, inválido ou expirado; aplicação não encontrada ou sem acesso à loja.
401UNAUTHORIZEDOs perfis de acesso da aplicação não permitem o endpoint chamado.
400API_VERSION_REQUIREDHeader x-api-version ausente ou vazio.
🚧

Acesso de aplicações

O acesso de aplicações à Admin API precisa estar habilitado para a loja. Se o token for válido mas as chamadas retornarem 401 com code SESSION_INVALID, solicite a habilitação ao suporte Wake.