Esta seção permite inscrever ou remover usuÔrios de grupos (também chamados de turmas ou conteúdos) dentro da plataforma. As inscrições determinam quais usuÔrios têm acesso aos conteúdos da sua escola.
š Funcionalidades disponĆveis
| Método | Endpoint | Descrição |
|---|---|---|
GET | /enrollments | Lista inscrições existentes com paginação |
POST | /enrollments | Inscreve um usuƔrio em um grupo |
DELETE | /enrollments | Expira (remove) a inscrição de um usuÔrio em um grupo |
š Autenticação e CabeƧalhos
Todas as requisiƧƵes exigem um token de API vƔlido no cabeƧalho:
Authorization: Bearer {SEU_TOKEN_AQUI}
X-Requested-With: XMLHttpRequest
Content-Type: application/json
O token Ć© exclusivo por plataforma e deve ser gerado previamente pelo administrador.
š Listar inscriƧƵes (GET /enrollments)
GET /enrollments)Retorna uma lista paginada de inscriƧƵes existentes, conforme o recurso InscriptionIndexResource.
š ParĆ¢metros de Query
| Campo | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
page | integer | ā | 1 | NĆŗmero da pĆ”gina. |
per_page | integer | ā | 15 | Quantidade de itens por pĆ”gina. |
š” Exemplo de requisição
GET https://sua-plataforma.ensinio.cloud/public/api/v1/enrollments?page=1&per_page=15ā
Exemplo de resposta
{
"data": [
{
"id": 501,
"group": {
"id": 12,
"name": "Curso Completo de Marketing"
},
"user": {
"id": 9001,
"first_name": "Ana",
"last_name": "Silva",
"email": "[email protected]",
"phone": "+55 11 99999-0000"
},
"completion_rate": 0.92,
"inscription_date": "2025-03-01",
"expiration_date": "2026-03-01"
},
{
"id": 502,
"group": {
"id": 14,
"name": "E-book Vendas"
},
"user": {
"id": 9002,
"first_name": "Bruno",
"last_name": "Oliveira",
"email": "[email protected]",
"phone": null
},
"completion_rate": null,
"inscription_date": "2025-04-02",
"expiration_date": null
}
],
"links": {
"first": "https://sua-plataforma.ensinio.cloud/public/api/v1/enrollments?page=1",
"last": "https://sua-plataforma.ensinio.cloud/public/api/v1/enrollments?page=5",
"prev": null,
"next": "https://sua-plataforma.ensinio.cloud/public/api/v1/enrollments?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"path": "https://sua-plataforma.ensinio.cloud/public/api/v1/enrollments",
"per_page": 15,
"to": 15,
"total": 75
}
}š Criar inscrição (POST /enrollments)
POST /enrollments)Inscreve um usuƔrio jƔ existente em um grupo/turma da plataforma.
š¦ ParĆ¢metros esperados (Body JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email | string | ā Sim | E-mail do usuĆ”rio jĆ” existente no sistema |
group_id | integer | ā Sim | ID do grupo para inscrição |
expires_at | datetime | ā Opcional | Data de expiração da inscrição (ISO-8601) |
š” Exemplo de requisição
{
"email": "[email protected]",
"group_id": 12,
"expires_at": "2026-03-01T10:00:00Z"
}ā
Exemplo de resposta
{
"message": "UsuƔrio inscrito no grupo com sucesso"
}āļø Notificação por E-mail
Ao inscrever um usuƔrio com sucesso:
- A plataforma envia automaticamente um e-mail informando que o usuƔrio foi adicionado a um grupo.
- O envio é automÔtico e não requer nenhuma ação adicional.
- O e-mail só serÔ enviado se o usuÔrio possuir um endereço de e-mail vÔlido.
𧹠Expirar inscrição (DELETE /enrollments)
DELETE /enrollments)Remove uma inscrição existente, revogando imediatamente o acesso do usuÔrio ao conteúdo do grupo.
š¦ ParĆ¢metros esperados (Body JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email | string | ā Sim | E-mail do usuĆ”rio a ser removido |
group_id | integer | ā Sim | ID do grupo do qual o usuĆ”rio serĆ” removido |
š” Exemplo de requisição
{
"email": "[email protected]",
"group_id": 12
}ā
Exemplo de resposta
{
"message": "Inscrição expirada com sucesso"
}š§ ObservaƧƵes importantes
- O usuƔrio precisa estar previamente criado para ser inscrito.
- A expiração da inscrição revoga imediatamente o acesso ao conteúdo.
- Inscrições criadas via API são marcadas internamente como do tipo
"manual". - Se o usuÔrio jÔ estiver inscrito, apenas a data de expiração serÔ atualizada.
- Caso nenhuma data de expiração seja informada, a inscrição serĆ” considerada vitalĆcia.
- Todos os endpoints retornam erros estruturados no formato:
{
"message": "A mensagem de erro explicando o motivo"
}š« Códigos de Erro
| Código | Descrição |
|---|---|
400 | Erro de validação nos parâmetros enviados |
401 | Token invƔlido ou ausente |
403 | Recurso não habilitado no plano do tenant |
404 | UsuÔrio ou grupo não encontrado |
429 | Limite de requisiƧƵes excedido (rate limit) |
500 | Erro interno inesperado |
š§ Resumo visual
| Ação | Método | Endpoint | Retorno esperado |
|---|---|---|---|
| Listar inscriƧƵes | GET | /enrollments | Lista paginada de inscriƧƵes existentes |
| Criar nova inscrição | POST | /enrollments | Mensagem de sucesso ou erro |
| Expirar/remover inscrição | DELETE | /enrollments | Mensagem de sucesso ou erro |
