Introdução
Neste artigo você poderá encontrar a estrutura da API da sua plataforma disponível a partir do plano Business.
A API utiliza arquitetura RESTful (representational state transfer).
Autenticação
A autenticação deve ser feita utilizando o **APP_ID **e **API_KEY **que podem ser geradas pela página API em Configurações ("Configurações" -> "API")
Esses parâmetros devem ser informados no HEADER da requisição, no seguinte formato:
Endpoints
Os endpoints da API utilizam o EAD_ID, que também pode ser encontrado na página API, junto com o **APP_ID ** e API_KEY.
O endpoint base é: https ://<EAD_ID>.ead.guru/api/v1
A API v1 possui 3 endpoints:
Usuários
Cursos
Matrículas
Usuários
Listar usuários
Parâmetros:
page (opcional): integer
is_active (opcional): boolean
suspended (opcional): boolean
admin (opcional): boolean
teacher (opcional): boolean
Exemplo de requisição:
Exemplo de resposta:
Detalhes de um usuário
Parâmetros PATH:
id* (obrigatório): integer
Exemplo de requisição:
Exemplo de resposta:
Detalhes de um usuário buscando por email
Parâmetros PATH:
email* (obrigatório): string
Exemplo de requisição:
Exemplo de resposta:
Criar usuário
Parâmetros:
email* (obrigatório): string (max 250 chars)
first_name* (obrigatório): string (max 30 chars)
last_name* (obrigatório): string (max 30 chars)
username (opcional): string (max 150 chars)
password (opcional): string (max 250 chars)
date_joined (opcional): date (ISO 8601)
teacher (opcional): boolean (default false)
admin (opcional): boolean (default false)
suspended (opcional): boolean (default false)
sex (opcional): string ("M" ou "F")
phone (opcional): string (max 50 chars)
birth_date (opcional): date (ISO 8601)
bio (opcional): string
person_type (opcional): string ("F" - Pessoa física ou "J" - Pessoa jurídica)
cpf_cnpj (opcional): string (11 chars para CPF ou 14 chars para CNPJ)
corporate_name (opcional): string (max 250 chars)
country (opcional): string (Código de 2 chars ISO 3166)
zip_code (opcional): string (8 chars)
state (opcional): string (Código de 2 chars)
city (opcional): string (max 100 chars)
district (opcional): string (max 100 chars)
street (opcional): string (max 100 chars)
house_number (opcional): string (max 10 chars)
complement (opcional): string (max 100 chars)
Exemplo de requisição:
Exemplo de resposta:
Editar usuário
Parâmetros PATH:
id* (obrigatório): integer
Parâmetros:
email (opcional): string (max 250 chars)
first_name (opcional): string (max 30 chars)
last_name (opcional): string (max 30 chars)
username (opcional): string (max 150 chars)
teacher (opcional): boolean (default false)
admin (opcional): boolean (default false)
suspended (opcional): boolean (default false)
sex (opcional): string ("M" ou "F")
phone (opcional): string (max 50 chars)
birth_date (opcional): date (ISO 8601)
bio (opcional): string
person_type (opcional): string ("F" - Pessoa física ou "J" - Pessoa jurídica)
cpf_cnpj (opcional): string (11 chars para CPF ou 14 chars para CNPJ)
corporate_name (opcional): string (max 250 chars)
country (opcional): string (Código de 2 chars ISO 3166)
zip_code (opcional): string (8 chars)
state (opcional): string (Código de 2 chars)
city (opcional): string (max 100 chars)
district (opcional): string (max 100 chars)
street (opcional): string (max 100 chars)
house_number (opcional): string (max 10 chars)
complement (opcional): string (max 100 chars)
Exemplo de requisição:
Exemplo de resposta:
Excluir usuário
Parâmetros PATH:
id* (obrigatório): integer
Exemplo de requisição:
Exemplo de resposta:
Cursos
Listar cursos
Parâmetros:
page (opcional): integer
open_to_enroll (opcional): boolean
active (opcional): boolean
Exemplo de requisição:
Exemplo de resposta:
Detalhes de um curso
Parâmetros PATH:
id* (obrigatório): integer
Exemplo de requisição:
Exemplo de resposta:
Criar curso
Parâmetros:
teachers_ids* (obrigatório): list of integers (max 5 teachers)
name* (obrigatório): string (max 100chars)
description (opcional): string
short_description (opcional): string (max 140 chars)
launch_date (opcional): date (ISO 8601)
syllabus (opcional): string
open_to_enroll (opcional): boolean (default false)
active (opcional): boolean (default true)
price (opcional): float (default 0.00)
slug (opcional): string (Apenas letras minúsculas e o caracter "-" como espaço)
workload (opcional): integer (default 1)
forum_enabled (opcional): boolean (default true)
show_score (opcional): boolean (default false)
active_comments (opcional): boolean (default false)
show_enrols_count (opcional): boolean (default false)
grade_certificate (opcional): integer ( deprecated)
show_grade_certificate (opcional): boolean (default false) ( deprecated)
expiry_date (opcional): integer (Número de meses até o vencimento da matrícula)
number_of_installments (opcional): integer (min 1, max 12)
Exemplo de requisição:
Exemplo de resposta:
Editar curso
Parâmetros PATH:
id* (obrigatório): integer
Parâmetros:
teachers_ids (opcional): list of integers (max 5 teachers)
name (opcional): string (max 100chars)
description (opcional): string
short_description (opcional): string (max 140 chars)
launch_date (opcional): date (ISO 8601)
syllabus (opcional): string
open_to_enroll (opcional): boolean
active (opcional): boolean
price (opcional): float
slug (opcional): string (Apenas letras minúsculas e o caracter "-" como espaço)
workload (opcional): integer
forum_enabled (opcional): boolean
show_score (opcional): boolean
active_comments (opcional): boolean
show_enrols_count (opcional): boolean
grade_certificate (opcional): integer ( deprecated)
show_grade_certificate (opcional): boolean ( deprecated)
expiry_date (opcional): integer (Número de meses até o vencimento da matrícula)
number_of_installments (opcional): integer (min 1, max 12)
installment_interest (opcional): float (min 0, max 99. Obrigatório caso number_of_installments seja informado)
Exemplo de requisição:
Exemplo de resposta:
Excluir curso
Parâmetros PATH:
id* (obrigatório): integer
Exemplo de requisição:
**Exemplo de resposta: **
Matrículas
Listar matrículas
Parâmetros:
page (opcional): integer
course (opcional): integer
user (opcional): integer
Exemplo de requisição:
Exemplo de resposta:
Detalhes de uma matrícula
Parâmetros PATH:
id* (obrigatório): integer
Exemplo de requisição:
Exemplo de resposta:
Criar matrícula
Parâmetros:
user* (obrigatório): integer
course* (obrigatório): integer
expiry_date (opcional): date (ISO 8601)
active (opcional): boolean (default true)
send_email (opcional): boolean (default false)
*Atenção: Utilize a opção send_email=true apenas se tiver certeza que o email do aluno é válido. Caso ocorram muitos erros de envio de email por causa de email inválido, o seu EAD poderá ser suspenso.
Exemplo de requisição:
Exemplo de resposta:
Editar matrícula
Parâmetros PATH:
id* (obrigatório): integer
Parâmetros:
expiry_date (opcional): date (ISO 8601)
active (opcional): boolean
Exemplo de requisição:
**Exemplo de resposta: **