Como se autenticar na API
Chaves de consumo
1. Primeiro Passo - Obtenha Consumer Key e Consumer Secret
Para consumir as APIs, obtenha Consumer Key e Consumer Secret de acesso a API. Estas chaves identificam seu usuário e seu contrato e são disponibilizados na Área do Cliente.
Exemplos de chaves:
Consumer Key: djaR21PGoYp1iyK2n2ACOH9REdUb
Consumer Secret: ObRsAJWOL4fv2Tp27D1vd8fB3Ote
ATENÇÃO: Estas chaves constam somente como exemplo, não sendo chaves reais para uso em qualquer ambiente.
Aviso Importante
O Consumer Key e Consumer Secret identificam o usuário e o contrato com o SERPRO. Mantenha essas informações protegidas de forma segura.
2. Segundo Passo - Solicitar Bearer Token
Para consultar as APIs, é necessário obter um token de acesso temporário (Bearer). Esse token possui uma (1) hora de validade e, sempre que expirado, repita este passo de requisição de um novo token de acesso.
Como solicitar o Token de Acesso
Para solicitar o token temporário é necessário realizar uma requisição HTTP POST para o endpoint https://gateway.apiserpro.serpro.gov.br/token
, informando as credenciais de acesso (consumerKey:consumerSecret) no HTTP Header Authorization, no formato base64, conforme exemplo abaixo.
Gerando o base 64
Pode ser feito em qualquer linguagem, abaixo um exemplo em "bash".
echo -n "djaR21PGoYp1iyK2n2ACOH9REdUb:ObRsAJWOL4fv2Tp27D1vd8fB3Ote" | base64
Exemplo de uma requisição com o cURL
curl --request POST \
--url https://gateway.apiserpro.serpro.gov.br/token \
--header 'authorization: Basic ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials
3. Terceiro Passo - Receba o Bearer Token
Como resultado do passo anterior, o endpoint informará o token de acesso a API, no campo access_token da mensagem json de retorno. Este token deve ser informado nos próximos passos. Fique atento ao tempo de renovação do Token de acesso.
Receba o Bearer Token
Como resultado, o endpoint informará o token de acesso a API, no campo access_token da mensagem json de retorno. Este token deve ser informado nos próximos passos.
{
"scope": "default",
"token_type": "Bearer",
"expires_in": 3295,
"access_token": "eyJ4NXQiOiJOamMyWkRabU5XWXlZVFF4T1ROaE4yVTFNell6TWpobVpEbGlaREU0WWpkaU1tVTNZV1kxTUEiLCJraWQiOiJORFUwTXpBMU1XWTJNVGxrT1RKaU1UWTFNemczT1dJeVpETXhaV1UxWlRnME0yTTBORFF4T1dWaFlUTTJOamhpWlRZd01XRTJaR0U0TnpnelpqYzRPUV9SUzI1NiIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJ1c2VydGVzdCIsImF1dCI6IkFQUExJQ0FUSU9OIiwiYXVkIjoiWEkxYVBmWXllcmVURmhLTFRuMTRXRmhOdmhJYSIsIm5iZiI6MTY3Nzg1MjAyMSwiYXpwIjoiWEkxYVBmWXllcmVURmhLTFRuMTRXRmhOdmhJYSIsInNjb3BlIjoiZGVmYXVsdCIsImlzcyI6Imh0dHBzOlwvXC9wdWJsaXNoZXIuYXBpc2VycHJvLnNlcnByby5nb3YuYnI6NDQzXC9vYXV0aDJcL3Rva2VuIiwicmVhbG0iOnsic2lnbmluZ190ZW5hbnQiOiJjYXJib24uc3VwZXIifSwiZXhwIjoxNjc3ODU1NjIxLCJpYXQiOjE2Nzc4NTIwMjEsImp0aSI6ImM0OWM1NWVjLWU4YjEtNGFiNi05YThiLTdhZDEzMTFkNjA0NSJ9.U11tZXy6XoT64AMMCUdMd5Yv8j9q5fzNKwnRT89R_expGIY_PPh3vRyckaqcW6NHWklMHMIgDbDJ-wKeoLWrBHW4F4Z_f8v-zXAlLduoqtJv55x7sjr2cevP4_hHqRTARX-lbK7Mx3MmChLWkNZN_DQ-DJjaXbczxIv6u7YgNdlVJ6jHm7TYPv8iRl4qV7x8KNFTP4H6JfWQQQaSO15AGJsLJ83X8PNQHnjmcFDecd_05IYEpTrTXb9eAQbFNu90ZziWpx0rmDB3wtd_OutnpDgQO8JTtbmhREzjB1wbrqHzqa4O1Qo-3DnQKkZhE5bvzM-lJHTbxnX6NRYsJ8ehrQ"
}
ou
{
"scope": "default",
"token_type": "Bearer",
"expires_in": 3295,
"access_token": "06aef429-a981-3ec5-a1f8-71d38d86481e"
}
Renovação do Bearer Token
O token de acesso possui 1h (uma hora) de validade. Recomenda-se gerar um token de acesso por hora. Utilize o token de acesso até o momento que o gateway retorne um HTTP CODE 401 após realizar uma requisição para uma API. Para renovação do token, repita o Segundo Passo Como solicitar o Token de Acesso (Bearer).