Iesde
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.
Índice
- Iesde
Versão
1.1.1 - Seguindo a documentação v14 do WebService
Instalação
gem install iesde -v 1.1.1
Ou no seu Gemfile
gem 'iesde', '~> 1.1.1'
Uso
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.
Listagem de Cursos
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>, ...]
Busca de curso por Id
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"
Listagem de Aulas
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>, ...]
Listagem de Matrículas
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 "[email protected]", "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"
Matricular Aluno
Realiza a matrícula no WebService e retorna um Iesde::Model::Matricula
parametros = {
login: "0190001388",
senha: "9d7d5741ab23397afeb81829a3d5ebd7",
loginAluno: "[email protected]",
cpf: "12345678900",
curso: "1000",
duracao: "90",
tipo: "C",
valor: ""
}
matricula = Iesde::Model::Matricula.criar(parametros)
=> #<Iesde::Model::Matricula>
Inativação de Aluno
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
Logout
Realiza logout do aluno e retorna true
se sucesso.
parametros = {
login: "0190001388",
senha: "9d7d5741ab23397afeb81829a3d5ebd7",
loginAluno: "[email protected]",
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
Default Configs
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
Relacionamentos
- 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
```ruby # 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