É considerado o cenário onde o Portal Educação adquire cursos do parceiro para disponibilização para seus clientes/usuários, via vitrine/hotsite próprio, permitindo que seja selecionado um produto – ou um conjunto de produtos – a ser adquirido.
Você encontrará nessa documentação as URLs de requisição com exemplos para o ambiente de testes (homologação). Para colocar sua aplicação em produção basta alterar o contexto das URLs.
http://api.homologacao.portaleducacao.com.br/{versão}/
http://api.portaleducacao.com.br/{versão}/
Utilizamos os status code do protocolo HTTP, disponíveis no header de cada response.
Todo cliente autenticado deverá possuir um token público, que será gerado a partir da apikey e da secret key passadas pelo parceiro no cabeçalho da requisição do token (demonstrada com mais detalhes abaixo).
A requisição deve ser do tipo POST para a URL: http://{url_base}/{versão}/auth/token?requestUrl="{request_url}"
contendo em seu header duas chaves:
Feito isso será retornado no corpo do response o token público, válido por 20 minutos e que poderá ser utilizado para consumir qualquer método da API.
GET / HTTP/1.1
Host: api.homologacao.portaleducacao.com.br/{versão}/auth/token?requestURL={suaURL}
Content-Type: application/json
Accept-Encoding: application/json
apikey: 723FD4E7ED5AE2EA23E82862873905F5
secret: JDJhJDA4JGFuSEFubmo4a1NoRmdManR2Ukk2L08xOTEzNzY0ODEzOTQ=
"QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ="
Permite realizar cadastro de uma lista de categorias na base de dados do Portal Educação.
POST http://api.homologacao.portaleducacao.com.br/{versão}/categorias
Objeto JSON com a lista de categorias
{ "categorias": [ { "id": 1, "nome": "Categoria 1" }, { "id": 2, "nome": "Categoria 2 " }, { "id": 3, "nome": "Categoria 3" } ] }
POST / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/categorias
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON deverá ser enviado no corpo da requisição.
No corpo da resposta sempre conterá um array de erros no formato JSON, conforme exemplo abaixo:
Array vazio, significa que todos as categorias foram cadastrados com sucesso.
{
"erros": []
}
Array contendo os cursos que não passaram na validação, onde o código representa o identificador da categoria enviada.
{
"erros": [
{
"Codigo": "1",
"Mensagem": "Categoria não cadastrada"
},
{
"Codigo": "2",
"Mensagem": "Categoria não cadastrada"
},
{
"Codigo": "3",
"Mensagem": "Categoria não cadastrada"
}
]
}
Permite realizar cadastro de uma lista de cursos na base de dados do Portal Educação.
POST http://api.homologacao.portaleducacao.com.br/{versão}/cursos
Objeto JSON com a lista de cursos
{ "cursos": [ { "id": "1", "nome": "Nome do curso", "imagem": "http://url-base/caminho-da-imagem.extensão", "carga_horaria": 100, "objetivos": "Objetivosdocurso", "preco": 100, "preco_minimo": 0, "publico_alvo": "ProfissionaisdaArea", "resumo": "Resumodocurso", "metodologia": "Metodologiadocurso", "categoria": { "id": 123, "nome": "Categoriadocurso" }, "conteudo": [ "topico1", "topico2", "topico3", "topico4", "topico5", "topico6" ], "cenas": [ { "id": 1465, "imagem": "http://{url-base}/imagem.jpg", "ordem": 1 }, { "id": 1466, "imagem": "http://{url-base}/imagem.jpg", "ordem": 2 } ] }, { "id": "2", "nome": "Nome do curso", "imagem": "http://url-base/caminho-da-imagem.extensão", "carga_horaria": 100, "objetivos": "Objetivosdocurso", "preco": 100, "preco_minimo": 0, "publico_alvo": "ProfissionaisdaArea", "resumo": "Resumodocurso", "metodologia": "Metodologiadocurso", "categoria": { "id": 123, "nome": "Categoriadocurso" }, "conteudo": [ "topico1", "topico2", "topico3", "topico4", "topico5", "topico6" ], "cenas": [ { "id": 1465, "imagem": "http://{url-base}/imagem.jpg", "ordem": 1 }, { "id": 1466, "imagem": "http://{url-base}/imagem.jpg", "ordem": 2 } ] } ] }
POST / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/cursos
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON deverá ser enviado no corpo da requisição.
No corpo da resposta sempre conterá um array de erros no formato JSON, conforme exemplo abaixo:
Array vazio, significa que todos os cursos foram cadastrados com sucesso.
{
"erros": []
}
Array contendo os cursos que não passaram na validação, onde o código representa o identificador do curso enviado.
{
"erros": [
{
"Codigo": "1451",
"Mensagem": "Curso não cadastrado"
},
{
"Codigo": "659",
"Mensagem": "Curso não cadastrado"
},
{
"Codigo": "4659",
"Mensagem": "Curso não cadastrado"
}
]
}
Permite realizar cadastro de uma lista de provas na base de dados do Portal Educação.
POST http://api.homologacao.portaleducacao.com.br/{versão}/provas
Objeto JSON com a lista de provas
{ "provas": { "id": 1, "titulo": "P1", "peso": 1, "curso": { "id": 1 }, "questoes": [ { "id": 1, "titulo": "Pergunta 1", "alternativas": [ { "id": 1, "titulo": "Alternativa 1" }, { "id": 2, "titulo": "Alternativa 2" }, { "id": 3, "titulo": "Alternativa 3" }, { "id": 4, "titulo": "Alternativa 4" }, { "id": 5, "titulo": "Alternativa 5" } ], "reposta": { "id": 2, "titulo": "Alternativa 2" } }, { "id": 2, "titulo": "Pergunta 2", "alternativas": [ { "id": 1, "titulo": "Alternativa 1" }, { "id": 2, "titulo": "Alternativa 2" }, { "id": 3, "titulo": "Alternativa 3" }, { "id": 4, "titulo": "Alternativa 4" }, { "id": 5, "titulo": "Alternativa 5" } ], "reposta": { "id": 1, "titulo": "Alternativa 1" } } ] } }
POST / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/provas
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON deverá ser enviado no corpo da requisição.
No corpo da resposta sempre conterá um array de erros no formato JSON, conforme exemplo abaixo:
Array vazio, significa que todas as provas foram cadastradas com sucesso.
{
"erros": []
}
Array contendo as provas que não passaram na validação, onde o código representa o identificador da prova enviada.
{
"erros": [
{
"Codigo": "1451",
"Mensagem": "Prova não cadastrada"
},
{
"Codigo": "659",
"Mensagem": "Prova não cadastrada"
},
{
"Codigo": "4659",
"Mensagem": "Prova não cadastrada"
}
]
}
Permite realizar alteração de uma lista de provas na base de dados do Portal Educação.
PUT http://api.homologacao.portaleducacao.com.br/{versão}/provas
Objeto JSON com a lista de provas
[ "provas": { "id": 1, "titulo": "P1", "curso": { "id": 1 }, "questoes": [ { "id": 1, "titulo": "Pergunta 1", "alternativas": [ { "id": 1, "titulo": "Alternativa 1" }, { "id": 2, "titulo": "Alternativa 2" }, { "id": 3, "titulo": "Alternativa 3" }, { "id": 4, "titulo": "Alternativa 4" }, { "id": 5, "titulo": "Alternativa 5" } ], "reposta": { "id": 2, "titulo": "Alternativa 2" } }, { "id": 2, "titulo": "Pergunta 2", "alternativas": [ { "id": 1, "titulo": "Alternativa 1" }, { "id": 2, "titulo": "Alternativa 2" }, { "id": 3, "titulo": "Alternativa 3" }, { "id": 4, "titulo": "Alternativa 4" }, { "id": 5, "titulo": "Alternativa 5" } ], "reposta": { "id": 1, "titulo": "Alternativa 1" } } ], "peso": 1 } ]
PUT / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/provas
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON deverá ser enviado no corpo da requisição.
No corpo da resposta sempre conterá um array de erros no formato JSON, conforme exemplo abaixo:
Array vazio, significa que todas as provas foram alteradas com sucesso.
{
"erros": []
}
Array contendo as provas que não passaram na validação, onde o código representa o identificador da prova enviada.
{
"erros": [
{
"Codigo": "1451",
"Mensagem": "Prova não foi alterada"
},
{
"Codigo": "659",
"Mensagem": "Prova não foi alterada"
},
{
"Codigo": "4659",
"Mensagem": "Prova não foi alterada"
}
]
}
Após realizarmos uma venda com o curso do parceiro, o Portal Educação realizará uma chamada HTTP POST para uma URL do parceiro. O parceiro deve disponibilizar uma URL base, respeitando as definições abaixo. Com a requisição, o parceiro deve criar uma matrícula para utilização do produto pelo cliente.
Será enviado um objeto no formato JSON. Logo após, deve ser gerado um hash SHA256, utilizando a secret key mencionada, que valida autenticidade do pedido. Essas informações devem colocadas num envelope JSON, que deve ser codificado em BASE64, antes de realizar a requisição para a url do parceiro.
{ "id": "1", "aluno": { "codigo": "5he8nsjy3rSfsvbbnd", }, "cursos": [ { "id": "1" }, { "id": "2" } ], "ativa": false, "hash": "" }
{ "id": "1", "aluno": { "codigo": "5he8nsjy3rSfsvbbnd", }, "cursos": [ { "id": "1" }, { "id": "2" } ], "ativa": false, "hash": "534de1fa379ac770cc6da896cacc39ba7fecb1198d7cafe9a137bc2c37f649f4" }
eyJjb2RpZ28iOiJ0ZXN0ZUNvZGlnbyIsIm5vbWVfY29tcGxldG8iOiJ0ZXN0ZU5vbWUiLCJlbWFpbCI6InRlc3RlRW1haWwiLCJlbmRlcmVjbyI6eyJjb2RpZ28iOjEsInJ1YSI6InRlc3RlUnVhIiwiYmFpcnJvIjoidGVzdGVCYWlycm8iLCJjZXAiOjg4ODg4ODg4LCJudW1lcm8iOiJ0ZXN0ZU51bWVybyIsImNvbXBsZW1lbnRvIjoidGVzdGVDb21wbGVtZW50byIsImNpZGFkZSI6eyJub21lIjoidGVzdGVDaWRhZGUiLCJlc3RhZG8iOnsibm9tZSI6Im5vbWVFc3RhZG8iLCJzaWdsYSI6Ik1TIiwicGFpcyI6eyJub21lIjoiQnJhc2lsIiwic2lnbGEiOiJCUiJ9fX19LCJoYXNoIjoiNGMwYTVhZTQxOWMxMzBlOGZkYzRlYmNhYzAwN2FmMGRmYzI3YTFmYWEwYmI4YzgzN2MwOGM4NWYxYTUyMzhhZCJ9
POST http://{url-base}/matriculas/criar
Código identificador do matrícula do lado do Portal Educação.
Objeto aluno preenchido, apenas com código, indentificador do aluno no Portal Educação.
Lista de cursos, sendo obrigatório em cada objeto o id.
POST / HTTP/1.1
Host: http://{url-base}/matriculas/criar
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON criptografado no padrão BASE64 deverá ser enviado no corpo da requisição.
No corpo da resposta conterá um JSON criptografado no padrão BASE64, o mesmo deve ser criptogrado com a secret key como chave simétrica para acesso ao JSON de retorno.
{ "id": "1", "aluno": { "codigo": "5he8nsjy3rSfsvbbnd", }, "cursos": [ { "id": "1", "url_acesso": "http://url-base/sala-de-aula" }, { "id": "2", "url_acesso": "http://url-base/sala-de-aula" } ], "ativa": false, "codigo": "DASH456", "hash": "" }
O objeto será retornado com as propriedades codigo que representa a matrícula criada na base de dados do parceiro e no objeto cursos a url_acesso, que será utilizada para redirecionar o aluno para acesso a sala de aula do parceiro.
Permite realizar a ativação de uma matrícula.
O parceiro deve disponibilizar uma URL base, respeitando as definições abaixo. Com a requisição, o parceiro deve ativar uma matrícula para utilização do produto pelo cliente.
POST http://{url-base}/matriculas/ativar/{id_matricula}
Identificador de uma determinada matrícula.
POST / HTTP/1.1
Host: http://{url-base}/matriculas/ativar/{id_matricula}
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Permite realizar o cancelamento de uma matrícula.
O parceiro deve disponibilizar uma URL base, respeitando as definições abaixo. Com a requisição, o parceiro deve cancelar uma matrícula.
POST http://{url-base}/matriculas/cancelar/{id_matricula}
Identificador de uma determinada matrícula.
POST / HTTP/1.1
Host: http://{url-base}/matriculas/cancelar/{id_matricula}/{id_curso}
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Permite atualizar a nota do aluno na base de dados do Portal Educação.
A nota do aluno deve ser gerada no formato JSON. Logo após, deve ser gerado um hash SHA256, utilizando a secret key como chave simétrica para assinatura do JSON, que valida autenticidade dos dados gerados pelo parceiro. Essas informações devem ser colocadas num envelope JSON, que deve ser codificado em BASE64, antes de realizar a requisição para a API.
{ "nota": { "id_matricula": 1, "id_Curso": 2, "media": 99 }, "hash": "" }
{ "nota": { "id_matricula": 1, "id_Curso": 2, "media": 99 }, "hash": "534de1fa379ac770cc6da896cacc39ba7fecb1198d7cafe9a137bc2c37f649f4" }
eyJjb2RpZ28iOiJ0ZXN0ZUNvZGlnbyIsIm5vbWVfY29tcGxldG8iOiJ0ZXN0ZU5vbWUiLCJlbWFpbCCJlbmRlcmVjbyI6eyJjb2RpZ28iOjEsInJ1YSI6InRlc3RlUnVhIiwiYmFpcnJvIjoidGVzdGVCYWlycm8iLCJjZXAiOjg4ODg4ODg4LCJudW1lcm8iOiJ0ZXN0ZU51bWVybyIsImNvbXBsZW1lbnRvIjoidGVzdGVDb21wbGVtZW50byIsImNpZGFkZSI6eyJub21lIjoidGVzdGVDaWRhZGUiLCJlc3RhZG8iOnsibm9tZSI6Im5vbWVFc3RhZG8iLCJzaWdsYSI6Ik1TIiwicGFpcyI6eyJub21lIjoiQnJhc2lsIiwic2lnbGEiOiJCUiJ9fX19LCJoYXNoIjoiNGMwYTVhZTQxOWMxMzBlOGZkYzRlYmNhYzAwN2FmMGRmYzI3YTFmYWEwYmI4YzgzN2MwOGM4NWYxYTUyMzhhZCJ9
POST http://api.homologacao.portaleducacao.com.br/{versão}/notas
Objeto JSON com a propriedades id_matricula, id_curso e média preenchidos
POST / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/notas
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON criptografado no padrão BASE64 deverá ser enviado no corpo da requisição.
Permite o envio de histórico de downloads de e-books realizados pelo aluno do lado do Parceiro.
O download do e-book deve ser gerado no formato JSON. Logo após, deve ser gerado um hash SHA256, utilizando a secret key como chave simétrica para assinatura do JSON, que valida autenticidade dos dados gerados pelo parceiro. Essas informações devem ser colocadas num envelope JSON, que deve ser codificado em BASE64, antes de realizar a requisição para a API.
{ "ebook": { "matricula": "7898931", "data_download": "2013-08-20", "titulo": "teste", "url_arquivo": "http://www.beephoto.com.br/arquivosdicas/apostila.pdf" }, "hash": "" }
{ "ebook": { "matricula": "7898931", "data_download": "2013-08-20", "titulo": "teste", "url_arquivo": "http://www.beephoto.com.br/arquivosdicas/apostila.pdf" }, "hash": "b1b990176a9caa011391f985f14d8ca5e85a5c249fbf14a5a54b6e14f4e8fd1a" }
eyJjb2RpZ28iOiJ0ZXN0ZUNvZGlnbyIsIm5vbWVfY29tcGxldG8iOiJ0ZXN0ZU5vbWUiLCJlbWFpbCCJlbmRlcmVjbyI6eyJjb2RpZ28iOjEsInJ1YSI6InRlc3RlUnVhIiwiYmFpcnJvIjoidGVzdGVCYWlycm8iLCJjZXAiOjg4ODg4ODg4LCJudW1lcm8iOiJ0ZXN0ZU51bWVybyIsImNvbXBsZW1lbnRvIjoidGVzdGVDb21wbGVtZW50byIsImNpZGFkZSI6eyJub21lIjoidGVzdGVDaWRhZGUiLCJlc3RhZG8iOnsibm9tZSI6Im5vbWVFc3RhZG8iLCJzaWdsYSI6Ik1TIiwicGFpcyI6eyJub21lIjoiQnJhc2lsIiwic2lnbGEiOiJCUiJ9fX19LCJoYXNoIjoiNGMwYTVhZTQxOWMxMzBlOGZkYzRlYmNhYzAwN2FmMGRmYzI3YTFmYWEwYmI4YzgzN2MwOGM4NWYxYTUyMzhhZCJ9
POST http://api.homologacao.portaleducacao.com.br/{versão}/materiais
Objeto JSON com a propriedades matricula, data_download, titulo e url_arquivo preenchidos
POST / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/materiais
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON criptografado no padrão BASE64 deverá ser enviado no corpo da requisição.
Permite realizar a atualização do dados do aluno na base de dados do Portal Educação.
Os dados do aluno devem ser gerados no formato JSON. Logo após, deve ser gerado um hash SHA256, utilizando a secret key como chave simétrica para assinatura do JSON, que valida autenticidade dos dados gerados pelo parceiro. Essas informações devem ser colocadas num envelope JSON, que deve ser codificado em BASE64, antes de realizar a requisição para a API.
{ "aluno": [ { "codigo": "Codigo", "nome_completo": "Nome", "email": "Email", "endereco": { "codigo": "", "rua": "Rua", "bairro": "Bairro", "cep": 99999999, "numero": "9999", "complemento": "Complemento", "cidade": { "nome": "Cidade", "estado": { "nome": "Estado", "sigla": "MS", "pais": { "nome": "Brasil", "sigla": "BR" } } } }, "hash": "" } ] }
{ "aluno": [ { "codigo": "Codigo", "nome_completo": "Nome", "email": "Email", "endereco": { "codigo": "", "rua": "Rua", "bairro": "Bairro", "cep": 99999999, "numero": "9999", "complemento": "Complemento", "cidade": { "nome": "Cidade", "estado": { "nome": "Estado", "sigla": "MS", "pais": { "nome": "Brasil", "sigla": "BR" } } } }, "hash": "4c0a5ae419c130e8fdc4ebcac007af0dfc27a1faa0bb8c837c08c85f1a5238ad" } ] }
eyJjb2RpZ28iOiJ0ZXN0ZUNvZGlnbyIsIm5vbWVfY29tcGxldG8iOiJ0ZXN0ZU5vbWUiLCJlbWFpbCI6InRlc3RlRW1haWwiLCJlbmRlcmVjbyI6eyJjb2RpZ28iOjEsInJ1YSI6InRlc3RlUnVhIiwiYmFpcnJvIjoidGVzdGVCYWlycm8iLCJjZXAiOjg4ODg4ODg4LCJudW1lcm8iOiJ0ZXN0ZU51bWVybyIsImNvbXBsZW1lbnRvIjoidGVzdGVDb21wbGVtZW50byIsImNpZGFkZSI6eyJub21lIjoidGVzdGVDaWRhZGUiLCJlc3RhZG8iOnsibm9tZSI6Im5vbWVFc3RhZG8iLCJzaWdsYSI6Ik1TIiwicGFpcyI6eyJub21lIjoiQnJhc2lsIiwic2lnbGEiOiJCUiJ9fX19LCJoYXNoIjoiNGMwYTVhZTQxOWMxMzBlOGZkYzRlYmNhYzAwN2FmMGRmYzI3YTFmYWEwYmI4YzgzN2MwOGM4NWYxYTUyMzhhZCJ9
POST http://api.homologacao.portaleducacao.com.br/{versão}/alunos
Código identificador do aluno.
Nome do aluno.
Ao informar um dos campos de endereço, os demais exceto o código se tornarão obrigatórios para cadastro do endereço na API, caso contrário serão ignorados.
GET / HTTP/1.1
Host: http://api.homologacao.portaleducacao.com.br/{versão}/alunos
Content-Type: application/json
Accept-Encoding: application/json
token: QUY1QURCRTFDNTZBMDdCNDNCRTZGMEIyN0NCRDI0QzQ=
Obs: O JSON criptografado no padrão BASE64 deverá ser enviado no corpo da requisição.