Localização de titular¶
Realiza a consulta da existência de certificado no PSC SerproID, mediante a informação de CPF ou CNPJ.
POST /user-discovery
¶
Solicitação¶
A aplicação deve solicitar ao endpoint de localização de titular do PSC SerproID, https://serproid.serpro.gov.br/oauth/v0/oauth/user-discovery postando via application/json
os parâmetros necessários.
Parâmetros¶
JSON:
client_id
- (string) - deve conter oclient_id
(identificador único) da aplicaçãoclient_secret
- (string) - deve conter aclient_secret
(senha) da aplicação, utilizado em conjunto com oclient_id
para a sua identificaçãouser_cpf_cnpj
- (string) - identifica o tipo de certificado a ser consultado, Pessoa física ou jurídica, "CPF" ou "CNPJ", respectivamenteval_cpf_cnpj
- (string) -valor do "CPF" ou "CNPJ" do certificado autorizado, dependendo do valor informado no campouser_cpf_cnpj
Exemplo¶
O exemplo encontra-se com quebras de linha e espaços para melhor leitura
POST /oauth/v0/oauth/user-discovery HTTP/1.1
Host: serproid.serpro.gov.br
Content-Type: application/json
{
"client_id": "{client_id}",
"client_secret": "{client_secret}",
"user_cpf_cnpj": "<cpf_ou_cnpj>",
"val_cpf_cnpj": "<valor_do_cpf_ou_cnpj>"
}
curl -X POST \
https://serproid.serpro.gov.br/oauth/v0/oauth/user-discovery \
-H 'Content-Type: application/json' \
-d '{
"client_id": "{client_id}",
"client_secret": "{client_secret}",
"user_cpf_cnpj": "<cpf_ou_cnpj>",
"val_cpf_cnpj": "<valor_do_cpf_ou_cnpj>"
}'
Resposta da solicitação¶
O PSC SerproID irá verificar todos os parâmetros para validar a solicitação. As credenciais da aplicação, client_id
e client_secret
, serão checadas para realizar a sua autenticação. Será verificado a existência de certificados no PSC SerproID conforme os parâmetros informados nos campos user_cpf_cnpj
e val_cpf_cnpj
.
Solicitação válida (Sucesso)¶
Se a solicitação estiver válida, o PSC SerproID irá retornar a existência ou não de certificado via HTTP code 200 na resposta da solicitação no formato application/json
.
Parâmetros¶
JSON:
status
- (string) resultado da consulta de existência ou não de certificado no PSC SerproID, "S" para resultado positivo ou "N" - para resultado negativoslots
- (string) - lista de certificados da pessoa consultada, atualmente será retornado uma lista vazia, inclusive no cenário de existência de certificado
Exemplo¶
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "S_ou_N",
"slots": []
}
Solicitação inválida (Erro)¶
Se a solicitação for considerada inválida, seja devido a verificação dos parâmetros informados ou caso algum erro inesperado aconteça, o PSC SerproID retornará um erro no formato application/json
com o HTTP code correspondente ao tipo do erro.
Parâmetros¶
JSON:
code
- (string) - código do tipo do erromsg
- (string) - mensagem de errodebug
- (string) - informações adicionais sobre o erro
Exemplo¶
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"code": "AUTENTICACAO_INVALIDA_CLIENT_OAUTH",
"msg": "Falha na autenticidade do client_id e client_secret",
"debug": ""
}
Lista de erros¶
Tipo do erro | HTTP Code | Detalhes |
---|---|---|
CAMPO_OBRIGATORIO |
412 | O campo ... é obrigatório |
VALOR_PARAMETRO_INVALIDO |
400 | Valor do parâmetro ... inválido |
CLIENTE_OAUTH_NAO_IDENTIFICADO |
412 | Não foi possível identificar a aplicação cliente. |
AUTENTICACAO_INVALIDA_CLIENT_OAUTH |
401 | Falha na autenticidade do client_id e client_secret. |
USER_DISCOVERY_FAIL |
500 | Falha no processo de localização do titular. |