Autenticação
Para utilizar qualquer endpoint das APIs PBM, é obrigatório gerar um token JWT e enviá-lo em todas as requisições subsequentes.
Este token garante a segurança, integridade e identificação do cliente integrador.
Criando um token
Para gerar um token, utilize a mutation createToken, informando as credenciais fornecidas pela Funcional.
Dica
O mesmo token pode ser utilizado em várias requisições até sua expiração.
Reutilizar o token melhora significativamente a performance e reduz chamadas desnecessárias ao servidor.
🔒 O token gerado tem validade aproximada de 1 hora.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| login | String | Sim | Login do usuário |
| password | String | Sim | Senha do usuário |
Exemplo de requisição
mutation {
createToken(
login: "usuario_exemplo"
password: "senha_exemplo"
) {
token
}
}
Exemplo de resposta
{
"data": {
"createToken": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjM2NDA2MDUsImV4cCI6MTc2MzY0NDIwNSwianRpIjoid3NVOUpGYXpCRHNwajVuNSIsImlzcyI6IlNTTyIsInN1YiI6IjI3M2Y5OTQ1LWJkZDgtNGEyNC04OWRiLTQ5ZTNlM2E3ZWEyOSIsInByb2ZpbGVzIjp7Im1hc3RlciI6W10sInBvaW50X29mX3NhbGVzX2J1eWVyIjpbIjAwMDI1NTI4MDAwMTE1Il19LCJuYW1lIjoiRmVybmFuZG8gVGVvZG9ybyBTYWx6YW5vIiwiaWRlbnRpdHkiOiIwNDAyMDQyODE2NiIsInV1aWQiOiIyNzNmOTk0NS1iZGQ4LTRhMjQtODlkYi00OWUzZTNhN2VhMjkiLCJlbWFpbCI6ImZlcm5hbmRvLnNhbHphbm9AZnVuY2lvbmFsY29ycC5jb20uYnIiLCJtb2JpbGVfbnVtYmVyIjoiNDM5OTEyODcxNDciLCJhdXRob3JpemVkX2FwcCI6dHJ1ZX0.shcz-8Q56d1j0ulCRZ0F6mQ7TmavFLTFUUTXlPMGIXgW8OmKqye4rhMQevjghl1iWeJ3YrKrvpV0PnuiilAOX0PyjBIRrzaQqZiF6hSFkVtqjXnKIFF0iok0FccTS_i_PDwJ6YEZ2do7-lwiYE0LdE7PafrT7iyQkMFjIcHujecHxpgjZvoQ_abinmq2F5QiI5JfkVSay7HqHUJyjjiKj9LQ6h1EijyeoYAd8w7_thYQc7AuWo_LtTRdC7fKyc7UPpS_hz_xIsjpm6DsIFDHz5ZAoopXpvdjR7iIqOWhFY_0_NegBezCpD0a2ntBScvC_ljO410L0pC92fJKf8JCODlvb7upMjuEBGVECzKT2YQHOI_T2XJagmKYRIwa78THYevq-WwG2eXV35tj4oucAZj_FQyAKCLlToRjb9zJJzYQtBCh8t39DOvfoS6AdTmnhZB66pbjc0aW-9DvjU00wDlvY06MnBcA5-iMIod_qIClaju88tOvRFBGzVVMTYeAbA370jK2jY8kvl7NsQMPv7o_Ib2jlXqtrcMuqalaseeJx65YA8bIl0qWI0qbTTR67SBV36oTGNBz4Uze3fAasOqjcqDsGVgECdpPZ6HjNwIJJVNyBvplj2ZcXlhF0TSWXpFNXbApJ8_CeynCrhTBgzk1c2cbgFor-AF9xTZL0_c"
}
}
}
Utilizando o token
Após gerar o token, ele deve ser enviado no header Authorization em todas as requisições GraphQL.
Exemplo:
POST /graphql
Content-Type: application/json
Authorization: Bearer {token_aqui}
🧩 Headers obrigatórios
Todos os métodos desta API utilizam obrigatoriamente os headers abaixo:
| Header | Exemplo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | Bearer eyJhbGciOi... | Sim | Token JWT gerado no createToken |
| Content-Type | application/json | Sim | Formato padrão para requisições GraphQL |
⏱ Expiração do token
O token possui validade aproximada de 1 hora.
Caso o token expire, a API retornará erro de autenticação.
Para continuar utilizando os serviços, basta gerar um novo token via createToken.
⏱ Erro ao utilizar um token expirado
{
"errors": [
{
"message": "Unauthorized",
"path": [
"WsAcesso_insertOptinExternal"
],
"extensions": {
"code": "UNAUTHENTICATED",
"originalError": {
"message": "Unauthorized",
"statusCode": 401
}
}
}
],
"data": null
}
🔄 Fluxo resumido de autenticação
- Chame
createToken, enviando login e password - Receba o token JWT
- Envie o token no header
Authorizationem todas as requisições - Quando o token expirar (~1 hora), gere um novo token
- Repita o processo conforme necessário