Pular para o conteúdo principal

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étodoCaminhoDescrição
GET/comercial/combosLista os combos
POST/comercial/combosCadastra 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/coursesLista 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}/coursesLista os cursos do combo
POST/comercial/combos/{combo_uuid}/coursesInclui 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âmetroDescrição
columnName e orderDataOrdenaçã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

CampoObrigatórioTipoDescrição
comboSimTextoNome 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.

CampoObrigatórioTipoDescrição
comboNãoTextoNome 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âmetroDescrição
combo_idid numérico do combo. Quando informado, a lista não traz os cursos que já estão no combo
searchTexto livre: nome do curso, nome curto, código ou nome do grupo
column e orderOrdenaçã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

CampoObrigatórioTipoDescrição
course_idSimNúmero (id)Curso que entra no combo. Use o id retornado por GET /comercial/combos/courses
amountSimNúmeroPreç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.

CampoObrigatórioTipoDescrição
course_idNãoNúmero (id)Curso do combo
amountNãoNúmeroPreç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.