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_beforecom 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….
