Criar lead
O lead entra no CRM e o rodízio escolhe o dono, como se tivesse chegado pelo formulário do site. Com Idempotency-Key, um timeout do seu lado não vira dois leads do nosso.
POST /leads
API pública
Uma API REST para mandar lead, acompanhar o funil e virar cliente — sem planilha no meio, sem ninguém digitando de novo o que o seu sistema já sabe.
curl -X POST https://seu-crm.com.br/api/publica/v1/leads \ -H "Authorization: Bearer vlp_test_…" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: pedido-8814" \ -d '{"nome":"Maria Souza","telefone":"31999990000"}' { "ok": true, "lead": { "id": "1042", "nome": "Maria Souza" } }
Sete operações. As três primeiras cobrem a integração que a maioria precisa; o resto existe para quem vai mais longe.
O lead entra no CRM e o rodízio escolhe o dono, como se tivesse chegado pelo formulário do site. Com Idempotency-Key, um timeout do seu lado não vira dois leads do nosso.
POST /leads
Leia qualquer lead da empresa, com o estado atual: quem atende, se já virou cliente, quando. É por aqui que o seu sistema sabe o que aconteceu depois que ele mandou.
GET /leads/{id}
A mesma conversão que o funil usa quando a venda fecha: cards, propostas, conversas e tarefas passam para o cliente novo. Sem corpo — os dados saem do próprio lead.
POST /leads/{id}/converter
Tira o lead do caminho marcando como perdido. Reversível, e idempotente: chamar de novo responde a mesma coisa em vez de parecer falha.
DELETE /leads/{id}
Os produtos da empresa, com valores, para o seu sistema montar orçamento com os mesmos números que o vendedor vê.
GET /produtos
O que foi proposto, para quem e por quanto. Útil para conciliar com o que o seu ERP já tem registrado.
GET /propostas
Os funis, as etapas e os cards. Comece por GET /funil: a etapa é referida por id, e id de etapa é inventado por empresa.
GET /funil
A Volpato gera duas de uma vez e manda para o e-mail da empresa um link que abre uma única vez. Você copia as duas e guarda num cofre de senhas — elas não aparecem de novo.
A chave vlp_test_ alcança os dados da própria empresa, mas o lead que ela cria NÃO entra no rodízio: fica com o funcionário da integração, e nenhum vendedor recebe lead de teste. Erre à vontade — ninguém vai ligar para o seu “Teste da Silva”.
Quando estiver pronto, troque a chave no seu .env por vlp_live_. Nenhuma URL muda, nenhum campo muda — é a chave que decide. Se algo der errado, voltar é trocar de volta.
vlp_test_…
Para integrar. O lead criado fica fora do rodízio, e o registro nasce marcado como de teste. É a chave com que você erra.
vlp_live_…
Para valer. O lead segue o caminho normal e cai na fila de um vendedor de verdade.
As duas alcançam os dados da mesma empresa. O prefixo diz qual é qual — trate a de teste com o mesmo cuidado da outra.
Integração não quebra por falta de recurso — quebra por falta de previsibilidade. Estas são as decisões que já estão no código.
O código HTTP é sempre real, e o corpo traz erro.codigo para a sua máquina tratar. Nada de sucesso com “status: false” escondido dentro do JSON.
401 é “não sei quem você é” — vale tentar outra credencial. 403 é “sei quem você é, e você não pode” — repetir não resolve. Tratar os dois igual põe o seu sistema a reautenticar em laço.
Mande Idempotency-Key no POST de lead e a repetição devolve o mesmo lead, com status 200 e marcado como repetida. O seu retry deixa de ser um risco.
dados, pagina, por_pagina, total, total_paginas. Quem aprende uma listagem sabe as quatro. Valor inválido na paginação vira o padrão em vez de derrubar a chamada.
A paginação ordena por id, nunca por data. Com data, dois registros do mesmo segundo empatam e um deles escorrega entre páginas — você importaria a base com um buraco e sem erro nenhum.
Não há cabeçalho CORS, de propósito. A chave vale pela empresa inteira e não expira sozinha: no JavaScript da sua página, qualquer visitante a copia pelo DevTools.
Não. É HTTP com JSON e um header de autorização. Qualquer linguagem que faça requisição serve — e o `curl` do topo desta página é uma integração completa de criar lead.
A documentação tem todas as rotas, e um botão para testar cada uma
Cole a sua chave lá e dispare a chamada sem sair da página.
Abrir a documentação