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. :-)


Voltar

  • (edição externa)