Skip to content

Como utilizar?

Autenticação na API

As APIs disponibilizadas pelo ecossistema Sigap utilizam certificado digital e-CNPJ emitido por Autoridade Certificadora ICP-Brasil, tipo A1 ou A3, com "Autenticação do Cliente" para obtenção do token JWT. Os operadores devem fazer uso do mesmo CNPJ utilizado para a solicitação realizada no sistema SIGAP Autorização https://sigap.fazenda.gov.br/login no certificado de acesso à API. Abaixo estão descritos os passos e endpoints disponíveis para as APIs do Sigap.

Diagrama da Autenticação

1. Primeiro passo - Certificado Digital

Informação Importante

Para consumir a API, você deverá utilizar um Certificado Digital e-CNPJ emitido por Autoridade Certificadora ICP-Brasil, tipo A1 ou A3, com "Autenticação do Cliente".

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. Atualmente, os tokens de acesso possuem a validade de uma hora (3600 segundos). Após a expiração, requisições à API receberão retorno de acesso negado (erro HTTP 401).

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, conforme as URLs dos ambientes descritas abaixo. Obrigatoriamente o endpoint de Autenticação só será acessado com Certificado Digital.

curl -X 'POST' \
'[URL*]' \
-H 'accept: text/plain' \
-d ''

Endpoints de Autenticação e obtenção de Token por ambiente

Ambiente URL
Homologação https://auth-h-sigap-rec.df-1.estaleiro.serpro.gov.br/recepcao-autenticacao/token
Produção --

Resultado de uma chamada com sucesso:

{
 "Token": "eyJhbGciOi.eyJhdRBIiwiaW5zY3YTcWdhcC1tZS5kZi0xLmVzdGFsZWlyby5zZXJwcm8uZ292LmJyIiwiYXVkIjoic2lnYXAifQ.Gdu39WcGTM"
}

Abaixo segue um exemplo de chamada via cURL para o ambiente de homologação:

curl -X 'POST' \
'https://auth-h-sigap-rec.df-1.estaleiro.serpro.gov.br/recepcao-autenticacao/token' \
-H 'accept: text/plain' \
-d ''

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 de autorização informa o token de acesso a API, no campo access_token da mensagem json de retorno. O token recebido deverá ser armazenado para utilização no quarto passo.

{
 "Token": "eyJhbGciOi.eyJhdRBIiwiaW5zY3YTcWdhcC1tZS5kZi0xLmVzdGFsZWlyby5zZXJwcm8uZ292LmJyIiwiYXVkIjoic2lnYXAifQ.Gdu39WcGTM"
}
Renovação do Token de Acesso

ATENÇÃO

Procure sempre renovar o token seguindo as instruções do passo 2 acima. Mantenha em sua aplicação um monitoramento do tempo de vida do token. A renovação pode ser de forma reativa, quando o token expirar realizar uma nova requisição, ou de forma preventiva, monitorando o tempo de expiração e renovando previamente para fazer a substituição em tempo mais hábil.

4. Quarto passo - Fazendo uma requisição

Realizando a consulta

De posse do Token de Acesso, faça a requisição à API do Sigap

curl -X 'POST' \
'https://api-h-sigap-rec.df-1.estaleiro.serpro.gov.br/recepcao-aposta/aposta-esportiva/lote' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer eyJhbGciOi.eyJhdRBIiwiaW5zY3YTcWdhcC1tZS5kZi0xLmVzdGFsZWlyby5zZXJwcm8uZ292LmJyIiwiYXVkIjoic2lnYXAifQ.Gdu39WcGTM' \
-H 'Content-Type: application/json' \
-d '{
"LoteApostaEsportivaXmlGZipB64": "string"
}'

No exemplo acima foram utilizados os seguintes parâmetros:

[HEADER] Accept: text/plain  
[HEADER] Content-Type: application/json
  • Informamos o token de acesso recebido

    [HEADER] 'Authorization: Bearer eyJhbGciOi.eyJhdRBIiwiaW5zY3YTcWdhcC1tZS5kZi0xLmVzdGFsZWlyby5zZXJwcm8uZ292LmJyIiwiYXVkIjoic2lnYXAifQ.Gdu39WcGTM' 
    

  • Informamos o parâmetro no corpo da requisição

    [BODY] LoteApostaXmlGZipB64
    

Detalhes técnicos sobre os retornos de cada consulta podem ser obtidos através do Swagger da API na seção Documentação

Endpoints dos serviços disponibilizados

O detalhamento técnico dos endpoints, bem como as descrições das entradas/saídas de cada serviço pode ser consultada na seção Documentação.