š Tutorial de Integração ERP ā CVCRM
Resumo dos endpoints no fluxo simplificado para integrar um ERP ao CVCRM
A integração entre o ERP e o CVCRM é organizada em fases, respeitando onde o dado nasce e para onde ele deve ser enviado.
š¹ Fase 1 ā Cadastrando a Base de Dados
Aqui sĆ£o enviados os dados de estrutura de venda: empreendimento ā etapas ā blocos ā unidades.
š Se a origem for o ERP, utilize POST para enviar ao CVCRM.
Cadastrar Empreendimento - POST /empreendimentos
{
"idempreendimento_int": "ERP123",
"nome": "Residencial Jardim das Flores",
"matricula": "12345",
"cidade": "Belo Horizonte",
"estado": "MG",
"idempresa_int": "ERP001",
"nome_empresa": "Incorp ABC",
"razao_social": "Incorp ABC Ltda",
"cnpj": "12345678000190",
"sigla": "ABC",
"ativo": true
}Cadastrar Etapa - POST /etapas
#{
"idetapa_int": "ETP001",
"idempreendimento_int": "ERP123",
"nome": "Etapa 1",
"data_cadastro": "2025-09-15"
}š Se o ERP nĆ£o tiver etapas, crie uma etapa Ćŗnica com código genĆ©rico.
Cadastrar Bloco - POST /blocos
{
"idbloco_int": "BL001",
"idetapa_int": "ETP001",
"idempreendimento_int": "ERP123",
"nome": "Bloco A",
"data_cadastro": "2025-09-15"
}Cadastrar Unidade - POST /unidades
{
"idunidade_int": "UN001",
"idbloco_int": "BL001",
"idetapa_int": "ETP001",
"idempreendimento_int": "ERP123",
"nome": "Apto 101",
"area_privativa": 65.5,
"situacao": "disponivel"
}š Dica: O CVCRM possui campos extras. Sempre que possĆvel, aproveite-os para enriquecer a base, mesmo que o ERP nĆ£o os tenha.
š¹ Fase 2 ā Montando a Equipe de Vendas
O CVCRM depende da equipe para processar reservas.
Cadastrar ImobiliƔria
- POST /imobiliarias
{
"idimobiliaria_int": "IMO001",
"nome": "ImobiliƔria Sol Nascente",
"cnpj": "22345678000190",
"ativo": true
}Cadastrar Corretor POST /corretores
{
"idcorretor_int": "COR001",
"nome": "João Silva",
"creci": "12345/MG",
"email": "[email protected]",
"ativo": true
}Vincular ao Empreendimento - POST /empreendimento/imobiliaria ou POST /empreendimento/corretores
{
"idempreendimento_int": "ERP123",
"idimobiliaria_int": "IMO001"
}š¹ Fase 3 ā Propostas, Reservas e Contratos
Webhook - Receber Reserva Criada
Quando uma reserva Ć© feita no CVCRM, o ERP recebe um webhook:
{
"idreserva": "RES123"
}Consultar Detalhes da Reserva - GET /reservas/idreserva
{
"idreserva": "RES123",
"idempreendimento": "ERP123",
"idetapa": "ETP001",
"idbloco": "BL001",
"idunidade": "UN001",
"idimobiliaria": "IMO001",
"idcorretor": "COR001",
"titular": "CLI001",
"associados": ["CLI002"]
}Consultar Cliente da Reserva - GET /clientes/idcliente
{
"idcliente": "CLI001",
"nome": "Maria Oliveira",
"cpf": "12345678901",
"email": "[email protected]"
}Assim, o ERP consegue registrar o contrato.
š¹ Fase 4 ā Envio de Boletos para o CVCRM
Os boletos sempre tĆŖm origem no ERP e precisam ser enviados ao CVCRM para que o cliente final visualize no portal.
Via multipart/form-data (com upload de arquivo PDF)
Esse formato é útil quando você precisa anexar o boleto em PDF diretamente na requisição.
curl -X 'POST' \
'https://integracao.cvcrm.com.br/api/v1/financeiro/boletos' \
-H 'accept: application/json' \
-H 'email: [email protected]' \
-H 'token: ' \
-H 'Content-Type: multipart/form-data' \
-F 'valor=1999.99' \
-F 'codigointerno=BOL01' \
-F 'vencimento=2023-05-01' \
-F '[email protected]' \
-F 'tipo=Ato' \
-F 'linha_digitavel=00190500954014481606906809350314337370000000100' \
-F 'titulo=BOL01' \
-F 'codigointerno_reserva=5458954' \
-F 'idreserva=123'š ObservaƧƵes:
⢠arquivo deve ser um PDF vÔlido.
⢠codigointerno_reserva ou idreserva relaciona o boleto a uma reserva/contrato jÔ existente no CVCRM.
Via JSON (mais simples, sem upload de arquivo)
Se não precisar anexar o PDF, basta enviar os dados bÔsicos via JSON:
curl -X 'POST' \
'https://integracao.cvcrm.com.br/api/v1/financeiro/boletos' \
-H 'accept: application/json' \
-H 'email: [email protected]' \
-H 'token: ' \
-H 'Content-Type: application/json' \
-d '{
"idcliente": "CLI001",
"idcontrato": "CTR001",
"nosso_numero": "1234567",
"valor": 1500.00,
"vencimento": "2025-10-10",
"linha_digitavel": "34191.79001 01043.510047 91020.150008 1 94880000015000"
}š ObservaƧƵes:
⢠idcliente e idcontrato são retornados quando você busca dados de contratos e clientes no CVCRM.
⢠nosso_numero é o identificador do boleto no ERP.
⢠linha_digitavel garante que o boleto seja validado e pago corretamente.
š Regra geral:
⢠Se o ERP gera o PDF, use multipart/form-data.
⢠Se só precisa registrar a cobrança, use JSON.
Envio de Extratos para o CVCRM
O extrato tambƩm nasce no ERP (origem do dado). Ele deve ser enviado ao CVCRM para que o cliente final possa visualizar no portal ou no aplicativo.
š¹ Envio com PDF em multipart/form-data
curl --request POST \
--url https://integracao.cvcrm.com.br/api/v1/financeiro/extratos \
--header 'accept: application/json' \
--header 'email: [email protected]' \
--header 'token: 79d965e5027b7423423f2471824e799949c75f9ce' \
--header 'content-type: multipart/form-data' \
--form idreserva=123 \
--form codigointerno_reserva=123 \
--form 'descricao=Extrato referente a Maio/2025' \
--form arquivo='@Fatura.pdf'š Campos principais:
⢠idreserva ou codigointerno_reserva ā identifica a reserva/contrato.
⢠descricao ā texto explicativo que serĆ” exibido ao cliente.
⢠arquivo ā PDF do extrato, enviado direto na requisição.
Envio somente em JSON (sem PDF)
Se o ERP não gera o PDF, mas quer apenas registrar o movimento:
curl --request POST \
--url https://integracao.cvcrm.com.br/api/v1/financeiro/extratos \
--header 'accept: application/json' \
--header 'email: [email protected]' \
--header 'token: ' \
--header 'Content-Type: application/json' \
--data '{
"idreserva": "123",
"descricao": "Extrato detalhado de Maio/2025",
"valor_total": 4500.00,
"periodo_inicio": "2025-05-01",
"periodo_fim": "2025-05-31"
}'š Nesse caso:
⢠valor_total, periodo_inicio e periodo_fim podem ser usados para exibir um resumo do extrato sem a necessidade de PDF.
⢠à opcional, mas recomendado preencher para dar mais contexto ao cliente.
Assim como nos boletos:
⢠Use multipart/form-data se precisar anexar o PDF.
⢠Use JSON se só quiser registrar os dados resumidos.
Enviar Informe de Rendimentos (IR)
Envio de Informe de Rendimentos (IR) para o CVCRM
O ERP gera o IR (geralmente em PDF) e envia ao CVCRM. O cliente final acessa esse documento pelo portal/aplicativo.
š¹ Envio com PDF (multipart/form-data)
curl --request POST \
--url https://integracao.cvcrm.com.br/api/v1/financeiro/informe-rendimentos \
--header 'accept: application/json' \
--header 'email: [email protected]' \
--header 'token: ' \
--header 'content-type: multipart/form-data' \
--form idreserva=12 \
--form codigointerno_reserva=12 \
--form ano=2024 \
--form 'descricao=Informe de rendimentos referente ao exercĆcio 2024' \
--form [email protected]š Campos principais:
⢠idreserva ou codigointerno_reserva ā identifica a reserva/contrato associado ao cliente.
⢠ano ā ano-base do informe de rendimentos.
⢠descricao ā texto explicativo exibido no portal do cliente.
⢠arquivo ā PDF oficial do informe de rendimentos.
Envio em JSON (sem PDF)
Caso nĆ£o precise anexar o documento, Ć© possĆvel registrar os dados bĆ”sicos via JSON:
curl --request POST \
--url https://integracao.cvcrm.com.br/api/v1/financeiro/informe-rendimentos \
--header 'accept: application/json' \
--header 'email: [email protected]' \
--header 'token: ' \
--header 'Content-Type: application/json' \
--data '{
"idreserva": "12",
"ano": 2024,
"descricao": "Informe de rendimentos exercĆcio 2024",
"rendimento_total": 48000.50,
"imposto_retido": 3200.75
}'š Nesse formato:
⢠rendimento_total e imposto_retido são opcionais, mas úteis para consulta rÔpida no sistema.
⢠O PDF continua sendo o meio mais comum, mas o JSON pode complementar com valores numéricos.
š Resumindo:
⢠ERP ā POST /financeiro/informe-rendimentos ā CVCRM ā Cliente final consulta no portal/app.
⢠Sempre relacione o IR a uma reserva/contrato (idreserva ou codigointerno_reserva).
⢠Prefira PDF (multipart/form-data), mas JSON é aceito para resumo.
Assim o CVCRM passa a exibir ao cliente final, via portal ou app, todas as informaƧƵes financeiras vindas do ERP.
ā
Resumo do Fluxo
⢠ERP ā CVCRM: Empreendimentos, etapas, blocos, unidades e dados financeiros.
⢠CVCRM ā ERP: Reservas e propostas (via webhook + GET).
⢠ERP ā Cliente final (via CVCRM): Boletos, extratos, informes de rendimento.
Updated 11 months ago