Skip to content
Andre edited this page Jul 29, 2020 · 35 revisions

Endpoints usados na aplicação de votação

POST: /v1/person/login/contact/

Retorna as informações de contato de uma pessoa, os emails e telefones, censurados

  1. Verificar se existe na tabela "pf_cpf" um documento com a chave "pf_cpf" equivalente ao "cpf" presente no payload desta requisição.

    • Caso não exista, retornar status code 404;
  2. Consultar se a data de nascimento do cadastro retornado no item anterior é equivalente a informada no payload;

    • Caso contrário, retornar status code 403;
  3. Enviar uma requisição para este-endpoint utilizando o valor do campo "response-token" do payload para verificar se o captcha é válido;

    • Caso contrário, retornar status code 401;
  4. Consultar neste endpoint as matrículas do usuário no órgão informado no payload.

    • Caso tenha matrícula de ativo ou pensionista, seguir para o próximo passo.
    • Caso tenha informado um pensionario ou não exista matrícula para o usuário, retornar status code 412.
  5. Retornar todos os emails e telefones cadastrados para o usuário, sem filtrar por oid:

    • Caso o usuário não possua emails e telefones, retornar 405;

Header:

Authorization: Bearer {JWT} //token de aplicação

Body:

{
    "cpf": "123.456.789.10",
    "nascimento": "2000-12-31",
    "oid": "{oid}",
    "oeid": "{oeid}",
    "response-token": "{re-captch-response-token}"
}

Resposta:

{
  "success": true,
    "data": {
        "SocialAPI": {
            "pf_id": "{snow_flake}",
            "phones": [
              {
                "phone": "081*****7151",
                "phone_id": "{snow_flake}"
              }
            ],
            "emails": [
              {
                "email": "***dre@bracon***",
                "email_id": "{snow_flake}" 
              }
            ]
        }
    }
}

200 | 400 | 401 | 403 | 404 | 405 | 412

POST /v1/person/login/email/send-code/

Envia para o email o código para acessar a aplicação

  1. Verificar se existe um usuário com o pf_id informado

    *Caso não encontrado, retornar status code 404;

  2. Verificar se o email_id informado é referente a um email referente ao pf_id

    • Caso contrário, retornar status code 405;
  3. Adicionar na collection Recovery Code um novo documento com as informações do email e código gerado;

  4. Enviar para o email o código de acesso a aplicação;

Header:

Authorization: Bearer {JWT} //Token aplicação

Body:

{
    "pf_id": "{snow_flake}",
    "email_id": "{snow_flake}"
}

Resposta:

200 | 404 | 405

POST /v1/person/login/phone/send-code/

Envia para o celular o código para acessar a aplicação

  1. Verificar se existe um usuário com o pf_id informado

    *Caso não encontrado, retornar status code 404;

  2. Verificar se o phone_id informado é referente a um celular referente ao pf_id

    • Caso contrário, retornar status code 405;
  3. Adicionar na collection Recovery Code um novo documento com as informações do celular e código gerado;

  4. Enviar para o celular o código de acesso a aplicação;

Header:

Authorization: Bearer {JWT} //Token aplicação

Body:

{
    "pf_id": "{snow_flake}",
    "phone_id": "{snow_flake}"
}

Resposta:

200 | 404 | 405

POST: /v1/person/login/

Retorna o token do usuário, com o campo superUsuario="U", indicando login de usuário segurado e status="limited", token limitado

  1. Verificar se existe na collection Recovery Code um documento com o pf_id referente ao informado no payload, retornar o ultimo código ativo referente ao pf_id.

    *Caso não encontrado, retornar status code 404;

  2. Verificar se o código informado no payload está de acordo com o código encontrado no item anterior;

    *Caso contrário, retornar status code 405;

  3. Verificar se o código informado no payload não foi expirado;

    *Caso contrário, retornar status code 412;

  4. Verificar se na RH existe ao menos um registro de matrícula(servidor_id) vinculado ao pf_id retornado no item anterior;

    • Caso contrário, retornar status code 406;
  5. Adicionar na collection Recovery Code o atributo "used" com a hora de acesso deste endpoint;

  6. Consultar neste endpoint as matrículas do usuário no órgão informado no payload.

    • Caso tenha matrícula de ativo ou pensionista, seguir para o próximo passo.
    • Caso tenha informado um pensionario ou não exista matrícula para o usuário, retornar status code 417.
  7. Retornar token de usuário com validade de 15 minutos e status="limited"

