Criar negócio
POST
/api/v1/dealsCria um deal · o ponto de entrada principal pra captura de leads. Aceita 3 estilos de vinculação: 1) sem account/contact (mais simples); 2) com IDs existentes (accountId e/ou contactIds); 3) com criação inline — passe os objetos contact e/ou account e o CRM cria e vincula tudo num passo só (ideal pra formulário de site).
Body (JSON)
titleobrigatóriostring | Título do deal (1-200 caracteres). |
valueCentsnumber | Valor em centavos, inteiro ≥ 0. default: 0 |
currencystring | Moeda com exatamente 3 caracteres. default: BRL |
pipelineIdstring | Funil de destino. Quando omitido, usa o pipeline padrão do workspace. Precisa combinar com stageId e pertencer ao workspace (senão 422). |
stageIdstring | Estágio de destino. Quando omitido, usa o primeiro estágio do pipeline resolvido. |
ownerIdstring | null | Dono do deal · precisa ser membro do workspace (senão 404). Quando omitido, usa o primeiro membro do workspace. |
expectedCloseAtstring (ISO 8601) | null | Data esperada de fechamento. |
accountIdstring | null | Empresa existente pra vincular (senão 404). |
contactIdsstring[] | Contatos existentes pra vincular (todos precisam existir, senão 404). |
contactobject | Atalho de criação inline: { name (obrigatório, 1-120), email?, phone? (max 30), title? (max 120) }. Cria o contato e vincula ao deal (e à empresa, se houver). |
accountobject | Atalho de criação inline: { name (obrigatório, 1-160), website? (max 300), industry? (max 120) }. Cria a empresa e vincula ao deal. |
customFieldsobject | Objeto { chave: valor } com as keys de custom fields de DEAL do workspace (descubra em GET /custom-fields?entity=DEAL). Chave desconhecida ou valor de tipo errado retorna 422. |
Headers
Idempotency-Keystring | Opcional, recomendado (8-200 caracteres, ex.: um UUID). A primeira request é processada normalmente; requests com a mesma key e mesmo body em até 24h retornam a resposta cacheada (header Idempotency-Replay: true), sem criar duplicata. Mesma key com body diferente retorna 422 IDEMPOTENCY_CONFLICT. Só respostas 2xx são cacheadas. |
Resposta
201 Created com o deal completo.Suporta
Idempotency-Key · replays com mesmo body em até 24h retornam a resposta cacheada sem duplicar (útil pra retries de n8n/Zapier).Dispara webhook
deal.created (e contact.created / account.created quando a criação inline é usada).Sem
pipelineId/stageId, o lead cai no funil padrão, no primeiro estágio · perfeito pra captura.Workspace sem pipeline configurado retorna
502 PROVIDER_ERROR.Autenticação: header Authorization: Bearer rmk_... · veja Introdução e autenticação.