Edukee JqAPI
Cliente jquery da API REST da plataforma de EAD Edukee
Instalação
Instale pelo bower
bower install edukee-jqapi
<script src="bower_components/edukee-jqapi/dist/edukee-jqapi.min.js"></script>
O cliente depende de jquery, então essa biblioteca deve estar incluída no seu projeto antes do edukee jqapi
Introdução
O cliente jquery implementa as requisições REST à API do Edukee e colhe os retornos que podem ser processados logo após o retorno da API via callback na chamada ou via eventos.
Dessa forma você poderá colher o retorno da API usando isso
EdukeeAPI.metodo(token, [parâmetros], function(data) {
// implemente aqui o corpo da callback de sucesso
}, function(data) {
// implemente aqui o corpo da callback de erro
});
ou isso
$(document).on('edukee:algum_evento', function() {
// implemente aqui o handler do vento
});
EdukeeAPI.metodo(token, [parâmetros]);
No caso de usar os eventos, você pode acessar o resultado das requisições (as que tem resultado) dentro de EdukeeAPI.results
Uso
Inicializando
EdukeeAPI.init(token);
Verificando o token da API
via callback:
EdukeeAPI.testToken(function() {
// sucesso
}, function(data) {
// erro
console.log('Falha ao testar as configurações: ' + data.msg);
});
via eventos:
$(document).on('edukee:token_test_success', function() {
// deu certo
});
$(document).on('edukee:token_test_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Falha ao testar as configurações: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.testToken();
Obtendo a lista de cursos ativos
via callback:
pagina = '';
tamanho_da_pagina = '';
busca = '';
ordenar = '';
EdukeeAPI.getCursos(pagina, tamanho_da_pagina, busca, ordenar, function(data) {
// sucesso
for(var k in data.datas) {
// itere a lista de resultados
}
}, function(data) {
// erro
console.log('Erro: ' + data.msg);
});
via eventos:
$(document).on('edukee:get_cursos_success', function() {
// deu certo
for(var k in EdukeeAPI.results.cursos.datas) {
// itere a lista de resultados
}
});
$(document).on('edukee:get_cursos_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
pagina = '';
tamanho_da_pagina = '';
busca = '';
ordenar = '';
EdukeeAPI.getCursos(pagina, tamanho_da_pagina, busca, ordenar);
Obtendo os dados de um curso por seu id
via callback:
EdukeeAPI.getCurso(curso_id, function(data) {
// sucesso
}, function(data) {
// erro
console.log('Erro: ' + data.msg);
});
via eventos:
$(document).on('edukee:get_curso_success', function() {
// deu certo - dados em EdukeeAPI.results.curso
});
$(document).on('edukee:get_curso_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getCurso(curso_id);
Obtendo a imagem de um curso
via callback:
EdukeeAPI.getCursoImg(curso_id, function(img) {
// deu certo
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:get_curso_img_success', function() {
// deu certo - dados em EdukeeAPI.results.curso_img
});
$(document).on('edukee:get_curso_img_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getCursoImg(curso_id);
Obtendo as turmas de um curso
via callback:
pagina = '';
tamanho_da_pagina = '';
busca = '';
ordenar = '';
EdukeeAPI.getTurmas(curso_id, pagina, tamanho_da_pagina, busca, ordenar, function(data) {
// deu certo
for(var k in data.datas) {
// itere a lista de resultados
}
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:get_turmas_success', function() {
// deu certo - dados em EdukeeAPI.results.turmas
for(var k in EdukeeAPI.results.turmas.datas) {
// itere a lista de resultados
}
});
$(document).on('edukee:get_turmas_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getTurmas(curso_id, pagina, tamanho_da_pagina, busca, ordenar);
Obtendo os dados de uma turma por seu id
via callback:
EdukeeAPI.getTurma(turma_id, function(data) {
// sucesso
}, function(data) {
// erro
console.log('Erro: ' + data.msg);
});
via eventos:
$(document).on('edukee:get_turma_success', function() {
// deu certo - dados em EdukeeAPI.results.turma
});
$(document).on('edukee:get_turma_error"', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getTurma(turma_id);
Obtendo a imagem de uma turma
via callback:
EdukeeAPI.getTurmaImg(turma_id, function(img) {
// deu certo
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:get_turma_img_success', function() {
// deu certo - dados em EdukeeAPI.results.turma_img
});
$(document).on('edukee:get_turma_img_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getTurmaImg(turma_id);
Obtendo o contrato de uma turma
via callback:
EdukeeAPI.getTurmaContrato(turma_id, function(contrato) {
// deu certo
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:get_turma_contrato_success', function() {
// deu certo - dados em EdukeeAPI.results.turma_contrato
});
$(document).on('edukee:get_turma_contrato_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getTurmaContrato(turma_id);
Obtendo o formulário de inscrição de um curso
A API Edukee usa formulários dinâmicos para as inscrições. Por conta disso, o próprio Edukee fornece os campos que devem conter no formulário de inscrição, para depois receber de volta o mesmo formulário preenchido. Esse método descrito aqui é para obter do Edukee o formulário de inscrições
via callback:
EdukeeAPI.getInscricaoForm(curso_id, function(formulario) {
// deu certo - formulario é um array
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:get_inscricao_form_success', function() {
// deu certo - dados em EdukeeAPI.results.campos_inscricao
});
$(document).on('edukee:get_inscricao_form_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.getInscricaoForm(curso_id);
Em ambos os casos, o formulário é um array no seguinte padrão:
formulario = [
{
field: "nome", // nome do campo - não deve ser alterado
label: "Nome", // label do campo para a interface - pode alterar se precisar
type: "text", // tipo do campo
necessary: true, // se é ou não um campo necessário
oblige: true, // se é ou não um campo obrigatório
checked: true // se o campo foi selecionado ou não para aparecer no formulário
}
];
Os tipos possíveis para o campo são:
text - texto genérico
year - informação de ano. Ex: 1988
date - informação de data no padrão DD/MM/YYYY. Ex: 22/07/1988
email - informação de e-mail
password - senha. Deve ter pelo menos 6 caracteres e conter caracteres maiúsculos, minúsculos, números e caracteres especiais como @,!,#
cpf - CPF no formato 999.999.999-99
sex - campo de seleção para: M - Masculino; F - Feminino
uf - campo de seleção para as unidades federativas do Brasil
cep - CEP no formato 99.999-999
marital - campo de seleção para: SOL - Solteiro(a); CAS - Casado(a); DIV - Divorciado(a); VIU - Viúvo(a)
phone - campo de telefone no formato (99) 9999-9999
cellphone - campo de celular no formato (99) 9 9999-9999
O Edukee usa esses tipos para validar os dados enviados pelos usuários
Um campo marcado como necessary será obrigatóriamente cobrado pelo Edukee. Então campos assim devem ser enviados preenchidos para o Edukee ou o mesmo acusará erro
Um campo marcado como oblige é um campo não necessário que foi marcado como obrigatório pelo usuário que configurou o formulário de inscrição. O comportamento é parecido com o do necessary, com a diferença que a obrigatoriedade nesse caso foi definida pelo usuário do Edukee e não pelo Edukee em si
Um campo marcado como checked foi selecionado pelo usuário que configurou o formulário de inscrição para compor o formulário, porém tem seu preenchimento opcional.
Enviando o formulário de inscrição preenchido
A partir do formulário obtido no método anterior e após o usuário preenche-lo na interface, esse método serve para enviar o formulário preenchido de volta para o Edukee realizar a inscrição.
O formulário preenchido é passado para o método no parâmetro "campos", no formato:
campos = [
{
field: "", // nome do campo como obtido na propriedade field durante o método anterior
value: "" // valor do campo obtido da interface
}
];
via callback:
EdukeeAPI.doInscricao(curso_id, turma_id, campos, function() {
// deu certo
}, function(err) {
// deu erro
console.log(err);
});
via eventos:
$(document).on('edukee:do_inscricao_success', function() {
// deu certo
});
$(document).on('edukee:do_inscricao_error', function() {
// deu erro. Veja o que está em EdukeeAPI.results.error para mais detalhes
console.log('Erro: ' + EdukeeAPI.results.error.msg);
});
EdukeeAPI.doInscricao(curso_id, turma_id, campos);
No retorno de erros desse método há um campo adicional, o errors que é um array com os erros verificados na validação dos dados enviados pelo usuário no formulário. Você pode iterar sobre ele para compor uma resposta mais amigável ao usuário.
Existe nesse caso um marcador para indicar o nome do campo como especificado no label (obtido no método anterior):
<field>Label do Campo</field>
Substitua o marcador pelo que considerar mais adequado
License
This project is licensed under the MIT License - see the LICENSE.md file for details