Combos
Esta página descreve os endpoints da tela Combos, do menu Comercial. Um combo é um pacote de cursos com preço próprio para cada curso dentro dele. Ao vender um combo no ponto de venda, os cursos entram na venda com os preços definidos no combo.
As regras gerais (cabeçalhos, paginação e erros) estão em Convenções.
Endpoints
| Método | Caminho | Descrição |
|---|---|---|
| GET | /comercial/combos | Lista os combos |
| POST | /comercial/combos | Cadastra um combo |
| GET | /comercial/combos/{uuid} | Consulta um combo |
| PUT | /comercial/combos/{uuid} | Altera o nome do combo |
| DELETE | /comercial/combos/{uuid} | Apaga um combo (exclusão lógica) |
| GET | /comercial/combos/courses | Lista os cursos disponíveis para compor um combo |
| GET | /comercial/combos/courses/{uuid} | Consulta um curso, para compor um combo |
| GET | /comercial/combos/{combo_uuid}/courses | Lista os cursos do combo |
| POST | /comercial/combos/{combo_uuid}/courses | Inclui um curso no combo, com o seu valor |
| GET | /comercial/combos/{combo_uuid}/courses/{id} | Consulta um curso do combo |
| PUT | /comercial/combos/{combo_uuid}/courses/{id} | Altera o valor de um curso do combo |
| DELETE | /comercial/combos/{combo_uuid}/courses/{id} | Retira um curso do combo (exclusão lógica) |
Combos
GET /comercial/combos
Lista os combos da empresa cliente.
Parâmetros de URL
| Parâmetro | Descrição |
|---|---|
columnName e orderData | Ordenação: nome da coluna e asc ou desc |
Resposta: lista. Campos: uuid, combo, courses_sum_amount (soma dos valores dos cursos do combo), user_create_name e user_update_name.
GET /comercial/combos/{uuid}
Consulta um combo. A resposta traz os mesmos campos da listagem.
POST /comercial/combos
Cadastra um combo. O combo entra sem cursos. Inclua os cursos depois, em POST /comercial/combos/{combo_uuid}/courses.
Corpo
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
combo | Sim | Texto | Nome do combo |
Exemplo
curl -X POST "https://api.pedagogo.app/comercial/combos" \
-H "Authorization: Bearer <token-de-sessao>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"combo": "Combo exemplo"}'
Resposta: 201 com o combo criado, incluindo o uuid.
PUT /comercial/combos/{uuid}
Altera o nome do combo.
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
combo | Não | Texto | Nome do combo |
Resposta: 200 com o combo alterado.
DELETE /comercial/combos/{uuid}
Apaga o combo. A exclusão é lógica: o combo deixa de aparecer na lista, e os dados ficam guardados.
Resposta: 200 com o combo apagado.
Cursos do combo
GET /comercial/combos/courses
Lista os cursos da empresa cliente, para compor um combo. Parâmetros:
| Parâmetro | Descrição |
|---|---|
combo_id | id numérico do combo. Quando informado, a lista não traz os cursos que já estão no combo |
search | Texto livre: nome do curso, nome curto, código ou nome do grupo |
column e order | Ordenação. Sem ordenação, a lista sai pelo nome do curso |
Resposta: lista de cursos. Campos principais: id, uuid, code, course, short_name, group, workload, amount e inactive. Use o id do curso no campo course_id.
GET /comercial/combos/courses/{uuid}
Consulta um curso pelo uuid.
Resposta: 200 com o curso.
GET /comercial/combos/{combo_uuid}/courses
Lista os cursos do combo.
Parâmetros de URL: columnName e orderData para ordenação.
Resposta: lista. Campos: id, combo_id, course_id, course_name, course_code, amount, updated_at, user_create_name e user_update_name.
POST /comercial/combos/{combo_uuid}/courses
Inclui um curso no combo, com o valor dele dentro do combo.
Corpo
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
course_id | Sim | Número (id) | Curso que entra no combo. Use o id retornado por GET /comercial/combos/courses |
amount | Sim | Número | Preço do curso dentro do combo |
Resposta: 201 com o curso incluído no combo.
GET /comercial/combos/{combo_uuid}/courses/{id}
Consulta um curso do combo pelo id do registro. A resposta traz o registro com os dados do combo.
PUT /comercial/combos/{combo_uuid}/courses/{id}
Altera o curso ou o valor dele dentro do combo.
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
course_id | Não | Número (id) | Curso do combo |
amount | Não | Número | Preço do curso dentro do combo |
Resposta: 200 com o registro alterado.
DELETE /comercial/combos/{combo_uuid}/courses/{id}
Retira o curso do combo. A exclusão é lógica.
Resposta: 200.