šŸŽ“ InscriƧƵes

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étodoEndpointDescrição
GET/enrollmentsLista inscrições existentes com paginação
POST/enrollmentsInscreve um usuƔrio em um grupo
DELETE/enrollmentsExpira (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)

Retorna uma lista paginada de inscriƧƵes existentes, conforme o recurso InscriptionIndexResource.

šŸ” ParĆ¢metros de Query

CampoTipoObrigatórioPadrãoDescrição
pageintegerāŒ1NĆŗmero da pĆ”gina.
per_pageintegerāŒ15Quantidade 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)

Inscreve um usuƔrio jƔ existente em um grupo/turma da plataforma.

šŸ“¦ ParĆ¢metros esperados (Body JSON)

CampoTipoObrigatórioDescrição
emailstringāœ… SimE-mail do usuĆ”rio jĆ” existente no sistema
group_idintegerāœ… SimID do grupo para inscrição
expires_atdatetimeāŒ OpcionalData 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)

Remove uma inscrição existente, revogando imediatamente o acesso do usuÔrio ao conteúdo do grupo.

šŸ“¦ ParĆ¢metros esperados (Body JSON)

CampoTipoObrigatórioDescrição
emailstringāœ… SimE-mail do usuĆ”rio a ser removido
group_idintegerāœ… SimID 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ódigoDescrição
400Erro de validação nos parâmetros enviados
401Token invƔlido ou ausente
403Recurso não habilitado no plano do tenant
404UsuÔrio ou grupo não encontrado
429Limite de requisiƧƵes excedido (rate limit)
500Erro interno inesperado

🧭 Resumo visual

AçãoMétodoEndpointRetorno esperado
Listar inscriƧƵesGET/enrollmentsLista paginada de inscriƧƵes existentes
Criar nova inscriçãoPOST/enrollmentsMensagem de sucesso ou erro
Expirar/remover inscriçãoDELETE/enrollmentsMensagem de sucesso ou erro