API de Integração
Campanhas

Criar campanha

Cria uma campanha a partir de cursos e turmas já cadastrados. Informe um nome único e o preço final em centavos; os demais campos são opcionais. `courses` é obrigatório, a menos que você envie `campaign_id` para reaproveitar os cursos de uma campanha ativa. Cada item precisa de `id` e `courseClassId`, e cada curso aceita uma única turma. O preço não pode passar da soma dos preços dos cursos. Sem data de início, a campanha começa na hora; sem data de fim, ela não é inativada automaticamente. Com data de início no futuro, a campanha nasce inativa e é ativada na data.

POST
/campaigns

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

application/json

curl -X POST "https://example.com/campaigns" \  -H "Content-Type: application/json" \  -d '{    "checkout_price_in_cents": 100000,    "name": "Nome Da Campanha",    "courses": [      {        "id": 251179,        "courseClassId": 44099      }    ],    "running_days_to_first_installment": 3,    "running_days_to_expire": 3,    "maxInstallmentsToApply": 12,    "startsAt": "2026-10-01T12:00:00.000Z",    "endsAt": "2026-11-01T12:00:00.000Z",    "customIdentifier": "CAMP-2026-01",    "payment_methods": [      "CreditCard",      "Boleto",      "CourseFinancing",      "Pix"    ],    "consultant_id": "consultor@suaempresa.com.br"  }'
{  "content": {    "id": "62040e573aafe90023d4143d",    "name": "Nome Da Campanha",    "slug": "Nome-Da-Campanha",    "redirect_url": "https://pay.principia.net/checkout/sua-empresa?campaign=Nome-Da-Campanha",    "running_days_to_first_installment": 3,    "running_days_to_expire": 3,    "checkout_price_in_cents": 100000,    "total_amount_in_cents": 150000,    "discount_price_in_cents": 50000,    "courses": [      {        "id": 251179,        "name": "Nome do curso",        "price": 150000,        "modality": "remote",        "isFullTime": false,        "courseClassIds": [          44099        ],        "courseSKU": "curso-sku-123"      }    ],    "customIdentifier": "CAMP-2026-01",    "startsAt": "2026-10-01T12:00:00.000Z",    "endsAt": "2026-11-01T12:00:00.000Z",    "payment_methods": [      "CreditCard",      "Boleto",      "CourseFinancing",      "Pix"    ],    "consultant_id": "consultor@suaempresa.com.br",    "maxInstallmentsToApply": 12,    "active": false,    "createdAt": "2026-09-29T18:56:23.078Z",    "updatedAt": "2026-09-29T18:56:23.078Z"  }}