Credenciais e token de acesso
Como obter o token de acesso das APIs da My Gateway: credenciais, montagem do authData, endpoint de autenticação e headers das chamadas.
Nesta página
Todas as APIs da My Gateway usam o mesmo fluxo de autenticação: você troca as credenciais da integração por um token e envia esse token, junto com a x-api-key, em todas as chamadas seguintes.
Credenciais#
As credenciais são fornecidas durante o onboarding, uma para cada ambiente:
| Credencial | Uso |
|---|---|
clientId e clientSecret | Identificam a integração. São usados só para montar o authData. |
x-api-key | Chave do API Gateway. Vai no header x-api-key de todas as chamadas, inclusive a de autenticação. |
Montar o authData#
Concatene o identificador e o segredo
Use o formato
clientId:clientSecret, com dois-pontos entre os valores.Codifique em Base64
Converta o texto completo para Base64 usando UTF-8, sem quebra de linha.
Envie o resultado em authData
Envie apenas o valor em Base64. Não envie literalmente
base64(...).
Exemplo conceitual
clientId:clientSecret -> Base64 UTF-8 -> authDataGerar o token#
/authentication/v1/authGera o token usado em todas as chamadas seguintes.
Cabeçalhos
Content-TypestringobrigatórioSempre
application/json.x-api-keystringobrigatórioChave do API Gateway do ambiente.
Cache-ControlstringopcionalUse
no-cachepara evitar respostas guardadas em cache por intermediários.
Corpo da requisição
authDatastringobrigatórioBase64 UTF-8 de
clientId:clientSecret.
Requisição
AUTH_DATA=$(printf '%s' 'SEU_CLIENT_ID:SEU_CLIENT_SECRET' | base64 | tr -d '\n')
curl --request POST \
--url 'https://api.mygateway.com.br/authentication/v1/auth' \
--header 'Content-Type: application/json' \
--header 'Cache-Control: no-cache' \
--header 'x-api-key: SUA_API_KEY' \
--data "{\"authData\":\"$AUTH_DATA\"}"const credentials = `${process.env.MYGATEWAY_CLIENT_ID}:${process.env.MYGATEWAY_CLIENT_SECRET}`;
const authData = Buffer.from(credentials, "utf8").toString("base64");
const response = await fetch("https://api.mygateway.com.br/authentication/v1/auth", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.MYGATEWAY_API_KEY,
},
body: JSON.stringify({ authData }),
});
const { authenticationToken, expiresIn } = await response.json();<?php
$authData = base64_encode(getenv('MYGATEWAY_CLIENT_ID') . ':' . getenv('MYGATEWAY_CLIENT_SECRET'));
$ch = curl_init('https://api.mygateway.com.br/authentication/v1/auth');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'x-api-key: ' . getenv('MYGATEWAY_API_KEY'),
],
CURLOPT_POSTFIELDS => json_encode(['authData' => $authData]),
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
$token = $result['authenticationToken'];import base64
import os
import requests
credentials = f"{os.environ['MYGATEWAY_CLIENT_ID']}:{os.environ['MYGATEWAY_CLIENT_SECRET']}"
auth_data = base64.b64encode(credentials.encode("utf-8")).decode("ascii")
response = requests.post(
"https://api.mygateway.com.br/authentication/v1/auth",
headers={"x-api-key": os.environ["MYGATEWAY_API_KEY"]},
json={"authData": auth_data},
)
token = response.json()["authenticationToken"]Respostas
Token gerado.
JSON
{
"authenticationToken": "TOKEN_DE_AUTORIZACAO",
"expiresIn": "2026-10-29T18:30:00-03:00"
}Falha de autenticação: credenciais inválidas, de outro ambiente ou x-api-key incorreta.
JSON
{
"message": "Houve um erro ao realizar a autenticação",
"error": true,
"errormessages": [
"MENSAGEM_OU_CODIGO_DE_SUPORTE"
],
"returncode": 401,
"id": "IDENTIFICADOR_DO_ERRO",
"data": []
}Atributos da resposta
authenticationTokenstringobrigatórioToken que deve ser enviado no header
Authorization.expiresIndatetimeobrigatórioData e hora de expiração do token. Renove-o antes desse instante.
Usar o token nas chamadas#
Envie o valor de authenticationToken no header Authorization exatamente como recebido, sem o prefixo Bearer, salvo orientação expressa recebida no onboarding.
Headers das chamadas
Authorization: TOKEN_DE_AUTENTICACAO
x-api-key: SUA_API_KEY
Content-Type: application/json- O header
Content-Typeé necessário nas chamadas com corpo JSON. - A
x-api-keyidentifica e autoriza o acesso pelo API Gateway e não substitui o token deAuthorization. - Ao receber
401 Unauthorized, renove o token. Ao receber403 Forbidden, confira ax-api-keye as permissões do recurso.
Última atualização em