Uso da API
Para usar a API, primeiramente é necessário ter um conta de serviço. A conta de serviço é composta por dois códigos, sendo o Consumer Key e o Consumer Secret como no exemplo abaixo.
Consumer Key: djaR21PGoYp1iyK2n2ACOH9REdUb
Consumer Secret: ObRsAJWOL4fv2Tp27D1vd8fB3Ote
Autenticação
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. Para solicitar o token temporário é necessário realizar uma requisição HTTP POST para o endpoint de autenticação, informando as credenciais de acesso no HTTP Header Authorization, no formato: base64(consumerkey:consumerSecret).
SANDBOX: https://valautentikus.estaleiro.serpro.gov.br/autentikus-authn/api/v1/token PRODUÇÃO: https://autentikus.estaleiro.serpro.gov.br/autentikus-authn/api/v1/token
Exemplo usando cURL
curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -H "Authorization:Basic ZGphUjIxUEdvWXAxaXlLMm4yQUNPSDlSRWRVYjpkamFSMjFQR29ZcDFpeUsybjJBQ09IOVJFZFVi" \ -d \'grant_type=client_credentials&scope=escopo_proid' \ 'https://valautentikus.estaleiro.serpro.gov.br/autentikus-authn/api/v1/token'
Chamando os serviços do ProID
Como resultado do passo anterior, o endpoint informará o token de acesso a API, no campo access_token da mensagem json de retorno. De posse do token de acesso, faça a requisição a um dos serviços da API Pro ID, passando o Bearer no cabeçalho "Authorization".
{ "access_token": "TokenJWT", "token_type":"Bearer", "expires_in": 2825 }
Exemplo:
curl --request POST \
--url https://sandbox.proid.serpro.gov.br/api/v1/documentos \
--header 'Authorization: Bearer xxx' \
--header 'Content-Type: application/json' \
--data '{
"tipo": {
"id": "4b5b4d5e-1527-4b47-ba2d-5e8b06b56346"
},
"dados": {
"numero_registro": "978",
"nome": "Vio de Sousa",
"nome_social": "",
"data_validade": "20/12/2020",
"nacionalidade": "Brasileiroa",
"naturalidade": "Brasília",
"uf_naturalidade": "DF",
"data_nascimento": "04/12/1993",
"cpf": "111.111.111-11",
"nome_pai": "João de Sousa",
"nome_mae": "Maria de Sousa",
"codigo": "p4ssw0rd"
},
"imagens": {
"foto": {
"base64": "/9j/4AA...",
"tipo": "jpeg"
},
"assinatura": {
"base64": "iVBORw0....",
"tipo": "png"
}
}
}'