Autenticação (OAuth2)
Antes de consumir qualquer API Assertiva, gere um
token de acesso. A autenticação é a mesma para todos os
produtos: a Assertiva usa o padrão OAuth2 no fluxo
client_credentials, com autenticação Basic
(Client ID e Secret da sua aplicação).
As credenciais de acesso são fornecidas pela Assertiva. Em caso de dúvida
sobre como obtê-las, fale com o atendimento
(
atendimento@assertivasolucoes.com.br).
Endpoint de token
POST
/oauth2/v3/token
— gera o token de acesso (fluxo client_credentials)
-
Autenticação:
BasiccomClient IDeSecretcodificados em Base64. -
Corpo (
application/x-www-form-urlencoded):grant_type=client_credentials.
Exemplos de requisição
Substitua
SEU_CLIENT_ID e SEU_SECRET pelas suas
credenciais. Nunca versione credenciais reais no seu código.
POST /oauth2/v3/token
# Basic Auth: Client ID como usuario, Secret como senha curl -X POST https://api.assertivasolucoes.com.br/oauth2/v3/token \ -u "SEU_CLIENT_ID:SEU_SECRET" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials"
// Node 18+ possui fetch nativo. const clientId = process.env.ASSERTIVA_CLIENT_ID; const secret = process.env.ASSERTIVA_SECRET; const basic = Buffer.from(`${clientId}:${secret}`).toString("base64"); const resposta = await fetch("https://api.assertivasolucoes.com.br/oauth2/v3/token", { method: "POST", headers: { Authorization: `Basic ${basic}`, "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ grant_type: "client_credentials" }) }); const { access_token: accessToken } = await resposta.json();
import os import requests client_id = os.environ["ASSERTIVA_CLIENT_ID"] secret = os.environ["ASSERTIVA_SECRET"] resposta = requests.post( "https://api.assertivasolucoes.com.br/oauth2/v3/token", auth=(client_id, secret), data={"grant_type": "client_credentials"}, ) resposta.raise_for_status() access_token = resposta.json()["access_token"]
Resposta de sucesso
200 OK
{
"access_token": "8e3b7892-5fbc-4564-942d-531107f4667a",
"token_type": "bearer",
"expires_in": 60,
"scope": "ALL"
}
Use o access_token retornado no cabeçalho
Authorization: Bearer {access_token} das consultas do Localize.
Observe o campo expires_in (em segundos) e renove o token quando
ele expirar.
Erros comuns
Conforme a documentação do servidor de autenticação:
| Código | error |
O que significa |
|---|---|---|
400 |
unsupported_grant_type |
grant_type inválido ou não permitido. |
401 |
invalid_request |
Credenciais de acesso inválidas ou incorretas. |
403 |
access_denied |
Sua empresa não tem permissão para usar o portal via API. |
Nas consultas dos produtos, um token ausente ou expirado resulta em
401 (Falha na autenticação. Suas credenciais podem estar inválidas ou
expiradas.).
Próximo passo
Com o token em mãos, use-o no cabeçalho
Authorization: Bearer {access_token} das chamadas do produto que
você vai integrar. Escolha um produto na
página inicial do portal para ver o guia e a
referência técnica.