404 lead_not_found. Criar lead é sempre uma ação explícita sua.
Buscar um lead
Por telefone (aceita E.164 ou apenas dígitos):lead_... retornado na criação):
Números brasileiros: a busca por telefone testa automaticamente a variação do nono dígito, então funciona com ou sem o
9 após o DDD.Criar um lead
O lead criado entra na primeira etapa do funil da empresa. Se a empresa não tem funil configurado no painel, a resposta é
422 funnel_not_configured.
Telefone duplicado
Se já existe um lead com esse telefone na sua empresa, a resposta é409 lead_already_exists. Nesse caso, recupere o lead existente com a busca por telefone — e envie a mensagem normalmente, já que o envio só precisa do telefone em to.
Fluxo recomendado: garantir lead antes do envio
1
Busque pelo telefone
GET /v1/leads?phone=.... Se retornar 200, o lead existe — siga para o envio.2
Se 404, crie o lead
POST /v1/leads com nome e telefone. Trate 409 como sucesso (outra automação pode ter criado o lead entre as duas chamadas).3
Envie a mensagem
POST /v1/whatsapp/messages com o telefone em to.Editando um lead
Atualize dados cadastrais comPATCH /v1/leads/{id} — envie só o que mudou. Campo omitido fica como está; null explícito limpa o campo.
name, email, notes, source, channel, entry_point, utm_*, document + document_type (CPF ou CNPJ — enviando só document, o tipo é inferido pelo tamanho), cep, address, address_number, address_complement, neighborhood, city, state, country.
Movendo o lead de etapa
Primeiro, descubra as etapas da sua empresa (os ids são estáveis — sobrevivem a renomear a etapa no painel):PUT /v1/leads/{id}/stage:
- Idempotente: mover para a etapa em que o lead já está retorna
200comchanged: false— sem log duplicado. Seguro para retries. - Histórico completo: a transição fica registrada no painel (origem
API), com oreasoncomo observação. Pular etapas registra as intermediárias automaticamente. stage_idde outra empresa retorna404 stage_not_found— as etapas são escopadas pela sua chave.