Ir para o conteúdo

Guias rápidos

Como autenticar na API Consulta CCIR

As APIs disponibilizadas pela plataforma API SERPRO utilizam o protocolo OAuth2 para realizar a autenticação e autorização de acesso das APIs contratadas. Siga os passos abaixo para se autenticar e consumir a Api Consulta CCIR.

1. Primeiro passo - Obtenha Consumer Key e Consumer Secret

Para consumir as APIs, você deverá utilizar os dois códigos (Consumer Key e Consumer Secret) disponibilizados na Área do Cliente. Esses códigos servem para identificar o contrato. As credenciais de acesso devem ser obtidas a partir da área do cliente Serpro.

Exemplos de códigos:

Consumer Key: djaR21PGoYp1iyK2n2ACOH9REdUb   
Consumer Secret: ObRsAJWOL4fv2Tp27D1vd8fB3Ote

Aviso importante

O Consumer Key e Consumer Secret identificam seu usuário e seu contrato com o SERPRO. Mantenha essas informações protegidas.

2. Segundo passo - Solicite o Bearer Token

Para consultar as APIs, é necessário obter um token de acesso temporário (Bearer). Esse token possui um tempo de validade e sempre que expirado, este passo de requisição de um novo token de acesso deve ser repetido.

Como solicitar o Token de Acesso (Bearer)

Para solicitar o token temporário é necessário realizar uma requisição HTTP POST para o endpoint Token https://gateway.apiserpro.serpro.gov.br/token, informando as credenciais de acesso (consumerKey:consumerSecret) no HTTP Header Authorization, no formato base64, conforme exemplo abaixo.

[HEAD] Authorization: Basic base64(Consumer Key:Consumer Secret) 
[HEAD] Content-Type: application/x-www-form-urlencoded 
[POST] grant_type=client_credentials

Para utilização no parâmetro Authorization, é necessário concatenar os códigos Consumer Key e Consumer Secret, separados pelo caracter ":", e converter o resultado em BASE64. No exemplo a seguir, é retornada a string ZGphUjIx[...]IzT3RlCg:

echo -n "djaR21PGoYp1iyK2n2ACOH9REdUb:ObRsAJWOL4fv2Tp27D1vd8fB3Ote" | base64

Resultado:

ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg

Abaixo segue um exemplo de chamada via cUrl:

curl -k -d "grant_type=client_credentials" \
-H "Authorization: Basic ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpPYlJzQUpXT0w0ZnYyVHAyN0QxdmQ4ZkIzT3RlCg" \
https://gateway.apiserpro.serpro.gov.br/token

Content-type

Caso experiencie erros de "415 Unsupported Media Type" na chamada de solicitação do Token, utilize o campo do Header "Content-Type" com o valor "application/x-www-form-urlencoded"

[HEAD] Content-type: "application/x-www-form-urlencoded"

3. Terceiro passo - Receba o 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.

Receba o 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": "am_application_scope default", 
    "token_type": "Bearer", 
    "expires_in": 3295, 
    "access_token": "c66a7def1c96f7008a0c397dc588b6d7"
}

Renovação do Token de Acesso

Atentar que sempre que o token de acesso temporário expirar, o gateway vai retornar um HTTP CODE 401 após realizar uma requisição para uma API. Neste caso, deve ser repetido o Segundo Passo Como solicitar o Token de Acesso (Bearer) para geração de um novo token de acesso temporário.

4. Quarto passo - Fazendo uma requisição

Realizando consulta às APIs

De posse do Token de Acesso, faça a requisição a API Consulta CCIR Trial.

curl -X GET "https://gateway.apiserpro.serpro.gov.br/consulta-ccir-trial/v1/consultarCodigoImovelPorNI/12345678900"\
-H "accept: application/json" \
-H "Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e" \

No exemplo acima foram utilizados os seguintes parâmetros:

  • [HEADER] Accept: application/json
    Informamos o tipo de dados que estamos requerendo, nesse caso JSON

  • [HEADER] Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e
    Informamos o token de acesso recebido

  • [GET] https://gateway.apiserpro.serpro.gov.br/api-consulta-due-trial/

Chamamos a url da API e o método desejado. No caso, a url base é "https://gateway.apiserpro.serpro.gov.br/consulta-ccir-trial”, e o método é o "/v1/consultarCodigoImovelPorNI/12345678900".

Exemplo de resposta esperada:

["7777777777777","8888888888888","9999999999999"]

IMPORTANTE

A chamada à API Consulta CCIR Trial acima é apenas para demonstração. As APIs disponíveis e suas respectivas URLs (endpoints) para consumo são disponibilizadas através da documentação dos seus respectivos swaggers.

Como utilizar a API Consulta CCIR Demonstração

A API Consulta CCIR Demonstração é o ambiente de testes da API, com dados de exemplo (Mock), com objetivo de demonstrar o funcionamento da API. Para utilizá-lo:

  1. Acesse a API Consulta CCIR Demonstração
  2. Pressione o botão Authorize para se autenticar, copiando a "Chave do ambiente Trial" disponível logo no início da página de Demonstração para utilizar no campo "value" do popup de autenticação que se abre
  3. Observe que, caso a autenticação não seja feita, ao testar um serviço será retornado o erro esperado 401 Error: Unauthorized (usuário não autorizado)
  4. Escolha o método (endpoint) a testar, abaixo de "Versão 1" e clicando no método desejado para expandir e exibir os parâmetros e botão "Try it out".
  5. Clique em Try it Out
  6. Insira os cabeçalhos e/ou parâmetros da requisição que desejar. Não há validação nos parâmetros de entrada no ambiente de Demonstração, podendo ser escolhido qualquer valor numérico para código de imóvel ou NI (CPF ou CNPJ) mesmo que inválido.
  7. Clique em Execute

Dados para testes

Para testar o ambiente Trial, utilize dados fictícios, conforme a necessidade de cada método. Seguem exemplos abaixo:

  1. Exemplo 1 : no serviço "consultarDadosCcirPorCodigoImovel", usar o valor do cabeçalho "x-signature": 1 e parâmetro "codigo": 11111111
  2. Exemplo 2 : no serviço "consultarCodigoImovelPorNI", usar o valor do cabeçalho "x-signature": 1 e parâmetro "cpfCnpj": 22222222222
  3. Clique em Execute
  4. Os dados serão retornados em formato JSON conforme a estrutura exemplificada em cada serviço na sessão Responses - Code 200 - Example Value | Schema