Relatório Técnico — Rizzo CRM

Documentação para integração com RizzoClinic

Este documento descreve a arquitetura técnica completa do Rizzo CRM, incluindo todas as entidades, módulos, funções backend e integrações externas — com foco em viabilizar a integração bidirecional com o RizzoClinic (Prontuário Eletrônico).

1. Arquitetura Geral

Plataforma

Base44 (BaaS)

Frontend

React + Tailwind + Vite

Backend

Deno Deploy (serverless)

Banco

Base44 Entities (MongoDB-like)

Auth

Custom (UsuarioApp + localStorage)

IA

Base44 InvokeLLM (GPT-4o)

# Base URL das funções backend:

https://base44.app/api/apps/{APP_ID}/functions/{nome_funcao}

# Autenticação por x-api-key (webhooks externos):

Header: x-api-key: $RIZZOZAP_API_KEY

2. Integração com RizzoClinic

Endpoint que o RizzoClinic deve expor

POST /api/pacientes/cadastrar

Headers: x-api-key: API_EXTERNA_KEY

Body JSON:

{
  "nome_completo": "Ana Silva",
  "telefone": "48999990000",
  "convenio": "particular",
  "tratamento": "varizes",
  "observacoes": "...",
  "origem": "CRM Rizzo",
  "token_seguranca": "API_EXTERNA_KEY"
}

Retorno: { "id": "ID_DO_PACIENTE" }

Campo de cruzamento entre sistemas

Campo CRMEntidadePropósito
cadastro_app_idLeadAtendimentoArmazena o ID do paciente no RizzoClinic após cadastro
telefoneLeadAtendimento / PropostaComercialChave de identificação primária
data_consultaLeadAtendimentoData do agendamento
convenio / numero_carteirinhaLeadAtendimentoDados do plano de saúde extraídos pelo RizzoZap
tipo_consultaLeadAtendimentoparticular | unimed | sc_saude | outro_convenio

Fluxo Completo: Lead → Prontuário

  1. 1Lead entra via WhatsApp → RizzoZap qualifica → CRM recebe via receberLeadDoBot
  2. 2Secretária agenda consulta → CRM notifica RizzoZap (consulta_marcada)
  3. 3Consulta realizada → CRM atualiza desfecho_consulta = "realizada"
  4. 4Médico preenche BriefingMedico → Vendedora gera PropostaComercial
  5. 5Paciente aceita → pipeline = "fechado" → régua pós-venda automática
  6. 6Secretária clica "Enviar para Clínica" → cadastrarPacienteExterno → RizzoClinic cria paciente
  7. 7RizzoClinic retorna ID → salvo em LeadAtendimento.cadastro_app_id

3. Entidades Principais

LeadAtendimento

Armazena todos os leads do funil CRM. Ponto de entrada do RizzoZap e origem do cadastro no prontuário.

telefone (PK)nomestatusorigemdata_consultarizzozap_lead_idcadastro_app_idlead_scoreconveniotipo_consulta
PropostaComercial

Proposta comercial enviada ao paciente. Conecta lead → serviços → financeiro → pós-venda.

paciente_nomeestagio_pipelineservicos_idsprotocolo_itensvalor_totaldata_tratamento_realizadolead_idbriefing_id
TarefaFollowUp

Tarefas de CS e follow-up. Geradas automaticamente pela régua ou manualmente.

proposta_idtipodata_agendadadescricaoconcluidaresultado
TransacaoFinanceira

Pagamentos recebidos vinculados a propostas.

proposta_idtipovalormetodo_pagamentodata_pagamentoconciliado
BriefingMedico

Preenchido pelo médico após a consulta. Transfere indicações para a vendedora gerar proposta.

paciente_nomeservicos_sugeridosresumo_diagnosticostatusproposta_id
CatalogoServico

Catálogo de procedimentos com preços, sessões e régua pós-venda por serviço.

nomecategoriavalor_basesessoes_padraoscripts_pos_vendaservicos_complementares

4. Funções Backend

FunçãoAuthDescrição
receberLeadDoBotx-api-keyWebhook RizzoZap → CRM. Cria/atualiza LeadAtendimento.
notificarRizzoZapservice roleCRM → RizzoZap. Dispara eventos de mudança de status.
cadastrarPacienteExternoBase44 authCRM → RizzoClinic. Cadastra paciente no prontuário.
dispararReguaPosVendaBase44 authGera TarefaFollowUp automáticas após fechamento.
processarRecallAutomaticoadmin (agendado)Move propostas concluídas para recall diariamente.
getTarefasBase44 authLista tarefas com join de proposta vinculada.
gerarMensagemCloserBase44 authGera mensagem de fechamento via IA.
fetchMetaAdsMetricsBase44 authSincroniza métricas do Meta Ads.
fetchGoogleAdsMetricsBase44 authSincroniza métricas do Google Ads.
cruzarLeadsPropostasBase44 authCruza leads com propostas por telefone/nome.

5. Integração RizzoZap (Bidirecional)

RizzoZap → CRM

  • • POST /receberLeadDoBot
  • • Header: x-api-key
  • Dados: nome, telefone, origem, status, lead_score, rizzozap_lead_id, data_consulta, convenio, numero_carteirinha

CRM → RizzoZap

  • • consulta_marcada
  • • consulta_realizada
  • • lead_descartado
  • • consulta_desmarcada
  • • nova_proposta
  • • tarefa_followup

6. Secrets & Configurações

Secret / ConfigOnde é usado
RIZZOZAP_API_KEYAuth do webhook receberLeadDoBot + envio de eventos para RizzoZap
RIZZOZAP_APP_IDID do app RizzoZap — montagem da URL de destino dos eventos
RIZZOZAP_WEBHOOK_URLURL de destino alternativa para notificações
API_EXTERNA_KEYAuth para cadastrarPacienteExterno (RizzoClinic)
EXTERNAL_APP_PATIENTS_URLURL para buscar pacientes do app externo
META_ACCESS_TOKEN / META_AD_ACCOUNT_IDIntegração Meta Ads
GOOGLE_ADS_*Integração Google Ads (5 secrets)
ConfiguracaoApp: url_cadastro_paciente_externoURL do endpoint de cadastro do RizzoClinic

⚠️ Para ativar integração com RizzoClinic:

Salvar em ConfiguracaoApp com chave url_cadastro_paciente_externo a URL do endpoint de cadastro do prontuário.

Rizzo CRM — Documentação Técnica • Gerado automaticamente em 18/09/2026 • Uso interno / confidencial