Interface para acesso ao WebService do Iesde para sistemas Rails. Não se trata de uma ferramenta oficial pois foi desenvolvida por necessidade dos nossos desenvolvedores. Sintam-se livres para contribuir.
- Iesde
1.1.1 - Seguindo a documentação v14 do WebService
gem install iesde -v 1.1.1
Ou no seu Gemfile
gem 'iesde', '~> 1.1.1'
Todas as buscas no WebService exigem os parâmetros login e senha. Caso você possua apenas um usuário de acesso ao WebService, você pode configurar esses parâmetros em um initializer. Veja na seção Default Configs.
Retorna um array de Iesde::Model::Curso
parametros = {
login: "0123456789",
senha: "9d7d5741ab23397aa15937fcd4121a32",
busca: "",
tipo: "C",
site: "",
idCurso: ""
}
cursos = Iesde::Model::Curso.buscar(parametros)
=> [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
Esta busca realiza uma varredura em todos os cursos e pacotes em busca do id passado como parâmetro.
Retorna um Iesde::Model::Curso
curso = Iesde::Model::Curso.find id: 1000, login: "0123456789", senha: "9d7d5741ab23397aa15937fcd4121a32"
=> #<Iesde::Model::Curso>
curso.id
=> "1000"
curso.nome
=> "A BUSCA DA PERFEICÃO"
Retorna um array de Iesde::Model::Aula
parametros = {
login: "0123456789",
senha: "9d7d5741ab23397aa15937fcd4121a32",
loginAluno: "",
cpf: "",
curso: "1000",
ancora: "",
tipo: "C"
}
aulas = Iesde::Model::Aula.buscar(parametros)
=> [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
Ou já tendo o curso carregado...
curso.aulas
=> [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
Retorna um array de Iesde::Model::Matricula
parametros = {
login: "0123456789",
senha: "9d7d5741ab23397aa15937fcd4121a32",
curso: "6376",
tipo: "C"
}
Iesde::Model::Matricula.buscar(parametros)
=> [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
Ou já tendo o curso carregado...
curso.matriculas
=> [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
Para obter o link do PDF da aula, basta carregar o modelo Iesde::Model::Aula
e usar os métodos auxiliares:
# passando email e cpf do aluno...
aula.link_pdf "aluno@minhaorganizacao.com.br", "12345678900"
=> "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
# passando um modelo Iesde::Model::Aluno...
aula.link_para aluno
=> "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
Realiza a matrícula no WebService e retorna um Iesde::Model::Matricula
parametros = {
login: "0190001388",
senha: "9d7d5741ab23397afeb81829a3d5ebd7",
loginAluno: "aluno@minhaorganizacao.com.br",
cpf: "12345678900",
curso: "1000",
duracao: "90",
tipo: "C",
valor: ""
}
matricula = Iesde::Model::Matricula.criar(parametros)
=> #<Iesde::Model::Matricula>
Inativa a matrícula e retorna true
se sucesso.
parametros = {
login: "0190001388",
senha: "9d7d5741ab23397afeb81829a3d5ebd7",
:"LoginID" => "12345"
}
Iesde::Model::Matricula.inativar(parametros)
=> true
Ou caso já possua a matrícula carregada...
matricula.inativar
=> true
Realiza logout do aluno e retorna true
se sucesso.
parametros = {
login: "0190001388",
senha: "9d7d5741ab23397afeb81829a3d5ebd7",
loginAluno: "aluno@minhaorganizacao.com.br",
cpf: "12345678900"
}
Iesde::Model::Aluno.logout(parametros)
=> true
Ou você pode obter a instância de Iesde::Model::Aluno
e chamar diretamente...
aluno = matricula.aluno
=> #<Iesde::Model::Aluno>
aluno.logout
=> true
aluno = curso.matriculas.first.aluno
=> #<Iesde::Model::Aluno>
aluno.logout
=> true
Caso você utilize apenas um usuário do WebService em sua aplicação, seria interessante não passar os parâmetros login e senha em toda busca.
Você pode configurar num initializer esses parâmetros:
Iesde::configure do |config|
config.default_username = "0190001388"
config.default_password = "9d7d5741ab23397afeb81829a3d5ebd7"
end
Então poderá realizar as requisições sem passar estes parâmetros. Exemplos:
cursos = Iesde::Model::Curso.buscar busca: "", tipo: "C", site: "", idCurso: ""
=> [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
curso = Iesde::Model::Curso.find id: 1000
=> #<Iesde::Model::Curso>
Iesde::Model::Matricula.inativar :"LoginID" => "12345"
=> true
- Um
Iesde::Model::Curso
possui váriasIesde::Model::Aula
e váriasIesde::Model::Matricula
- Uma
Iesde::Model::Matricula
possui umIesde::Model::Aluno
e umIesde::Model::Curso
- Logo
Iesde::Model::Curso
possui váriosIesde::Model::Aluno
# Busca aulas no WS do curso
curso.aulas
=> [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
aula.curso
=> #<Iesde::Model::Curso>
curso.matriculas
=> [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
matricula.curso
=> #<Iesde::Model::Curso>
matricula.aluno
=> #<Iesde::Model::Aluno>
curso.alunos
=> [#<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, ...]
A maioria destas operações só busca do WS uma vez. Ao buscar as aulas de um curso, elas já vem com o curso carregado em suas instâncias, evitando outra chamada ao WS para buscar o curso ao fazer
aula.curso
.
MIT Licence. Copyright (c) 2016 Fortes Tecnologia. http://www.fortestecnologia.com.br