Serviço externo padrão - Envio de documentos em lote para assinatura digital
Este serviço será responsável por enviar documentos em lote para a assinatura digital, respeitando algumas regras.
- Caso sejam informados alunos específicos, só serão enviados documentos para estes alunos, caso não informado nenhum aluno, o envio de documentos será feito para todos os alunos da turma que estejam em conformidade com o envio.
- Faz-se necessário no cadastro do aluno o email do mesmo estar informado, pois o sistema irá enviar para o email que consta no cadastro do aluno, bem como é necessário que o aluno possua sobrenome informado.
- Ainda que nos parâmetros abaixo conste que somente o código do relatório e o ID do documento são obrigatórios, é necessário informar pelo menos um dado da turma (código ou identificador)!
- Caso não seja encontrada uma turma com os parâmetros informados, ou for encontrada mais de uma turma, o processo será interrompido e uma mensagem será exibida ao usuário.
- O documento a ser informado deverá estar configurado nos documentos pessoais como um tipo de documento com assinatura digital eletrônica, os assinantes do documento também são configurados nessa tela.
- O relatório escolhido deve conter um dos seguintes parâmetros como obrigatório: LISTA_INGRESSO, LISTA_INGRESSOS, PES_ID, PESID, LISTA_PESSOAS, IMP@ID_PESSOA, LISTA_MATRICULAS, LISTA_MESTREALU_ID.
1. Parâmetros para chamada do serviço externo
Parâmetro | Descrição | Obrigatório | Tipo | Observação |
---|---|---|---|---|
periodoLetivoId | Identificador do período letivo | Não | Long | Se for passado null o serviço tentará recuperar através dos outros dados informados. |
periodoLetivoAnoRef | Ano de referência do período letivo | Não | Integer | Caso informado será feita a tentativa de recuperar o id do período letivo |
periodoLetivoSemestre | Sequência/semestre do período letivo | Não | Integer | Caso informado será feita a tentativa de recuperar o id do período letivo |
cursoId | Identificador do curso | Não | Long | |
cursoCodigo | Código do curso | Não | String | |
turmaId | Identificador da turma | Não | Long | Caso informado será verificado se é válido |
turmaCodigo | Código da turma | Não | String | Caso informado será feita a tentativa de recuperar o id da turma |
alunos | Dados dos alunos | Não | Lista | Lista de alunos onde pode ser informado o id, o código, o CPF ou o email para recuperar o ID do aluno |
alunoId | Pertence à coleção alunos Identificador do aluno | Não | Long | Caso informado será verificado se é válido |
alunoCodigo | Pertence à coleção alunos Código do aluno | Não | String | Caso informado será feita a tentativa de recuperar o id do aluno |
alunoCpf | Pertence à coleção alunos CPF do aluno | Não | String | Caso informado será feita a tentativa de recuperar o id do aluno |
alunoEmail | Pertence à coleção alunos Email do aluno | Não | String | Caso informado será feita a tentativa de recuperar o id do aluno |
documentoId | Identificador do documento | Sim | Long | |
codigoRelatorio | Código do relatório/interface | Sim | String |
2. Exemplo de chamada do serviço
URL: http://IP:PORTA/APLICACAO/rest/servicoexterno/execute/realizaEnvioDocumentosAssinatura
2.1. Exemplo da passagem de parâmetros por Json:
{ "periodoLetivoId" : 158, "periodoLetivoAnoRef" : null, "periodoLetivoSemestre" : null, "cursoId" : null, "cursoCodigo" : null, "turmaId" :null, "turmaCodigo" : "MED23", "documentoId" : 56, "codigoRelatorio" : "E94", "alunos" : [ { "alunoId" : null, "alunoCodigo" : "64470", "alunoCpf" : null, "alunoEmail" : null } ] }
2.2. Exemplo da passagem de parâmetros por Json, em que o envio de documentos é em lote, ou seja, sem informar alunos:
{ "periodoLetivoId" : 158, "periodoLetivoAnoRef" : null, "periodoLetivoSemestre" : null, "cursoId" : null, "cursoCodigo" : null, "turmaId" :null, "turmaCodigo" : "MED23", "documentoId" : 56, "codigoRelatorio" : "E94" }
2.3. Exemplo da passagem de parâmetros por Json, onde 2 alunos são informados pelo código:
{ "periodoLetivoId" : 158, "periodoLetivoAnoRef" : null, "periodoLetivoSemestre" : null, "cursoId" : null, "cursoCodigo" : null, "turmaId" :null, "turmaCodigo" : "MED23", "documentoId" : 56, "codigoRelatorio" : "E94", "alunos" : [ { "alunoCodigo" : "64470" }, { "alunoCodigo" : "64471" } ] }
3. Retorno do serviço (Json)
3.1. Retorno de Sucesso:
{ "valor": { "erros": "</br><b>64470 - Cailane Rodrigues Silveira:</b> </br> - Não encontrado documento pendente para entrega" "idProcesso": 1456 }, "resultado": "SUCESSO" }
3.2. Exemplo de retorno Json onde o aluno não possui email para envio do documento:
"valor": { "erros": "</br><b>64299 - Rodrigo Pereira:</b> </br> - O documento foi recusado pois não foi encontrado nenhum signatário vinculado ao aluno com e-mail informado, ou o signatário está sem sobrenome informado. <br />Observação: Não foi possível criar o signatário \"Rodrigo Pereira\". <br />Observação: Não há documento informado no signatário Rodrigo Pereira de e-mail null", "sucesso": "", "idProcesso": 1453 }, "resultado": "SUCESSO"
3.3. Exemplo de retorno Json para erro dos dados informados do aluno serem inválidos:
{ "resultado": "ERRO", "erro": { "operacao": "realizaEnvioDocumentosAssinatura", "valores": "{\r\n \"periodoLetivoId\" : 162,\r\n \"periodoLetivoAnoRef\" : null,\r\n \"periodoLetivoSemestre\" : null,\r\n \"cursoId\" : null,\r\n \"cursoCodigo\" : null,\r\n \"turmaId\" : null,\r\n \"turmaCodigo\" : \"TURINSC-FEL\",\r\n \"documentoId\" : 56,\r\n \"codigoRelatorio\" : \"e94\",\r\n \"alunos\" : [ {\r\n \"alunoId\" : null,\r\n \"alunoCodigo\" : \"642999999\",\r\n \"alunoCpf\" : null,\r\n \"alunoEmail\" : null\r\n } ]\r\n}", "motivo": "ICA_00431 - Não foi possível encontrar o(s) aluno(s) com os dados fornecidos. Por favor, revise as informações e tente novamente." }