Login de Usuário Social - GrupoBRA/SocialAPI-v2-Doc GitHub Wiki

Para o próprio usuário efetuar sua coleta de dados

POST: /v1/pessoa-fisica/login/

Retorna o token do usuário, com o campo superUsuario="U", indicando login de usuário que fará sua própria coleta de documentos, este token tem acesso a apenas alguns módulos da aplicação

  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. Verificar se o cadastro retornado no item anterior está no dominio do orgão informado no paylaod;

    • Caso contrário, retornar status code 401;
  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. Verificar se o pf_id retornado no item 2 é títular(categoria_cod 1 ou 2) ou pensionista da matrícula retornada no item 4;

    • Caso contrário, retornar status code 405;
  6. Retornar token de usuário com suas informações._

Header:

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

Content-Checksum: SHA1{payload}

Body:

{
    "cpf": "123.456.789.10",
    "nascimento": "2000-12-31"
    "oid": "{oid}"
}

Resposta:

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

201 | 400 | 401 | 403 | 404

POST: /v2/pessoa-fisica/login/

Retorna o token do usuário, com o campo superUsuario="U", indicando login de usuário que fará sua própria coleta de documentos, este token tem acesso a apenas alguns módulos da aplicação, o token tem validade de 1 hora

  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 este é válido;

    • Caso contrário, retornar status code 401;
  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. Verificar se o pf_id retornado no item 2 é títular(categoria_cod 1, 2, 5 ou 6) ou pensionista da matrícula retornada no item 4;

    • Caso contrário, retornar status code 405;

Header:

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

Content-Checksum: SHA1{payload}

Body:

{
    "cpf": "123.456.789.10",
    "nascimento": "2000-12-31"
    "oid": "{oid}"
    "response_token": "{re-captch-response-token}"  // usar o bypass "re-captch-bypass" para testar em alpha
}

Resposta:

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

201 | 400 | 401 | 403 | 404

POST: /v3/pessoa-fisica/login/

Retorna o token do usuário, com o campo superUsuario="U", indicando login de usuário que fará sua própria coleta de documentos, este token tem acesso a apenas alguns módulos da aplicação

  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. Verificar se a device_signature informada confere com o device_id informado no payload;

    • Caso contrário, retornar status code 401;
  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. Verificar se o pf_id retornado no item 2 é títular(categoria_cod 1 ou 2) ou pensionista da matrícula retornada no item 4;

    • Caso contrário, retornar status code 405;
  6. Consultar o status de higienização do usuário segurado neste endpoint.

    • Caso o status seja 'released' ou não possua status, retornar token de usuário com suas informações e validade de 1 hora.
    • Caso o status seja 'done' ou 'locked' retornar token de usuário com suas informações e validade de 5 minutos.

Header:

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

Content-Checksum: SHA1{payload}

Body:

{
    "cpf": "123.456.789.10",
    "nascimento": "2000-12-31"
    "oid": "{oid}"
    "device_id": "{str}",
    "device_signature": "{str}"
}

Resposta:

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

201 | 400 | 401 | 403 | 404