Pular para o conteúdo
ProRapportAmbiente piloto
API para integração CRM

Gere contexto e gatilhos com uma chamada

Envie um CNPJ e receba notícias da empresa, notícias da cidade e um briefing comercial para apoiar a próxima conversa.

POST/api/rapportapplication/json

Fluxo da integração

  1. 01

    Card na etapa Rapport

    O PipeRun dispara a API com o CNPJ da oportunidade.

  2. 02

    API processa

    Gera o briefing ou reutiliza o cache (24h) se o CNPJ já foi consultado.

  3. 03

    CRM registra

    Salva o resultado em Nota (resumo, notícias, gatilhos e publicUrl).

Autenticação

Todas as chamadas devem enviar a chave fornecida para o piloto no header Authorization.

Header
Authorization: Bearer rp_live_SUA_CHAVE

Trate a API key como senha. Não exponha no navegador, em repositórios ou em logs. Em caso de vazamento, solicite a revogação imediata.

Gerar rapport

Este é o único endpoint necessário para a integração. O enriquecimento e a geração do conteúdo acontecem internamente.

Corpo da requisição

JSON
{
  "cnpj": "00000000000191"
}
  • cnpjstringObrigatório. CNPJ válido com ou sem máscara.
  • forceRefreshbooleanOpcional. Ignora o cache e força nova geração (limitado a 1 regeneração por lead).

Exemplo completo

cURL
curl --request POST \
  --url "https://api.prorapport.com.br/api/rapport" \
  --header "Authorization: Bearer rp_live_SUA_CHAVE" \
  --header "Content-Type: application/json" \
  --data '{"cnpj":"00000000000191"}'

Dados retornados

Para o PipeRun, os blocos importantes são context, briefing e publicUrl. O bloco company serve apenas para confirmar a empresa consultada.

Resposta 200
{
  "leadId": "cm...",
  "briefingId": "cm...",
  "publicUrl": "https://api.prorapport.com.br/b/TOKEN_PUBLICO",
  "company": {
    "cnpj": "00000000000191",
    "razaoSocial": "EMPRESA EXEMPLO LTDA",
    "nomeFantasia": "EMPRESA EXEMPLO",
    "cidade": "SAO PAULO",
    "uf": "SP"
  },
  "context": {
    "cityNews": [
      {
        "title": "Título da notícia da cidade",
        "source": "Portal de notícias",
        "publishedAt": "2026-07-15T12:00:00.000Z",
        "url": "https://exemplo.com/noticia"
      }
    ],
    "companyNews": [
      {
        "title": "Título da notícia da empresa",
        "source": "Portal de notícias",
        "publishedAt": "2026-07-14T10:00:00.000Z",
        "url": "https://exemplo.com/empresa"
      }
    ]
  },
  "briefing": {
    "resumoEmpresa": "Resumo objetivo da empresa.",
    "contextoSetor": "Contexto comercial do setor.",
    "contextoCidade": "Contexto comercial da cidade.",
    "gatilhos": [
      {
        "categoria": "Notícia",
        "gatilho": "Fato real que pode iniciar a conversa.",
        "aberturaSugerida": "Frase natural sugerida para o vendedor."
      }
    ]
  },
  "fromCache": true,
  "briefingReused": true
}

Link público

  • publicUrlstringPágina sem login com o briefing completo. Inclua na Nota do PipeRun para o vendedor abrir o conteúdo.

Notícias

  • context.companyNewsNewsItem[]Até 6 notícias ou menções relacionadas à empresa.
  • context.cityNewsNewsItem[]Até 4 notícias relacionadas à cidade da empresa.
  • NewsItem.titlestringTítulo da notícia.
  • NewsItem.sourcestring | nullNome da fonte.
  • NewsItem.publishedAtstring | nullData e hora em ISO 8601.
  • NewsItem.urlstring | nullLink para a publicação.

Briefing

  • resumoEmpresastringResumo objetivo para preparar a abordagem.
  • contextoSetorstring | nullContexto comercial do setor quando houver base suficiente.
  • contextoCidadestring | nullContexto comercial da cidade quando houver base suficiente.
  • gatilhosTrigger[]Normalmente de 3 a 5 sugestões apoiadas em fatos disponíveis.
  • Trigger.categoriastringCategoria do argumento comercial.
  • Trigger.gatilhostringFato que sustenta a abordagem.
  • Trigger.aberturaSugeridastringFrase sugerida para iniciar a conversa.
  • fromCachebooleantrue quando cadastro/notícias vieram do snapshot em cache.
  • briefingReusedbooleantrue quando o briefing existente foi devolvido (sem nova IA e sem consumir a cota diária).

Limites e cache

Os tetos são controlados pelo ProRapport no servidor. A integração no PipeRun não consegue alterar esses valores.

20 por minuto

Ritmo máximo por API key.

300 por dia

Teto por organização (piloto). Reseta à meia-noite em Brasília.

Cache 24 horas

Mesmo CNPJ devolve o briefing já gerado, sem nova IA e sem gastar a cota do dia.

  • A cota diária conta apenas gerações novas.
  • Reuso de briefing não consome os 300/dia.
  • Ao atingir o limite do dia, a API responde 429 até o próximo dia (ou até o ProRapport elevar o teto do plano).

Uso no PipeRun

No piloto, a recomendação é salvar o resultado em uma Nota da oportunidade. Campos personalizados podem ser criados depois para status e link.

Conteúdo sugerido para a Nota

  • Resumo da empresa
  • Notícias da empresa e da cidade
  • Gatilhos e aberturas sugeridas
  • Campo publicUrl — link da página pública do briefing

Erros

Erros são retornados em JSON. Requisições com erro não produzem briefing novo.

Erro
{
  "error": "CNPJ inválido."
}
HTTPSignificadoAção recomendada
400JSON inválidoCorrigir o corpo da requisição
401API key inválidaConferir ou solicitar nova key
403Regeneração já usadaConsultar de novo sem forceRefresh ou aguardar novo ciclo
404CNPJ não encontradoRevisar o CNPJ no CRM
422CNPJ inválidoCorrigir o CNPJ no CRM
429Limite por minuto ou 300/diaRespeitar Retry-After; no teto diário, retomar no dia seguinte
502/503Serviço temporariamente indisponívelTentar novamente com backoff (2s, 4s, 8s)

Checklist da integração

  • Receber a URL do ambiente e a API key
  • Disparar na etapa Rapport com o CNPJ
  • Tratar 429 (minuto e cota diária)
  • Mapear context, briefing e publicUrl
  • Observar briefingReused no reuso de cache
  • Não registrar a API key em logs

Suporte

Dúvidas no piloto, falhas de integração ou pedido para elevar o limite diário: fale direto no WhatsApp.

WhatsApp

Envie horário da chamada, CNPJ e status HTTP recebido.

Abrir WhatsApp