API

Campanhas

Gerenciar campanhas de marketing vinculadas a projetos via API.

Campanhas

Campanhas representam ações de marketing dentro de um projeto. Cada campanha pertence a um projeto e pode ter plataformas-alvo, pilares de conteúdo e metas.

GET /v1/campaigns

Lista todas as campanhas do time.

Query Parameters

ParâmetroTipoPadrãoDescrição
pagenumber1Página atual
limitnumber20Itens por página (máx: 100)
statusstringFiltrar: draft, scheduled, active, paused, completed, cancelled
project_idstringFiltrar por projeto
searchstringBuscar por nome ou descrição
sortstring-created_atCampos: name, status, start_date, end_date, created_at, updated_at

Request

curl -X GET "https://app.sonar.marketing/api/v1/campaigns?status=active" \
  -H "Authorization: Bearer snr_live_sua_chave_aqui"

Response

{
  "success": true,
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Campanha de Lançamento",
      "description": "Lançamento da nova loja online",
      "status": "active",
      "approval_status": "approved",
      "start_date": "2026-03-01",
      "end_date": "2026-03-31",
      "content_pillars": ["produto", "depoimentos"],
      "target_platforms": ["instagram", "google-ads"],
      "goals": { "impressions": 500000, "conversions": 300 },
      "project_id": "f0e1d2c3-b4a5-6789-0fed-cba987654321",
      "project": {
        "id": "f0e1d2c3-b4a5-6789-0fed-cba987654321",
        "name": "TechStore Q1"
      },
      "created_by": "user-uuid",
      "created_at": "2026-02-15T10:30:00Z",
      "updated_at": "2026-03-04T14:20:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 12,
    "pages": 1
  }
}

POST /v1/campaigns

Cria uma nova campanha.

Request Body

CampoTipoObrigatórioDescrição
namestringSimNome da campanha
project_idstringSimUUID do projeto
descriptionstringNãoDescrição
statusstringNãoStatus inicial (padrão: draft)
start_datestringNãoData início YYYY-MM-DD
end_datestringNãoData fim YYYY-MM-DD
content_pillarsarrayNãoPilares de conteúdo
target_platformsarrayNãoPlataformas-alvo
goalsobjectNãoMetas (formato livre)

Status Disponíveis

StatusDescrição
draftRascunho (padrão)
scheduledAgendada
activeEm execução
pausedPausada
completedConcluída
cancelledCancelada

Request

curl -X POST https://app.sonar.marketing/api/v1/campaigns \
  -H "Authorization: Bearer snr_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Campanha de Lançamento",
    "project_id": "f0e1d2c3-b4a5-6789-0fed-cba987654321",
    "status": "draft",
    "start_date": "2026-03-01",
    "end_date": "2026-03-31",
    "target_platforms": ["instagram", "google-ads"],
    "goals": { "impressions": 500000 }
  }'

Response (201)

Retorna o objeto da campanha criada com o project nested.


GET /v1/campaigns/:id

Busca uma campanha por UUID.

PUT /v1/campaigns/:id

Atualiza campos de uma campanha. Campos aceitos: name, description, status, start_date, end_date, content_pillars, target_platforms, goals.

DELETE /v1/campaigns/:id

Cancela a campanha (seta status = cancelled).

{
  "success": true,
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "cancelled",
    "cancelled_at": "2026-03-04T15:30:00Z"
  }
}

On this page