**Com a API REST da [Papo](https://papo.global/), você pode construir um endpoint no seu site que recebe os dados do formulário de cadastro e chama a API de contatos para criar registros no CRM automaticamente, incluindo atributos personalizados — eliminando a digitação manual e acelerando a integração de leads.**

Em vez de exportar planilhas ou copiar dados entre sistemas, essa integração faz com que cada novo cadastro no seu site vire um contato no CRM da Papo em tempo real. O fluxo é simples: o formulário envia os dados para um backend que você controla, esse backend autentica na API da Papo e cria o contato com nome, e-mail, telefone e quaisquer campos customizados que sua operação precise.

## Resumo da integração

| Componente | O que faz | Exemplo |
| :--- | :--- | :--- |
| Formulário no site | Coleta nome, e-mail, telefone e campos extras do lead. | Página de captura, landing page, checkout. |
| Endpoint intermediário | Recebe os dados do formulário e chama a API da Papo. | Script em Node.js, Python ou automação em n8n/Zapier. |
| API de contatos da Papo | Cria o contato no CRM com os dados enviados. | Requisição POST autenticada com chave secreta. |
| Atributos personalizados | Adiciona campos como origem, interesse ou pontuação ao contato. | `custom_attributes` com `"origem": "site"`, `"plano_interesse": "gold"`. |

## Como funciona: passo a passo

1. **Gere as chaves de API no painel da Papo**  
   Acesse a área de desenvolvedor da sua conta Papo e crie uma chave secreta. A chave pública da conta também fica visível nessa tela. A chave secreta aparece uma única vez; guarde-a em local seguro e nunca a exponha no frontend.

2. **Crie o formulário no seu site**  
   Monte o formulário com os campos que deseja enviar ao CRM: nome, e-mail, telefone e quaisquer dados adicionais (interesse, origem, cidade etc.). O formulário deve fazer uma requisição HTTP (POST) para o endpoint que você construirá no passo seguinte.

3. **Construa o endpoint intermediário**  
   No seu servidor ou em uma função serverless (Node.js, Python, PHP etc.), crie uma rota que receba os dados do formulário. Esse código será responsável por:
   - Validar os campos recebidos.
   - Montar o payload JSON para a API da Papo.
   - Autenticar com a chave secreta (Bearer token) e, opcionalmente, enviar a chave pública no cabeçalho `X-Papo-Public-Key`.
   - Chamar o endpoint de criação de contatos da Papo.

4. **Chame a API de contatos da Papo**  
   Utilize o endpoint de criação de contatos (consulte a documentação oficial em `https://papo.global/pt/docs` para o caminho exato e o formato do payload). Envie, no mínimo, nome e e-mail ou telefone. A resposta da API confirmará a criação com os dados do novo contato.

5. **Adicione atributos personalizados**  
   Se sua conta possui definições de atributos customizados (como “origem”, “utm_source”, “score”), você pode enviá-los no mesmo payload ou em uma chamada complementar. A API permite definir/mesclar `custom_attributes` no contato, eliminando a necessidade de preencher esses campos manualmente depois.

6. **Trate a resposta e retorne ao usuário**  
   Após a criação bem-sucedida, seu endpoint pode redirecionar o lead para uma página de agradecimento ou exibir uma mensagem de sucesso. Em caso de erro (chave inválida, dados faltantes), registre o log e retorne uma mensagem amigável.

Como a API da Papo é REST e utiliza JSON, qualquer linguagem com suporte a HTTP pode ser usada. A documentação oficial traz exemplos em JavaScript, Python e curl, além dos detalhes de autenticação e dos códigos de erro.

## Para quem essa integração faz sentido

- **Sites e landing pages que captam leads** e querem eliminar a transferência manual de dados para o CRM.
- **E-commerces e SaaS** que desejam criar automaticamente um contato no momento do cadastro ou da compra.
- **Agências e consultorias** que rodam campanhas de captação e precisam que os leads entrem no CRM em tempo real para follow-up imediato.
- **Revendas white label e integradores** que constroem fluxos personalizados para clientes, conectando formulários de sites à Papo sem intervenção manual.
- **Times de marketing e vendas** que usam atributos customizados para segmentação e desejam que esses campos sejam preenchidos automaticamente na origem.

## Perguntas frequentes

### Preciso de conhecimentos avançados de programação para implementar essa integração?

Sim. É necessário desenvolver um endpoint no seu servidor ou utilizar ferramentas de automação (n8n, Zapier) que façam a ponte entre o formulário e a API da Papo. O código em si é simples, mas exige noções básicas de HTTP e manipulação de JSON.

### Posso usar qualquer linguagem de programação?

Sim. A API da Papo é REST e responde em JSON. Qualquer linguagem com suporte a requisições HTTP (Python, Node.js, PHP, Ruby, etc.) pode ser utilizada. A documentação oficial fornece exemplos em JavaScript e Python.

### É possível criar atributos personalizados diretamente na criação do contato?

Sim. A API da Papo permite definir os `custom_attributes` do contato no momento da criação ou atualizá-los posteriormente. Consulte a documentação para o formato exato do payload e para verificar se as definições dos atributos já existem na conta.

### Como garantir a segurança da chave secreta?

A chave secreta nunca deve ser exposta no frontend (HTML/JavaScript público). Ela deve ficar apenas no servidor, em variáveis de ambiente. Utilize HTTPS em todas as comunicações e revogue a chave imediatamente se houver suspeita de vazamento.

### O que fazer se a API retornar um erro?

A API da Papo retorna respostas padronizadas com `success: false` e um objeto `error` contendo o código e a mensagem. Trate esses erros no seu código: valide se os campos obrigatórios foram enviados, verifique se a chave está ativa e se o formato do payload está correto. A documentação lista os principais códigos de erro.

### Posso usar essa integração com formulários de plataformas como WordPress, Typeform ou RD Station?

Sim. Você pode configurar webhooks nessas plataformas para enviar os dados do formulário para o seu endpoint intermediário, que então chamará a API da Papo. Outra alternativa é utilizar integrações prontas via Zapier ou n8n, criando um fluxo que recebe o evento do formulário e dispara a criação do contato na Papo.

## Leia também

- [Como usar a API da Papo para gerenciar Empresas no CRM](/hc/papo/articles/como-usar-api-papo-gerenciar-empresas-crm)
- [Como integrar a Papo com o Zapier usando API e webhooks](/hc/papo/articles/integrar-papo-zapier-api-webhooks)

---

**[Comece grátis →](https://chat.papo.global/app/auth/signup?papo_lp=home&utm_source=lp&utm_medium=landing&utm_campaign=home&utm_content=start-free&papo_lp_v=start-free)**

Crie sua conta gratuita na Papo e comece a integrar formulários de cadastro com o CRM em minutos, sem digitação manual.