2025-07-14 12:24:32 -03:00
2025-07-14 12:24:32 -03:00
2025-07-14 12:24:32 -03:00
2025-07-14 12:24:05 -03:00
2025-07-14 12:24:05 -03:00
2025-07-14 12:24:32 -03:00
fix
2025-07-14 12:24:22 -03:00
2025-07-09 13:44:39 -03:00
2025-05-15 14:07:45 -03:00
2025-07-05 21:13:06 -03:00

Compras

Relacionamentos

Toda compra é relacionada a empresa responsável, que é definida como o tenant da mesma. Essa relação é estabelecida com base no CNPJ presente na compra.

O gestor responsável pela ação também é relacionado à compra, com base no email presente na compra.

{"id": "101", "sk": "0", "name": "EDUSEG", "cnpj": "15608435000190", "tenant": "100"}
{"id": "101", "sk": "author", "name": "Sérgio", "email": "sergio@somosbeta.com.br", "user_id": "123"}
{"id": "101", "sk": "slots", "status": "PENDING", "mode": "BATCH"}
{"id": "101", "sk": "slots#enrollment#9omWNKymwU5U4aeun6mWzZ", "status": "SUCCESS"}
{"id": "101", "sk": "slots#enrollment#12", "status": "ROLLBACK"}

Quando o responsável é uma pessoa física (CPF).

{"id": "20", "sk": "0", "name": "Sérgio", "email": "sergio@somosbeta.com.br", "cpf": "07879819908", "tenant": "123"}
{"id": "20", "sk": "slots", "status": "PENDING", "mode": "STANDALONE"}
{"id": "20", "sk": "slots#enrollment#1123", "status": "SUCCESS"}

Usuários

Matrículas

{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "0", "course": {"id": "10", "name": "pytest"}, "tenant": "100"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "metadata#course", "access_period": 360, "cert": {"exp_interval": 365}}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "tenant", "org_id": "100", "name": "EDUSEG"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "author", "user_id": "202", "name": "Tiago Maciel"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "konviva", "user_id": 122, "class_id": 123, "enrollment_id": 1239}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "started", "started_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "completed", "completed_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "failed", "failed_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "canceled", "canceled_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "archived", "archived_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "expired", "expired_at": "2025-04-06T11:07:32.762178-03:00"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "linked_entities#order", "order_id": "101"}

Vagas

{"id": "slots#org#100", "sk": "order#101#faa8a547-bb9b-4103-bd8c-8fbe96b4056f", "course": {"name": "pytest"}}
{"id": "slots#org#100", "sk": "order#101#afffbdde-fe58-4df7-b4d5-7553a571d32a", "course": {"name": "pytest"}}

Emails/eventos agendados

Quando uma matrícula é criada, também é agendados emails/eventos.

  • reminder_no_access_3_days se o usuário não acessar o curso 3 dias após a criação.
  • no_activity_7_days 7 dias após a última atividade do usuário no curso.
  • access_period_reminder_30_days 30 dias antes do perído de acesso ao curso terminar.
  • cert_expiration_reminder_30_days se houver certificado, avisa 30 dias antes do certificado expirar.
  • course_archived após o certificado expirar, a matrícula será marcada como arquivada (ARCHIVED).
  • course_expired se não houver certificado e o período de acesso for atingido, a matrícula será marcada com expirada (EXPIRED).
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "schedules#reminder_no_access_3_days", "name": "Sérgio R Siqueira", "email": "osergiosiqueira@gmail.com", "ttl": 1874507093}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "schedules#course_expired", "name": "Sérgio R Siqueira", "email": "osergiosiqueira@gmail.com", "ttl": 1874507093}

Quando o status da matrícula for alterado para COMPLETED, os eventos course_expired e access_period_reminder_30_days serão removidos a adicionado o evento course_archived.

{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "schedules#reminder_no_access_3_days", "name": "Sérgio R Siqueira", "email": "osergiosiqueira@gmail.com", "ttl": 1874507093}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "schedules#course_expired", "name": "Sérgio R Siqueira", "email": "osergiosiqueira@gmail.com", "ttl": 1874507093}

Proteção contra duplicação

A proteção contra duplicação é um mecanismo que impede que o gestor matricule o mesmo colaborador no curso por engano.

O gestor pode definir quantos dias antes do fim do acesso ao curso a proteção será removida automaticamente.

Se um certificado for emitido para a matrícula, o período de proteção será recalculado conforme a validade do certificado.

{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "metadata#deduplication_window", "offset_days": 90}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "lock", "hash": "1e67e29464877783e49e07fb7d9dd372", "ttl": 1767625113}
{"id": "lock", "sk": "1e67e29464877783e49e07fb7d9dd372", "ttl": 1767625113}

Política de cancelamento

Apenas matrículas com cancel_policy podem ser canceladas.

Se houver metadata#parent_slot, deve ser devolvido.

{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "0"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "cancel_policy"}
{"id": "9omWNKymwU5U4aeun6mWzZ", "sk": "metadata#parent_slot", "slot": {"id": "slots#org#123", "sk": "order#1221#f7120daf-96d2-4639-b8f4-d736fd99e4ee"}}

Cursos

Description
No description provided
Readme 18 MiB
Languages
TypeScript 47.6%
Python 47.3%
HTML 4.6%
CSS 0.4%