Negociacoes
/v1/deals · estágio, contatos, empresa, origem, responsável, qualificação e valores calculados.
As negociações dos funis de venda: estágio, contatos, empresa, origem, responsável, qualificação e valores.
GET
/v1/deals, /v1/deals/{id}
read
POST
/v1/deals
insert
PUT
/v1/deals/{id}
update
Valores e status
Os valores são calculados a partir dos produtos da negociação (total da linha = (preço − desconto) × quantidade, nunca negativo):
total_amountsoma todas as linhasrecurring_amountsoma as linhas de produtos recorrentesone_time_amountsoma as demais
O campo status é derivado do estágio: negociação no estágio de sucesso do funil vira won; no estágio de falha, lost; qualquer outro, ongoing.
Filtros
name
exato (sem diferenciar maiúsculas); name__contains para parcial
status
enum: ongoing, won, lost; lista separada por vírgula combina com OU (?status=won,lost)
kanban_id, kanban_status_id, owner_id, company_id, source_id
inteiro ou lista separada por vírgula
contact_ids
inteiro ou lista (negociações vinculadas a qualquer um dos contatos)
rating
inteiro ou lista; também rating__gte/__lte/__gt/__lt
expected_close_date__…, closed_at__…, created_at__…, updated_at__…
comparação ISO 8601 (__gte/__lte/__gt/__lt)
Ordenação: name, rating, created_at, updated_at, closed_at (padrão -created_at).
Payload
Escrita
kanban_id
inteiro
obrigatório no POST; imutável no PUT (422)
kanban_status_id
inteiro
obrigatório no POST (deve pertencer ao funil); no PUT, move a negociação para o estágio informado
contact_ids
inteiro[]
obrigatório no POST (mínimo 1); no PUT substitui o conjunto de contatos (o mínimo de 1 continua valendo)
name
string, anulável
por padrão, o nome do primeiro contato
owner_id, company_id, source_id
inteiro, anulável
devem existir na conta
rating
inteiro 1 a 5, anulável
qualificação (estrelas)
expected_close_date
data ISO, anulável
previsão de fechamento
status
enum
apenas no PUT: won / lost movem a negociação para o estágio de sucesso/falha do funil (422 se o funil não os tiver configurados); ongoing não é aceito. Para reabrir, envie kanban_status_id com o estágio de destino. Não pode ser combinado com kanban_status_id na mesma requisição
O campo lost_reason não é suportado.
Efeitos no CRM
Negociações criadas ou movidas pela API aparecem em tempo real no quadro do funil e têm cada alteração registrada na linha do tempo (incluindo 🎉/❌ ao entrar nos estágios terminais). closed_at é preenchido quando a negociação entra no estágio de sucesso ou falha e limpo quando ela sai. Criações e movimentações disparam as automações configuradas no funil (ex.: "negociação criada", "negociação movida").
Os fluxos de conversa associados a estágios não são disparados por movimentações via API, e as configurações de campos obrigatórios por estágio não bloqueiam escritas via API.