Gravação de nota de avaliação parcial
Este tópico lista as características do WebService Json de gravação das notas de alunos em uma determinada avaliação.
Este método deverá ser chamado para gravar as notas de alunos para uma determinada avaliação.
Em caso de algum erro ocorrer, no retorno (detalhe) é enviada uma lista com os alunos inconsistentes. Em alguns casos, não é necessário interromper o processo de gravação de notas, retornando os alunos inconsistentes somente para notificação, porém, deve-se analisar a tabela de retornos pra verificar se as notas foram gravadas ou não.
Nome do método: gravaNotaAvaliacaoParcialParaAlunos
Parâmetros para chamada do WebService
Parâmetros | Descrição | Obrigatório | Tipo | Observação |
---|---|---|---|---|
idAvaliacao | Identificador da avaliação parcial | Não ¹ | Inteiro | Informar o identificador da avaliação no MentorWeb. Se for informado codigoIntegracaoAvaliacao passar valor null. |
codigoIntegracaoAvaliacao | Código de integração da avaliação | Não ¹ | String | Informar o código de integração da avaliação (caso o MentorWeb tenha conhecimento deste código). |
tipoIntegracao | Tipo de sistema de integração | Não | String | - Se for integração com sistema de correção de provas informar: CORRECAOPROVA - Se for sistema de lms, informar: LMS Quando não informado, será considerado LMS. |
Detalhe: Lista de alunos com a respectiva nota (listAlunoNota) | Deverá mandar uma lista com os alunos e suas respectivas notas. | Sim | Array | Deverá mandar uma lista com os alunos e suas respectivas notas para que o MentorWeb possa registrá-las no sistema. Atente-se ao formado da nota. |
idAluno | Identificador do aluno | Não ² | Inteiro | Informar o identificador do aluno no MentorWeb. Se for informado codigoIntegracaoAluno passar valor null. |
codigoIntegracaoAluno | Código de integração do aluno | Não ² | String | Informar o código de integração do aluno (caso o MentorWeb tenha conhecimento deste código) |
nota | Informar a nota do aluno | Sim | String | Informar a nota do aluno. Dependendo da configuração do critério de avaliação, poderá ser utilizado um conceito, ou seja, uma nota com caracteres alfanuméricos, cujo MentorWeb transformará para nota decimal desde que tenha conhecimento deste valor. Se for um formato numérico, deverá seguir o padrão: - Numérico, separando a parte decimal da parte inteira por ponto. A quantidade de casas decimais varia de acordo com o atributo numeroCasasDecimais retornado no WebService Consulta de critério de avaliação da turma/disciplina. Exemplo: 9.35 / 9.00 |
¹ Pelo menos um dos parâmetros para identificar a avaliação é obrigatório. O MentorWeb vai utilizar apenas um dos valores, na ordem informada. | ||||
² Pelo menos um dos parâmetros para identificar o aluno é obrigatório. O MentorWeb vai utilizar apenas um dos valores, na ordem informada. | ||||
Atenção: Caso o parâmetro não seja String e não contiver valor, deverá ser enviado null, sem aspas. |
Atributos retornados do WebService para o chamador
Campo | Descrição | Tipo | Observação |
---|---|---|---|
codigoRetornoIntegracao | Código do retorno da integração | Inteiro | Código de retorno da integração. Verifique a lista de códigos possíveis. |
descricaoRetornoIntegracao | Descrição do retorno da integração | String | Quando ocorrer sucesso, a descrição será: Sucesso. Quando ocorrer um erro, a descrição será o erro ocorrido, com possíveis detalhes. |
observacaoRetornoIntegracao | Observação referente a integração | String | Poderá conter os detalhe do retorno da integração, geralmente quando ocorre um erro. |
idAvaliacao | Identificador da avaliação | Inteiro | Identificador da avaliação no MentorWeb. |
codigoIntegracaoAvaliacao | Código de integração da avaliação | String(20) | Código de integração da avaliação (seu código). |
—————————————— Detalhes —————————————— | |||
Detalhe 1: Lista de alunos com inconsistência (listAlunoNotaComInconsistencia) | Lista com os alunos que possuem inconsistência | – | Listará os alunos que possuem inconsistência, detalhando cada uma. |
codigoRetornoIntegracao | Código do retorno da integração | Inteiro | Código de retorno da integração. Verifique a lista de códigos possíveis. |
descricaoRetornoIntegracao | Descrição do retorno da integração | String | Descrição será o erro ocorrido, com possíveis detalhes. |
observacaoRetornoIntegracao | Observação referente a integração | String | Poderá conter os detalhe do retorno da integração, geralmente quando ocorre um erro. |
idAluno | Identificador do aluno | Inteiro | Identificador do aluno no MentorWeb. |
codigoIntegracaoAluno | Código de integração do aluno | String | Código de integração do aluno (seu código). |
nota | Nota informada para o aluno na avaliação | String | Nota que foi informada para o aluno referente a avaliação. |
Possíveis retornos para o chamador do WebService
Código | Descrição | Observação |
---|---|---|
ICA_00000 | Sucesso | Obteve sucesso na chamada e retorno do WebService. |
ICA_00800 | Ocorreu uma inconsistência, porém não necessitou interromper o processo. | Ocorre quando houve uma inconsistência na integração, porém, não houve a necessidade de interromper todo o processo por conta deste registro. |
ICA_00400 | Parâmetros inválidos | Ocorre quando são passados parâmetros inválidos para a execução do método. Exemplo: Passar uma String onde está sendo solicitado Integer, ou até mesmo não passar nenhum parâmetro. Solução: Verificar a documentação do WebService e conferir os parâmetros que estão sendo passados. |
ICA_00402 | Critério de avaliação não encontrado | Ocorre quando não conseguiu recuperar o critério de avaliação com base no identificador. |
ICA_00405 | Nenhum aluno encontrado | Ocorre quando não foi encontrado o aluno no MentorWeb. |
ICA_00406 | Nenhuma avaliação encontrada | Ocorre quando não é encontrada a avaliação no MentorWeb. |
ICA_00407 | Nota inválida | Ocorre quando uma das notas é inválida. Por favor, verifique o detalhe de cada aluno, pra saber em qual aluno está a inconsistência. Nenhuma nota foi gravada! |
ICA_00408 | Tipo de digitação de notas inválido. | O tipo de digitação de notas do critério de avaliação não permite realizar a digitação de notas via integração. Os únicos tipos de digitação permitidos na integração são: ZERO_DEZ = Digita e imprime notas de zero a dez ZERO_DEZCO = Digita notas de zero a dez e imprime conceitos ZERO_CEM = Digita e imprime notas de zero a cem CONCEITO = Digita e imprime conceitos |
ICA_00409 | Aluno não encontrado | Ocorre quando determinado aluno não foi encontrado no MentorWeb. |
ICA_00410 | Avaliação não encontrada | Ocorre quando determinada avaliação não foi encontrada no MentorWeb. |
ICA_00411 | Diário fechado | Ocorre quando o diário está fechado. |
ICA_00413 | Ocorreu um erro no detalhe de alunos | Ocorreu um erro no detalhe de alunos, por ser por conta de um ou mais alunos. Por favor, verifique-os, para analisar os detalhes do erro. Nenhuma nota foi integrada. |
ICA_00414 | Erro interno gerado pelo MentorWeb. | Ocorre quando acontece um erro tratado que não é nenhum dos que estão descritos acima. Verificar a observação do retorno da integração conforme atributo observacaoRetornoIntegracao. |
ICA_00415 | A nota desta avaliação não pode ser gravada via integração. | Ocorre quando foi informada uma avaliação que não possui um código de integração. Ou seja, é uma avaliação criada no próprio MentorWeb, não veio por integração. |
ICA_00417 | Fora do prazo de avaliação | Ocorre quando o diário está fora do prazo de avaliação |
ICA_00418 | Fora do prazo de digitação | Ocorre quando o diário está fora do prazo de digitação |
Exemplo de chamada do WebService
URL: http://IP:PORTA/APLICACAO/rest/ICorujaACA/gravaNotaAvaliacaoParcialParaAlunos
Atenção: No cabeçalho da requisição http deverá ser enviado o parâmetro token. Esse parâmetro deverá conter a chave de token cadastrada no MentorWeb. Hoje esta chave já é utilizada.
Exemplo da passagem de parâmetros por Json:
{ "tipoIntegracao":"LMS", "idAvaliacao":54133, "codigoIntegracaoAvaliacao":"", "listAlunoNota":[ { "idAluno":null, "codigoIntegracaoAluno":"230", "nota":"7.7" }, { "idAluno":11868, "codigoIntegracaoAluno":"", "nota":"IMP" }, { "idAluno":94667, "codigoIntegracaoAluno":"", "nota":"10" }, { "idAluno":87558, "codigoIntegracaoAluno":"", "nota":"9" }, { "idAluno":94597, "codigoIntegracaoAluno":"", "nota":"8" } ] }
Exemplo do retorno do WebService Json:
{ "codigoRetornoIntegracao":"ICA_00000", "descricaoRetornoIntegracao":"Sucesso.", "observacaoRetornoIntegracao":null, "idAvaliacao":54133, "codigoIntegracaoAvaliacao":"123", "listAlunoNotaComInconsistencia":null }
Quando o valor do atributo codigoRetornoIntegracao é diferente de ICA_00000 e ICA_00800, significa que ocorreu algum erro no WebService e não foi possível realizar a gravação das notas.
Para identificar melhor o erro, deve-se analisar a lista de alunos inconsistentes retornadas no atributo listAlunoNotaComInconsistencia que conterá todos os alunos que estão inconsistentes. Deve-se consultar o código retornado no atributo descrito acima na documentação, e ainda observar os atributos descricaoRetornoIntegracao e observacaoRetornoIntegracao que conterão maiores detalhes sobre o ocorrido.
O código de retorno ICA_00800 indica que o registro atual não foi gravado, porém, não interferiu no processo e os demais registros foram gravados com sucesso.
Segue abaixo um exemplo de erro retornado, onde uma das notas foi informada com valor inválido, interrompendo todo o processo:
{ "codigoRetornoIntegracao":"ICA_00407", "descricaoRetornoIntegracao":"Nota inválida", "observacaoRetornoIntegracao":"Foi informada alguma nota inválida, e o processo foi interrompido. Nenhuma nota foi gravada, por favor, analise o retorno dos detalhes pra verificar quais as notas que estão incorretas, e realize a correção.", "idAvaliacao":54133, "codigoIntegracaoAvaliacao":"123", "listAlunoNotaComInconsistencia":[ { "codigoRetornoIntegracao":"ICA_00407", "descricaoRetornoIntegracao":"Nota inválida", "observacaoRetornoIntegracao":"Nota não informada ou não está no formato numérico. Se é utilizada a digitação por conceito, não foi encontrado a nota respectiva ao conceito informado.", "idAluno":null, "codigoIntegracaoAluno":"230", "nota":"vinte" } ] }
Exemplo de chamada do WebService na linguagem PHP
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_PORT => "8080", CURLOPT_URL => "http://localhost:8080/ICoruja/rest/ICorujaACA/gravaNotaAvaliacaoParcialParaAlunos", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => '{"tipoIntegracao":"LMS","idAvaliacao":54133,"codigoIntegracaoAvaliacao":"","listAlunoNota":[{"idAluno":null,"codigoIntegracaoAluno":"230","nota":"7.7"},{"idAluno":11868,"codigoIntegracaoAluno":"","nota":"IMP"},{"idAluno":94667,"codigoIntegracaoAluno":"","nota":"10"},{"idAluno":87558,"codigoIntegracaoAluno":"","nota":"9"},{"idAluno":94597,"codigoIntegracaoAluno":"","nota":"8"}]}', CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "postman-token: 74e6008c-0675-fb7c-87d0-23adcbeddd9a", "token: 49gcd881cr2158g971849z1faze755x7" ) )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ?>
Caso ocorra um erro parecido com o erro abaixo, a requisição não chegou até o método que realiza a gravação das notas das avaliações, muito provavelmente por conta de ter sido passado um parâmetro inválido, ou seja, geralmente uma String onde esperava-se um Inteiro.
{"central":false,"causaRaiz":{"causaRaizMsg":"RESTEASY003320: Failed processing arguments of org.jboss.resteasy.spi.metadata.ResourceMethod@3341b456","causaRaizStackTrace".........}
Ainda há dúvidas? Se você preferir retire suas dúvidas com o nosso suporte, clique aqui e abra um chamado para atendimento.