Header:

Authorization: Bearer {JWT} //token de aplicação

Body:

{
    "pf_id": "{snow_flake}",
    "code": "123456",
    "oid": "{oid}",
    "oeid": "{oeid}"
}

Resposta:

{
    "success": true,
    "data": {
        "SocialAPI": {
            "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NjUxODg1OTEsImlzcyI6Ik9ueXhwcmV2IiwiZXhwIjoxNTY1MjMxNzkxLCJuYmYiOjE1NjUxODg1OTAsImRhdGEiOnsiYXBwIjp7ImFwaUlkIjoiMjJlNmVjYjVhZGFhIiwiYXBwQ29kIjozMiwiYXBwT3NDb2QiOjEsIm5hbWUiOiJGb3BhZyIsImFwaWtleSI6IjIyZTZlY2I1YWRhYSIsInNlY3VyaXR5IjoiSSIsImxhdW5jaGVySWdub3JlIjoiTiIsImNhY2hlIjoiSSIsInZlcnNpb24iOiIxLjAuMCJ9LCJ1c2VyIjp7InBmQ29kIjo5OTksInVzdWFyaW9Db2QiOjI1Niwib3JnYW9Db2QiOjEsIm9yZ2FvRW50aWRhZGVDb2QiOjEsInByaXZDb2QiOjE1LCJzdXBlclVzdWFyaW8iOiJTIiwibm9tZSI6IkFORFJFIFBFUkVJUkEgTEVJVEUiLCJ1dWlkIjoiZDQ2MTIwZDRlMTk1ZjJjNWE3ZGFkN2JkYjhmYTYwIiwibG9naW4iOiIwNDYyMTQ2NTM3NiIsImZvdG8iOiJodHRwczpcL1wvc3RvcmFnZS1hbHBoYTIub255eGVycC5jb20uYnJcLzJmNGJjZGJlM2I3Yjg3NzZkZjU5NDUxZmEzNDk1Yi5wbmciLCJjZWx1bGFyIjpudWxsLCJlbWFpbCI6bnVsbCwidXNlci1sZW5ndGgiOjgsInBmaWQiOiI1MDE0OTA4NjE3ODc2NjgwNzU1Iiwib2lkIjoiNTA4YjM4NjdmOTFmYTBlMzNjYmI1ODkyYjY0NDNjIiwib2VpZCI6IjYxNTNlYWM5MGQzOTI3ZjVmYWE5MWViYzM2YWRiOCIsImZ1c29Ib3JhcmlvIjoiLTMiLCJtb2VkYSI6ImJyYXppbGlhbl9yZWFsIiwiaWRpb21hIjoicHQtYnIiLCJkYXRhIjoiYnJhemlsaWFuX2RhdGVfZm9ybWF0IiwibGF1bmNoZXIiOiJfYmxhbmsifX19.yu1p6e-rdaQSejprBNjRiv8a-5P8Ko3acIGMefxjbbM"
        }
    }
}

201 | 400 | 401 | 403 | 404 | 405| 412 | 417

Iniciando

Cached results

Miscelânea

Pesquisando

Pessoa física

Nome

Nome social

Data de nascimento

Data de óbito

Estado civil

Escolaridade

Raça/cor

PNE

Nacionalidade

Naturalidade

Foto do perfil

Perfil

Bio

Login

Documentos

Identidade

PIS/PASEP/NIT

Título de eleitor

CNH

CTPS

CTC

Reservista

Cursos

Certidão de Nascimento Casamento

Carteira do Conselho de Classe

Remoção de Documentos

Contatos

Telefones

Emails

Endereços

Endereços(v2)

Família

Data exchange

Pessoa física

Clone this wiki locally