API de Integração
Cursos

Criar curso

Cria um curso (produto). Você precisa saber a micro área do curso: consulte as rotas de **Areas**. Atenção: `price` é em **reais** (inteiro), não em centavos. O mínimo é R$ 30 (ou o valor mínimo de venda do seu plano, se for Flex). Para informar em centavos, envie também `priceInCents`: ele tem prioridade sobre `price`, mas `price` continua obrigatório. Todos os campos são obrigatórios, exceto `internalPartnerProductId`, `priceInCents` e `maxInstallmentsToApply`. Mesmo opcional, recomendamos enviar `internalPartnerProductId` quando o curso corresponder a um produto do seu sistema.

POST
/courses

Autorização

apiToken
Api-Token<token>

Token do parceiro. Gere no painel do parceiro: Configurações > Integrações > API Token (perfil Admin ou Superadmin). Envie só este header: se Authorization também for enviado, ele tem prioridade e a requisição é recusada com 401.

Local: header

Corpo da Requisição

application/json

Definições TypeScript

Use o tipo request body no TypeScript.

Corpo da Resposta

application/json

application/json

application/json

curl -X POST "https://example.com/courses" \  -H "Content-Type: application/json" \  -d '{    "MicroAreaId": 14,    "description": "Descrição do curso que o aluno vai ver no checkout",    "hasSelectionProcess": false,    "name": "Curso de Janeiro",    "price": 2000,    "visible": true,    "workload": 200,    "internalPartnerProductId": "curso-sku-123",    "maxInstallmentsToApply": 12  }'
{  "content": {    "priceInCents": 200000,    "ProductType": "CourseFinancing",    "id": 123,    "name": "Curso de Teste",    "description": "A cool course description to be visible to student",    "active": true,    "showOnWebsite": true,    "MicroAreaId": 14,    "workload": 200,    "creator": "employee_email@email.com",    "hasSelectionProcess": false,    "paymentMethod": null,    "internalPartnerProductId": "courseSKU",    "CourseClasses": []  }}