Tarefas e notas (API)

Criar tarefa para a equipe e registrar contexto no contato a partir de um sistema externo.

Tarefas

curl -X POST https://www.scalacrm.com/api/v1/tasks \
  -H "Authorization: Bearer sk_live_…" \
  -H "Idempotency-Key: followup-4821" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Ligar para confirmar a proposta",
    "contact_id": "3f9a…",
    "due_date": "2026-08-12",
    "priority": "high"
  }'

Campos: title, description, contact_id ou phone, assignee_user_id, priority (low/normal/high), start_date, due_date.

A tarefa herda a empresa do contato, como acontece quando você cria pela tela.

O gestor de tarefas é um recurso do plano Profissional em diante. Sem ele, a API responde 403 forbidden — a mesma regra da tela.

Listar e concluir

curl "https://www.scalacrm.com/api/v1/tasks?status=open&due_before=2026-08-10" \
  -H "Authorization: Bearer sk_live_…"

curl -X PATCH https://www.scalacrm.com/api/v1/tasks/bb22… \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "status": "done" }'

Marcar como done grava a data de conclusão sozinho — e é ela que dispara o evento task.completed dos webhooks.

"Atrasada" não é um status. É derivado (vencimento no passado e não concluída), então filtre por due_before com a data de hoje.

Notas

curl -X POST https://www.scalacrm.com/api/v1/notes \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": "3f9a…",
    "body": "Ligação de 12/08: pediu proposta com parcelamento em 6x."
  }'

É o jeito de trazer contexto de fora para dentro — resultado de uma ligação, resposta de um formulário longo, retorno do seu ERP. A nota aparece no painel do contato, junto das que a equipe escreve.

Notas criadas pela API ficam sem autor, e é de propósito: na tela isso distingue o que veio de automação do que veio de uma pessoa.

Para ler as notas de um contato: GET /v1/notes?contact_id=3f9a….

Veja também