Pular para conteúdo

Manutenção de aplicação

Realiza a atualização de informações de uma aplicação cliente no PSC SerproID.


PUT /client_maintenance

Solicitação

A aplicação deve enviar os dados a serem atualizados ao endpoint de manutenção de aplicação do PSC SerproID, https://serproid.serpro.gov.br/oauth/v0/oauth/client_maintenance postando os parâmetros via application/json. O token de acesso gerado em Token de acesso de aplicação deverá ser enviado via HTTP Header no parâmetro Authorization.

Parâmetros

HEADER:

JSON:

  • client_id - (string) - identificador único da aplicação - Valor não alterável
  • name - (string) - nome da aplicação - Valor alterável
  • comments - (string) - descrição da aplicação - Valor alterável
  • redirect_uris - (Array de strings) - lista de url's para redirecionamento. Devem ser oriundas do host do certificado de equipamento apresentado, sendo vedada a utilização de fragments(#) - Valor alterável
  • email - (string) - E-mail para suporte em caso de indisponibilidade, mudança de versão, etc - Valor alterável

Exemplo

O exemplo encontra-se com quebras de linha e espaços para melhor leitura

PUT /oauth/v0/oauth/client_maintenance HTTP/1.1
Host: serproid.serpro.gov.br
Content-Type: application/json
Authorization: Bearer <token_da_aplicacao>

{
    "client_id": "64e587fa-4f30-487d-96f0-44e6b14ff620",
    "name": "Nome da Aplicação",
    "comments": "Descrição da Aplicação",
    "redirect_uris": ["https://www.aplicacao-exemplo.com/callback/certificado_nuvem", "https://www.aplicacao-exemplo.com/outro-callback"],
    "email": "suporte@aplicacao-exemplo.com"
}
curl -X PUT \
https://serproid.serpro.gov.br/oauth/v0/oauth/client_maintenance \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token_da_aplicacao>' \
-d '{
    "client_id": "64e587fa-4f30-487d-96f0-44e6b14ff620",
    "name": "Nome da Aplicação",
    "comments": "Descrição da Aplicação",
    "redirect_uris": [
        "https://www.aplicacao-exemplo.com/callback/certificado_nuvem",
        "https://www.aplicacao-exemplo.com/outro-callback"
    ],
    "email":"suporte@aplicacao-exemplo.com"
}'

Resposta da solicitação

O PSC SerproID irá validar os dados informados e se os valores informados no campo redirect_uri pertencem ao host em que o certificado SSL da aplicação foi emitido.

Solicitação válida (Sucesso)

Se a solicitação estiver válida, o PSC SerproID irá atualizar os dados da aplicação, retornando os dados com HTTP code 200 no formato application/json.

Parâmetros

JSON:

  • client_id - (string) - identificador único da aplicação
  • name - (string) - nome da aplicação
  • comments - (string) - descrição da aplicação
  • email - (string) - email do suporte da aplicação
  • redirect_uris - (string) - lista de URIS de redirecionamento da aplicação
Exemplo
HTTP/1.1 200 OK
Content-Type: application/json

{
    "client_id": "<client_id>",
    "name": "<nome_da_aplicacao>",
    "comments": "<descricao_da_aplicacao>",
    "email": "<email_de_suport_da_aplicacao>",
    "redirect_uris": [ "redirect_1_da_aplicacao", "redirect_2_da_aplicacao", "redirect_3_da_aplicacao"]
}

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 erro
  • msg- (string) - mensagem de erro
  • debug - (string) - informações adicionais sobre o erro
Exemplo
HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
    "code": "TOKEN_DE_ACESSO_INVALIDO",
    "msg": "Token de acesso não informado, inválido ou expirado",
    "debug": ""
}
Lista de erros
Tipo do erro HTTP Code Detalhes
TOKEN_DE_ACESSO_INVALIDO 401 Token de acesso não informado, inválido ou expirado
MANUTENCAO_CLIENTE_ID_DIFERE_AUTORIZACAO 401 A aplicação informada via client_id difere da aplicação da autorização.
CLIENTE_OAUTH_NAO_IDENTIFICADO 412 Não foi possível identificar a aplicação cliente.
APLICACAO_OAUTH_NOME_JA_CADASTRADO 412 Já existe uma aplicação cadastrada com o nome informado
CONTATO_EMAIL_INVALIDO 412 E-mail informado inválido: ...
PELO_MENOS_UMA_REDIRECT_URI 412 Informe pelo menos 1 (uma) redirect URI
URI_INVALIDA 412 URI inválida: ...
URI_HTTPS_OBRIGATORIO 412 O protocolo da URI deve ser https: ...
URI_NAO_CORRESPONDE_SUBJECT_ALT_NAME_CERTIFICADO 412 URI não deriva do conjunto de subject alternative names do certificado: ...
MANUTENCAO_SECRET_CLIENTE_NAO_ATUALIZAVEL 400 Alteração da client_secret não disponível, entre em contato com a nossa equipe de atendimento.
FALHA_MANUTENCAO_APLICACAO 500 Erro interno na manutenção da aplicação.