Ir para o conteúdo

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

Fluxo de Solicitação do 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).