Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.
A integração CVCRM × Pagadoria de Comissões conecta o seu CVCRM ao Play2sell PAY para emitir o boleto da venda ao comprador e pagar as comissões automaticamente — com boleto, baixa, escrituração e comprovante refletidos de volta no seu CVCRM. A configuração é feita por telas, sem programação, e leva cerca de 15 minutos.
Gerar um token de API, criar 3 webhooks e garantir que a comissão use forma de pagamento Boleto.
2
No painel Play2sell
Conectar o CVCRM (credenciais + mapeamento de situações) e copiar a URL de webhook.
Passo
O que você faz
Resultado
1
Gera um token no CVCRM
a credencial de API da conexão
2
Conecta o CVCRM no painel Play2sell
integração configurada
3
Copia a sua URL de webhook
o endereço para o CVCRM avisar o Play2sell
4
Cria 3 webhooks no CVCRM
o CVCRM passa a notificar cada evento
5
Testa com uma venda
confirma o fluxo ponta a ponta
Pré-requisitos
Acesso administrativo ao gestor do seu CVCRM (suaempresa.cvcrm.com.br/gestor).
Um usuário de API dedicado (o CVCRM recomenda chamá-lo de “Integração”, para o histórico ficar atribuível). Se for usar o comprovante de repasse (Passo 2.4), esse usuário precisa ser gestor com senha de acesso ao painel.
As situações (status) que você usa para venda, escriturar e cancelamento/distrato já configuradas no CVCRM.
Play2sell PAY habilitado na sua conta (em dúvida, fale com o suporte).
O CVCRM é a fonte da verdade da venda, das partes, do split de comissão e da escrituração. O Play2sell PAY emite o boleto ao comprador, custodia os recursos e distribui as comissões. Os dois sistemas ficam em sincronia por webhooks (o CVCRM avisa quando algo muda) e write-backs (o Play2sell informa o resultado de volta no CVCRM).
1
O CVCRM cria o contrato
Ao registrar a venda, o CVCRM tem o valor, os beneficiários, o número de parcelas e os vencimentos.
2
O Play2sell emite o boleto
O Play2sell origina a venda e emite um boleto (com Pix) ao comprador.
3
O boleto volta para o CVCRM
O boleto emitido é gravado de volta na comissão da reserva (situação “Programado”).
4
Comprador paga → o CVCRM recebe a baixa
Na confirmação do pagamento, o Play2sell informa o status pago de volta ao CVCRM.
5
O CVCRM escritura → o repasse é liberado
Quando a comissão é escriturada, o Play2sell libera e distribui o repasse aos beneficiários.
6
O Play2sell paga e anexa o comprovante
Repasse via PIX a cada beneficiário; o comprovante é anexado à comissão no CVCRM. Em distrato, o valor é estornado.
Sincronização segura. Os webhooks do CVCRM são magros — carregam apenas um identificador (ex.: {"idreserva": 123}). O Play2sell usa esse aviso só como gatilho e busca o registro completo de volta na API do CVCRM, autenticado, antes de agir. Por isso um webhook forjado não injeta dado.
Identidade é por CPF/CNPJ, nunca por e‑mail. Compradores e beneficiários são resolvidos pelo documento. Garanta que corretores, imobiliária e demais beneficiários tenham CPF/CNPJ preenchido no CVCRM.
Passo 1 — Obter as credenciais no CVCRM (e‑mail + token)
A conexão precisa de três valores do seu CVCRM: domínio, e‑mail e token.
1
Abra Usuários Administrativos
No gestor do CVCRM, clique na engrenagem ⚙ (canto superior direito) e vá em Usuários Administrativos.
2
Abra as opções do usuário de integração
Localize o usuário de integração na lista e, em Opções, escolha Tokens.
Gestor CVCRM → Usuários Administrativos → lista de usuários
3
Gere e copie o token
Preencha a Descrição (ex.: Play2sell), escolha a Validade do Token e clique em Gerar token. O token aparece na Listagem de Tokens — em Ações → Copiar Token, copie-o.
Tela de Tokens — gerar e, em Ações → Copiar Token, copiar
4
Anote o e‑mail e o domínio
E‑mail: o e‑mail do usuário administrativo (precisa pertencer ao mesmo domínio do CVCRM).
Domínio: o subdomínio da sua conta — a parte antes de .cvcrm.com.br (ex.: em suaempresa.cvcrm.com.br, o domínio é suaempresa).
Você tem em mãos domínio, e‑mail e token — os três valores do Passo 2.
O token é sensível — trate como uma senha. Para trocá-lo depois, gere um novo no CVCRM e atualize a conexão no painel Play2sell.
Aqui você diz ao Play2sell qual situação do seu CVCRM corresponde a cada ação. Informe o nome (ou o id) da situação, exatamente como aparece no seu CVCRM.
Campo
Quando usar
Ação que dispara
Vendida
Situação da reserva que indica venda confirmada.
Origina a venda e emite o boleto.
Escriturada
(Opcional) Situação da reserva quando a escrituração é registrada na própria reserva.
Libera o repasse.
Distrato
(Opcional) Situação da reserva de cancelamento/distrato.
Estorno.
Escriturada (via comissão)
Use quando a escrituração no seu CVCRM é uma situação da comissão (ex.: “Escriturar”), e não da reserva.
Libera o repasse.
Cancelada (via comissão)
(Opcional) Situação da comissão que dispara distrato/estorno.
Estorno.
Use o label exato da sua instância. As situações são configuráveis e mudam de empresa para empresa — “Vendida”, “Venda Realizada”, “Aprovada” etc. Copie o texto como ele aparece no seu CVCRM.
Muitas operações registram a escrituração na comissão (situação “Escriturar”), não na reserva. Nesse caso, deixe Escriturada em branco e preencha Escriturada (via comissão).
O write-back é quando o Play2sell informa o resultado de volta no CVCRM. Estes campos dizem qual situação o seu CVCRM deve assumir em cada evento. São opcionais.
Campo
Significado
Exemplo
Comissão com boleto
Situação do pagamento da comissão quando o boleto é emitido.
Programado
Comissão paga
Situação do pagamento da comissão quando há baixa (pago).
Pago
Para a situação de saída, prefira sempre o nome (ex.: Programado, Pago) em vez do id. Os ids da situação de pagamento variam por instância e podem cair em valores enganosos.
Faz o Play2sell anexar o comprovante de pagamento (PDF) à comissão no CVCRM quando o repasse é pago. É opcional e exige login de gestor no CVCRM.
Campo
O que informar
Tipo do comprovante
O nome do tipo de arquivo cadastrado no seu CVCRM (ex.: Comprovante_Play2sell).
Senha de gestor
A senha do usuário gestor do CVCRM (o mesmo e‑mail de integração).
Credenciais que o comprovante exige. O anexo usa a API v3 do CVCRM, que — diferente do resto da integração (que usa o token) — faz login com e‑mail + senha no painel do gestor. Portanto:
O e‑mail de integração (Passo 2.1) precisa ser de um usuário gestor que entre no painel do CVCRM com senha.
Informe a senha desse usuário no campo Senha de gestor.
O acesso é renovado automaticamente — você não atualiza nada periodicamente. Se trocar a senha no CVCRM, atualize-a aqui também.
O tipo de comprovante precisa existir antes no seu CVCRM, e o nome aqui tem que ser idêntico ao cadastrado lá. Veja como criá-lo no Passo 4.2. Sem essa configuração, todo o resto funciona — só o anexo do comprovante não acontece.
Traduza o tipo de comissão do seu CVCRM para o papel do beneficiário no Play2sell. À esquerda, o texto como vem do CVCRM (ex.: Corretor); à direita, o papel: VENDEDOR, IMOBILIARIA, HOUSE, GERENTE, COORDENADOR ou PARCEIRO. Use ”+ Adicionar papel” para incluir quantos precisar.Clique em Conectar para salvar.
O CVCRM aparece como conectado no painel e abre a tela “CRM conectado” com a sua URL de webhook.
Ao clicar em Conectar, o Play2sell provisiona automaticamente o endpoint de recebimento e mostra a tela “CRM conectado” com a sua URL de webhook e um botão de copiar. Copie essa URL — você vai colá-la no CVCRM no próximo passo.
A URL é única da sua conta. Para recuperá-la depois, vá em Integrações → Endpoints — é onde os endpoints de webhook ficam listados.
Integrações → Endpoints — onde a URL fica disponível depois
Você tem a URL de webhook copiada — pronta para colar no CVCRM.
Você vai criar 3 webhooks — todos apontando para a mesma URL (a do Passo 3). O que muda em cada um é a Funcionalidade e a situação do gatilho:
#
Funcionalidade
Situação do gatilho (exemplo)
Campo no painel (Passo 2.2)
O que dispara
1
Reserva
venda / enviar à pagadoria
Vendida
originação + emissão do boleto
2
Comissão
escriturar
Escriturada (via comissão)
libera o repasse (PIX)
3
Comissão
cancelamento
Cancelada (via comissão)
cancela o boleto não pago / estorna o pago
Para cada um, clique em ”+ Criar novo Webhook” e preencha o formulário:
Campo do CVCRM
O que informar
Nome
Um rótulo claro, à sua escolha (ex.: Pagadoria — venda).
Funcionalidade
Reserva (webhook 1) ou Comissão (webhooks 2 e 3).
Workflow
Aparece quando a Funcionalidade tem mais de um fluxo de situações. Em Comissão há mais de um workflow — escolha o que contém a situação do gatilho (“Escriturar” / “Cancelada”); na dúvida, abra o seletor e veja em qual workflow a situação aparece. Em Reserva normalmente há só um.
Gatilho
A situação que dispara o envio. Use o label exato da sua instância (a mesma do Passo 2.2).
Forma de envio
Deixe o padrão.
Endereço
Cole a URL de webhook copiada no Passo 3.
Ativo no painel
Deixe ativo — sem isso, o webhook não dispara.
Cadastro de um novo webhook no CVCRM
1
Webhook 1 — Originação (obrigatório)
Funcionalidade Reserva, na situação que marca a venda / o envio para a pagadoria (a mesma do campo Vendida, Passo 2.2). Faz o Play2sell originar a venda e emitir o boleto.
2
Webhook 2 — Escrituração → libera o repasse (obrigatório)
Funcionalidade Comissão, na situação que indica escriturar/liberar — ex.: “Escriturar” (a mesma do campo Escriturada (via comissão), Passo 2.2). Libera o repasse e paga os beneficiários via PIX.
3
Webhook 3 — Cancelamento / Distrato (recomendado)
Funcionalidade Comissão, na situação de cancelamento — ex.: “Cancelada” (a mesma do campo Cancelada (via comissão), Passo 2.2). Cancela o boleto não pago ou estorna o pago, conforme o estado.
Vincule os webhooks ao usuário de integração (“Integração”) — assim as alterações feitas pela automação ficam atribuíveis no histórico do CVCRM.
Variação por instância. Se o seu CVCRM registra a escrituração ou o cancelamento na própria reserva (e não na comissão), crie os webhooks 2 e 3 com Funcionalidade Reserva e, no Passo 2.2, use os campos Escriturada e Distrato em vez dos “(via comissão)”. O comportamento é o mesmo.
Confirme que os 3 webhooks estão disparando. Na lista de webhooks, a coluna Transações conta cada envio. Se continuar 0 depois de mover um registro para a situação do gatilho, revise: a Funcionalidade, a situação (deve bater com o Passo 2.2), se o webhook está Ativo no painel e se o Endereço é a URL exata do Passo 3 (sem espaços).
Faça isto apenas se você habilitou o Comprovante de repasse no Passo 2.4. É uma configuração única que cria o tipo de arquivo usado para anexar o PDF do comprovante à comissão.No gestor do CVCRM, vá em Configurações → Tipos de Arquivos de Pagamento Comissão, clique em ”+ Criar novo Tipo” e preencha:
Campo
O que informar
Nome
O nome do tipo (ex.: Comprovante_Play2sell). Use exatamente este nome no campo “Tipo do comprovante” do Passo 2.4.
Ativo no painel
Ativo.
Tipo Pessoa
Física / Jurídica.
Obrigatório
Não — o Play2sell anexa o comprovante automaticamente.
CVCRM → Tipos de Arquivos de Pagamento Comissão → Criar novo Tipo
Para o boleto emitido pelo Play2sell aparecer como o recebível da comissão (e dar baixa corretamente), os pagamentos da comissão no CVCRM precisam usar a forma de pagamento “Boleto”.Para conferir: em Financeiro → Comissões, abra uma comissão e clique no ícone $ (Pagamentos). Na seção Pagamentos, cada parcela do beneficiário tem a coluna “Forma de pagamento” — ela deve estar como Boleto.
Se a parcela estiver com outra forma (ex.: “Transferência bancária”), o boleto que emitimos não casa com a comissão. Ajuste a forma para Boleto na regra/condição de comissão do seu CVCRM.
Comissão → Pagamentos: cada parcela com Forma de pagamento = Boleto (situação “Programado” após a emissão)
4.4 — Escolher quem entra no boleto (“Enviar para Pagadoria”)
Na regra de comissão do CVCRM, cada comissionado tem o campo Enviar para Pagadoria (Sim ou Não). É ele que decide quem o Play2sell cobra e paga.Para conferir: em Financeiro → Configuração de Comissões → Regras da comissão, abra a linha do comissionado em Editar e veja o campo Enviar para Pagadoria.
Como está a regra
O que o Play2sell faz
Pelo menos um comissionado com Sim
Origina a venda. O boleto de cada vencimento é a soma das comissões marcadas com Sim.
Comissionado com Não
Fica fora do boleto e não recebe pelo Play2sell na escrituração. Você paga esse comissionado por fora.
Todos com Não
Nenhum boleto é emitido. A reserva aparece como Nada a cobrar no painel — não é erro.
Exemplo. Comissão total de R10.000comtre^scomissionados:oprimeirorecebeR 5.000 (Sim), o segundo R2.000(∗∗Na~o∗∗)eoterceiroR 3.000 (Sim). O boleto do comprador sai de R$ 8.000, e na escrituração só o primeiro e o terceiro recebem.
No máximo 6 comissionados com “Sim” por vencimento. A regra pode ter mais comissionados que isso, desde que só até 6 estejam com Sim em cada vencimento.
Mudou a opção depois que a reserva passou? Editar “Enviar para Pagadoria” no CVCRM não avisa o Play2sell. Depois de ajustar, use Gerar boleto no painel — veja Como reprocessar uma reserva em Solução de problemas.
Quando o mesmo comissionado aparece em mais de uma linha da regra (por exemplo, comissão e prêmio), deixe todas as linhas dele com a mesma opção. Com uma linha em Sim e outra em Não, o Play2sell não tem como saber qual parcela cobrar e não emite o boleto.
Não. Toda a configuração é feita por telas, no gestor do CVCRM e no painel do Play2sell. Você só precisa de acesso administrativo aos dois sistemas. Nenhum código é necessário.
Quais webhooks o CVCRM precisa ter?
Três, todos apontando para a mesma URL: (1) Reserva na situação de venda → originação; (2) Comissão na situação “Escriturar” → libera o repasse; (3) Comissão na situação de cancelamento → estorno.
Como o valor da comissão é calculado?
O CVCRM mostra a comissão bruta. O Play2sell aplica a taxa de serviço (em geral 1–3%) e o beneficiário recebe o líquido via PIX. O cálculo usa o valor da comissão, não o da venda.
A integração funciona com comissão menor que 100% da venda?
Sim. O boleto e o split são calculados sobre o valor da comissão, então qualquer percentual funciona.
Em quanto tempo o corretor recebe?
Após a comissão ser escriturada no CVCRM, o repasse via PIX é processado em segundos e cai na conta do beneficiário.
O comprovante de repasse é obrigatório?
Não, é opcional. Sem ele, o repasse é pago normalmente; apenas o anexo do PDF na comissão do CVCRM não acontece.
Verifique no CVCRM: o webhook está Ativo? A Funcionalidade (Reserva/Comissão) e a situação do gatilho batem com o que você mapeou no painel? O Endereço é a URL exata copiada no Passo 3 (sem espaços/quebras)?
O boleto não apareceu na comissão
Confirme que a forma de pagamento da comissão é Boleto (Passo 4.3) e que a situação de saída “Comissão com boleto” está preenchida (ex.: Programado). Depois de ajustar a configuração, use Gerar boleto no painel (veja Como reprocessar uma reserva, abaixo).
A reserva ficou como "Nada a cobrar"
Todos os comissionados da regra estavam com Enviar para Pagadoria = Não quando a reserva chegou, então não havia o que cobrar. Se era para cobrar, mude para Sim os comissionados certos (Passo 4.4) e use Gerar boleto no painel.
Como reprocessar uma reserva
No painel Play2sell, vá em Integrações → Geral, no cartão Integração CRM/ERP, e abra Eventos recentes. Nas linhas de reserva com status Falha ou Nada a cobrar aparece a ação Gerar boleto.Ao confirmar, o Play2sell lê a reserva no CVCRM como ela está agora e emite o boleto com as comissões marcadas com Sim — mesmo que a reserva já tenha saído da situação que gera o boleto. Se a reserva estiver em situação de distrato, vale o distrato. A ação aparece para quem tem permissão de gerenciar pagamentos.
Um beneficiário não foi encontrado / repasse não saiu
A identidade é por CPF/CNPJ, nunca por e‑mail. Garanta que o documento do beneficiário está preenchido e correto no CVCRM.
O status pago não refletiu na hora
Confirmações de pagamento e write-backs podem levar alguns instantes. Se persistir, fale com o suporte.
Esta seção é para times técnicos. A configuração acima não exige nada daqui.
Famílias de API do CVCRM
Família
Uso
Observação
v1 (/api/v1/<módulo>/*)
Atual — usada pela integração
Auth por headers email + token; 200 req/min
CVIO (/api/cvio/*)
Legado
Em depreciação — o CVCRM está padronizando para v1
CVDW (/api/v1/cvdw/*)
BI / data warehouse
Contrato pago à parte; 20 req/min; retorna 403 se não contratado
Sincronização e idempotência
Webhook magro → pull-back: o webhook carrega só um id; o Play2sell busca o registro completo via GET autenticado antes de agir.
Idempotência: cada contrato mapeia para uma chave estável derivada do id da reserva (cvcrm:{idreserva}); reentrega nunca duplica a venda.
Ordem: se a escrituração chega antes de a originação concluir, é adiada e reprocessada.
Atenções (gotchas)
O CVCRM pode retornar HTTP 200 com codigo:404 no corpo para rotas inexistentes — sempre confira o campo codigo, não só o status HTTP.
Filtros de data em alguns endpoints são ignorados — janele no lado do cliente.
Datas no GET de parcelas usam DD/MM/AAAA.
Existem dois workflows de situação distintos — o da comissão e o do pagamento da comissão — com ids que podem colidir. Por isso o write-back de situação usa o nome (“Programado”/“Pago”), não o id.
Precisa de ajuda para mapear as situações da sua instância? Fale com o suporte em suporte@play2sell.com com o seu domínio e a lista de situações que você usa para vendida / escriturar / distrato.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SalesOS","colors":{"primary":"#e20c18","light":"#e30647","dark":"#c50a14"},"logo":{"light":"https://mintcdn.com/play2sell/FiU6GxxU6y37uxdh/logo/light.png?fit=max\u0026auto=format\u0026n=FiU6GxxU6y37uxdh\u0026q=85\u0026s=2be3dc625b663625442ce45235218008","dark":"https://mintcdn.com/play2sell/FiU6GxxU6y37uxdh/logo/dark.png?fit=max\u0026auto=format\u0026n=FiU6GxxU6y37uxdh\u0026q=85\u0026s=1a601e82f18c0ba66d009e8f82284d14"},"favicon":"https://mintcdn.com/play2sell/kLdQdLmEQ4l-mHv0/favicon.png?fit=max\u0026auto=format\u0026n=kLdQdLmEQ4l-mHv0\u0026q=85\u0026s=ab0e9a29df9c103178a1307f9f033fec","navbar":{"links":[{"href":"mailto:suporte@play2sell.com","label":"Support"}],"primary":{"type":"button","label":"Open SalesOS","href":"https://app.play2sell.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/play2sell","website":"https://play2sell.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://play2sell.com"}]},"languages":[{"language":"en","href":""},{"language":"pt","href":"pt"},{"language":"es","href":"es"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"play2sell","hasAudioNarration":false,"actualSubdomain":"play2sell","customDomains":["docs.play2sell.com"],"gitSource":{"type":"github","owner":"play2sellsa","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6acfeb853f6921de90e0ea8d","collectionId":"86aad7e7-e9c8-42e2-89df-c78905bd927c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6acfeb853f6921de90e0ea8d"},"entitlements":{},"buildId":"6acfeb853f6921de90e0ea8d","clientVersion":"0.0.3879","searchFilterCounts":[{"language":"en","tag":"API \u0026 Integrations","count":14},{"language":"es","tag":"API e Integraciones","count":14},{"language":"pt","tag":"API \u0026 Integrações","count":14},{"language":"en","tag":"Administration","count":12},{"language":"en","tag":"Integrations","count":12},{"language":"es","tag":"Administración","count":12},{"language":"es","tag":"Integraciones","count":12},{"language":"pt","tag":"Administração","count":12},{"language":"pt","tag":"Integrações","count":12},{"language":"en","tag":"User Guide","count":11},{"language":"es","tag":"Guía del Usuario","count":11},{"language":"pt","tag":"Guia do Usuário","count":11},{"language":"en","tag":"FAQ \u0026 Support","count":9},{"language":"es","tag":"FAQ y Soporte","count":9},{"language":"pt","tag":"FAQ \u0026 Suporte","count":9},{"language":"en","tag":"Setup","count":4},{"language":"en","tag":"FAQ","count":4},{"language":"es","tag":"Configuración","count":4},{"language":"es","tag":"Preguntas Frecuentes","count":4},{"language":"pt","tag":"Configuração","count":4},{"language":"pt","tag":"Perguntas Frequentes","count":4},{"language":"en","tag":"Billing","count":3},{"language":"en","tag":"Customization","count":3},{"language":"en","tag":"Getting Started","count":3},{"language":"es","tag":"Facturación","count":3},{"language":"es","tag":"Personalización","count":3},{"language":"es","tag":"Empezando","count":3},{"language":"pt","tag":"Faturamento","count":3},{"language":"pt","tag":"Personalização","count":3},{"language":"pt","tag":"Começando","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pt/api/integrations/cvcrm","slug":"/pt/api/integrations/cvcrm","pageMetadata":{"title":"Integração CVCRM — Pagadoria de Comissões","description":"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.","icon":"building","href":"/pt/api/integrations/cvcrm"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,annotation:`annotation`,code:`code`,li:`li`,math:`math`,mi:`mi`,mn:`mn`,mo:`mo`,mover:`mover`,mrow:`mrow`,p:`p`,semantics:`semantics`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Check,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Check)_missingMdxReference(`Check`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`integração CVCRM × Pagadoria de Comissões`}),` conecta o seu `,_jsx(_components.strong,{children:`CVCRM`}),` ao `,_jsx(_components.strong,{children:`Play2sell PAY`}),` para emitir o boleto da venda ao comprador e `,_jsx(_components.strong,{children:`pagar as comissões automaticamente`}),` — com boleto, baixa, escrituração e comprovante refletidos de volta no seu CVCRM. A configuração é feita `,_jsx(_components.strong,{children:`por telas, sem programação`}),`, e leva cerca de `,_jsx(_components.strong,{children:`15 minutos`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`o-que-você-vai-configurar`,children:`O que você vai configurar`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`No CVCRM`,children:_jsxs(_components.p,{children:[`Gerar um `,_jsx(_components.strong,{children:`token de API`}),`, criar `,_jsx(_components.strong,{children:`3 webhooks`}),` e garantir que a comissão use `,_jsx(_components.strong,{children:`forma de pagamento Boleto`}),`.`]})}),_jsx(Step,{title:`No painel Play2sell`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Conectar`}),` o CVCRM (credenciais + mapeamento de situações) e `,_jsx(_components.strong,{children:`copiar a URL de webhook`}),`.`]})})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Passo`}),_jsx(_components.th,{children:`O que você faz`}),_jsx(_components.th,{children:`Resultado`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`1`})}),_jsx(_components.td,{children:`Gera um token no CVCRM`}),_jsx(_components.td,{children:`a credencial de API da conexão`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`2`})}),_jsx(_components.td,{children:`Conecta o CVCRM no painel Play2sell`}),_jsx(_components.td,{children:`integração configurada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`3`})}),_jsx(_components.td,{children:`Copia a sua URL de webhook`}),_jsx(_components.td,{children:`o endereço para o CVCRM avisar o Play2sell`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`4`})}),_jsx(_components.td,{children:`Cria 3 webhooks no CVCRM`}),_jsx(_components.td,{children:`o CVCRM passa a notificar cada evento`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`5`})}),_jsx(_components.td,{children:`Testa com uma venda`}),_jsx(_components.td,{children:`confirma o fluxo ponta a ponta`})]})]})]}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Pré-requisitos`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Acesso `,_jsx(_components.strong,{children:`administrativo`}),` ao gestor do seu CVCRM (`,_jsx(_components.code,{children:`suaempresa.cvcrm.com.br/gestor`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Um `,_jsx(_components.strong,{children:`usuário de API`}),` dedicado (o CVCRM recomenda chamá-lo de `,_jsx(_components.strong,{children:`“Integração”`}),`, para o histórico ficar atribuível). Se for usar o `,_jsx(_components.strong,{children:`comprovante de repasse`}),` (Passo 2.4), esse usuário precisa ser `,_jsx(_components.strong,{children:`gestor com senha de acesso ao painel`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`As `,_jsx(_components.strong,{children:`situações`}),` (status) que você usa para `,_jsx(_components.strong,{children:`venda`}),`, `,_jsx(_components.strong,{children:`escriturar`}),` e `,_jsx(_components.strong,{children:`cancelamento/distrato`}),` já configuradas no CVCRM.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Play2sell PAY`}),` habilitado na sua conta (em dúvida, fale com o suporte).`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`como-funciona-a-integração`,children:`Como funciona a integração?`}),`\n`,_jsxs(_components.p,{children:[`O `,_jsx(_components.strong,{children:`CVCRM é a fonte da verdade`}),` da venda, das partes, do split de comissão e da escrituração. O `,_jsx(_components.strong,{children:`Play2sell PAY`}),` emite o boleto ao comprador, custodia os recursos e distribui as comissões. Os dois sistemas ficam em sincronia por `,_jsx(_components.strong,{children:`webhooks`}),` (o CVCRM avisa quando algo muda) e `,_jsx(_components.strong,{children:`write-backs`}),` (o Play2sell informa o resultado de volta no CVCRM).`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`O CVCRM cria o contrato`,children:_jsx(_components.p,{children:`Ao registrar a venda, o CVCRM tem o valor, os beneficiários, o número de parcelas e os vencimentos.`})}),_jsx(Step,{title:`O Play2sell emite o boleto`,children:_jsxs(_components.p,{children:[`O Play2sell origina a venda e emite um `,_jsx(_components.strong,{children:`boleto (com Pix)`}),` ao comprador.`]})}),_jsx(Step,{title:`O boleto volta para o CVCRM`,children:_jsxs(_components.p,{children:[`O boleto emitido é gravado de volta na `,_jsx(_components.strong,{children:`comissão`}),` da reserva (situação “Programado”).`]})}),_jsx(Step,{title:`Comprador paga → o CVCRM recebe a baixa`,children:_jsxs(_components.p,{children:[`Na confirmação do pagamento, o Play2sell informa o status `,_jsx(_components.strong,{children:`pago`}),` de volta ao CVCRM.`]})}),_jsx(Step,{title:`O CVCRM escritura → o repasse é liberado`,children:_jsx(_components.p,{children:`Quando a comissão é escriturada, o Play2sell libera e distribui o repasse aos beneficiários.`})}),_jsx(Step,{title:`O Play2sell paga e anexa o comprovante`,children:_jsxs(_components.p,{children:[`Repasse via `,_jsx(_components.strong,{children:`PIX`}),` a cada beneficiário; o `,_jsx(_components.strong,{children:`comprovante`}),` é anexado à comissão no CVCRM. Em distrato, o valor é estornado.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sincronização segura.`}),` Os webhooks do CVCRM são `,_jsx(_components.strong,{children:`magros`}),` — carregam apenas um identificador (ex.: `,_jsx(_components.code,{children:`{\"idreserva\": 123}`}),`). O Play2sell usa esse aviso só como gatilho e `,_jsx(_components.strong,{children:`busca o registro completo de volta`}),` na API do CVCRM, autenticado, antes de agir. Por isso um webhook forjado não injeta dado.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Identidade é por CPF/CNPJ, nunca por e‑mail.`}),` Compradores e beneficiários são resolvidos pelo `,_jsx(_components.strong,{children:`documento`}),`. Garanta que corretores, imobiliária e demais beneficiários tenham CPF/CNPJ preenchido no CVCRM.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`passo-1-—-obter-as-credenciais-no-cvcrm-e‑mail-+-token`,children:`Passo 1 — Obter as credenciais no CVCRM (e‑mail + token)`}),`\n`,_jsxs(_components.p,{children:[`A conexão precisa de três valores do seu CVCRM: `,_jsx(_components.strong,{children:`domínio`}),`, `,_jsx(_components.strong,{children:`e‑mail`}),` e `,_jsx(_components.strong,{children:`token`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Abra Usuários Administrativos`,children:_jsxs(_components.p,{children:[`No gestor do CVCRM, clique na engrenagem ⚙ (canto superior direito) e vá em `,_jsx(_components.strong,{children:`Usuários Administrativos`}),`.`]})}),_jsxs(Step,{title:`Abra as opções do usuário de integração`,children:[_jsxs(_components.p,{children:[`Localize o usuário de integração na lista e, em `,_jsx(_components.strong,{children:`Opções`}),`, escolha `,_jsx(_components.strong,{children:`Tokens`}),`.`]}),_jsx(Frame,{caption:`Gestor CVCRM → Usuários Administrativos → lista de usuários`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=52da52556f8d82a578af4adc3efcff43`,alt:`Página Usuários Administrativos do CVCRM`,\"data-og-width\":`1650`,width:`1650`,\"data-og-height\":`544`,height:`544`,\"data-path\":`images/integrations/cvcrm/09-cvcrm-usuarios.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=2f0dabeb55d01753ff21d37422b04eba 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=5dfc055a978a55960d070f032cc7c2ca 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=d79645e88b9cf8f7e412c44b66878604 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=c16d00a99e68e4f1e96485a29021763c 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=17cc5d3328e8de89c0e8b698cf1db119 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/09-cvcrm-usuarios.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=82b56327fe4ebbd6ba79093ebe9ffb69 2500w`})})]}),_jsxs(Step,{title:`Gere e copie o token`,children:[_jsxs(_components.p,{children:[`Preencha a `,_jsx(_components.strong,{children:`Descrição`}),` (ex.: `,_jsx(_components.code,{children:`Play2sell`}),`), escolha a `,_jsx(_components.strong,{children:`Validade do Token`}),` e clique em `,_jsx(_components.strong,{children:`Gerar token`}),`. O token aparece na `,_jsx(_components.strong,{children:`Listagem de Tokens`}),` — em `,_jsx(_components.strong,{children:`Ações → Copiar Token`}),`, copie-o.`]}),_jsx(Frame,{caption:`Tela de Tokens — gerar e, em Ações → Copiar Token, copiar`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=d722dfbaad33d15838e2bfd866a31fa7`,alt:`Geração e cópia do token no CVCRM (Ações → Copiar Token)`,\"data-og-width\":`1658`,width:`1658`,\"data-og-height\":`1272`,height:`1272`,\"data-path\":`images/integrations/cvcrm/10-cvcrm-token.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=814e5b78c6bf952e6b5fbdc432b96533 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=a59b1c36b6ccb9efd4d11bbbe3a55ab4 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=7214f8224ff3cce0f047507d43eba567 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=6781a266514c592d458585cec37f8f07 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=d79a5a5d03a38dbfb3ff87e23f972783 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/10-cvcrm-token.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=52ec31ce5d94276ee33ddade2140c00a 2500w`})})]}),_jsx(Step,{title:`Anote o e‑mail e o domínio`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`E‑mail:`}),` o e‑mail do usuário administrativo (precisa pertencer ao mesmo domínio do CVCRM).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Domínio:`}),` o subdomínio da sua conta — a parte `,_jsx(_components.strong,{children:`antes`}),` de `,_jsx(_components.code,{children:`.cvcrm.com.br`}),` (ex.: em `,_jsx(_components.code,{children:`suaempresa.cvcrm.com.br`}),`, o domínio é `,_jsx(_components.code,{children:`suaempresa`}),`).`]}),`\n`]})})]}),`\n`,_jsxs(Check,{children:[`Você tem em mãos `,_jsx(_components.strong,{children:`domínio`}),`, `,_jsx(_components.strong,{children:`e‑mail`}),` e `,_jsx(_components.strong,{children:`token`}),` — os três valores do Passo 2.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`O `,_jsx(_components.strong,{children:`token é sensível`}),` — trate como uma senha. Para trocá-lo depois, gere um novo no CVCRM e atualize a conexão no painel Play2sell.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`passo-2-—-conectar-no-painel-play2sell`,children:`Passo 2 — Conectar no painel Play2sell`}),`\n`,_jsxs(_components.p,{children:[`No painel Play2sell, vá em `,_jsx(_components.strong,{children:`Integrações → Conectores`}),`, encontre o `,_jsx(_components.strong,{children:`CVCRM`}),` e clique em `,_jsx(_components.strong,{children:`Conectar`}),`.`]}),`\n`,_jsx(Frame,{caption:`Integrações → Conectores → CVCRM`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=32092647dee9db29cb24f393f7f89606`,alt:`Card do conector CVCRM`,\"data-og-width\":`1320`,width:`1320`,\"data-og-height\":`854`,height:`854`,\"data-path\":`images/integrations/cvcrm/01-conectores.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=433ca2eb4fd721d94e9ce2f67e127d9e 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b0b4bcc4f4921a2be89d66a8f4fd1ec7 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=eb829f2034de28dd1835dd8bc2848d19 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=f35ceec1269be95f7e94e8973c3e23f8 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=a86e03521b50ed372abd0cc9132f21b7 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/01-conectores.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=7f42b30a72aeed0e952619ae39caeed4 2500w`})}),`\n`,_jsx(_components.p,{children:`O formulário tem cinco blocos. Preencha cada um conforme abaixo.`}),`\n`,_jsx(Frame,{caption:`Modal “Conectar CRM/ERP” — formulário completo`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=55be8ae29645a865c7c64eb727d0516f`,alt:`Formulário Conectar CRM/ERP: credenciais, mapeamento de situações, situação de saída e comprovante de repasse`,\"data-og-width\":`670`,width:`670`,\"data-og-height\":`1160`,height:`1160`,\"data-path\":`images/integrations/cvcrm/02-conectar-modal.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b8d0119956e25ec9997775f7b65f590c 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=96a04f8370aa9df65bbba530b54d4c6f 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b8d18aa01513bd63b161639622638d31 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=eb396b75a096786a58b4e3bf292a2b04 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=a70cc714ee9547d2a8c89c6fdce8977a 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/02-conectar-modal.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=f5c9eadae5db6aa1eb071440102802e6 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`2-1-—-credenciais`,children:`2.1 — Credenciais`}),`\n`,_jsx(_components.p,{children:`Preencha os três valores do Passo 1:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`O que informar`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Domínio`})}),_jsxs(_components.td,{children:[`O subdomínio antes de `,_jsx(_components.code,{children:`.cvcrm.com.br`}),` (ex.: `,_jsx(_components.code,{children:`suaempresa`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`E‑mail de integração`})}),_jsx(_components.td,{children:`O e‑mail do usuário de API.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Token`})}),_jsx(_components.td,{children:`O token gerado no CVCRM (gravado de forma segura; não é exibido depois).`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`2-2-—-mapeamento-de-situações`,children:`2.2 — Mapeamento de situações`}),`\n`,_jsxs(_components.p,{children:[`Aqui você diz ao Play2sell `,_jsx(_components.strong,{children:`qual situação do seu CVCRM`}),` corresponde a cada ação. Informe o `,_jsx(_components.strong,{children:`nome`}),` (ou o id) da situação, `,_jsx(_components.strong,{children:`exatamente`}),` como aparece no seu CVCRM.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`Quando usar`}),_jsx(_components.th,{children:`Ação que dispara`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Vendida`})}),_jsxs(_components.td,{children:[`Situação da `,_jsx(_components.strong,{children:`reserva`}),` que indica venda confirmada.`]}),_jsx(_components.td,{children:`Origina a venda e emite o boleto.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Escriturada`})}),_jsxs(_components.td,{children:[`(Opcional) Situação da `,_jsx(_components.strong,{children:`reserva`}),` quando a escrituração é registrada na própria reserva.`]}),_jsx(_components.td,{children:`Libera o repasse.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Distrato`})}),_jsxs(_components.td,{children:[`(Opcional) Situação da `,_jsx(_components.strong,{children:`reserva`}),` de cancelamento/distrato.`]}),_jsx(_components.td,{children:`Estorno.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Escriturada (via comissão)`})}),_jsxs(_components.td,{children:[`Use quando a escrituração no seu CVCRM é uma situação da `,_jsx(_components.strong,{children:`comissão`}),` (ex.: “Escriturar”), e não da reserva.`]}),_jsx(_components.td,{children:`Libera o repasse.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cancelada (via comissão)`})}),_jsxs(_components.td,{children:[`(Opcional) Situação da `,_jsx(_components.strong,{children:`comissão`}),` que dispara distrato/estorno.`]}),_jsx(_components.td,{children:`Estorno.`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Use o `,_jsx(_components.strong,{children:`label exato`}),` da sua instância. As situações são configuráveis e mudam de empresa para empresa — “Vendida”, “Venda Realizada”, “Aprovada” etc. Copie o texto como ele aparece no seu CVCRM.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Muitas operações registram a escrituração `,_jsx(_components.strong,{children:`na comissão`}),` (situação “Escriturar”), não na reserva. Nesse caso, deixe `,_jsx(_components.strong,{children:`Escriturada`}),` em branco e preencha `,_jsx(_components.strong,{children:`Escriturada (via comissão)`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`2-3-—-situação-de-saída-write-back`,children:`2.3 — Situação de saída (write-back)`}),`\n`,_jsxs(_components.p,{children:[`O `,_jsx(_components.strong,{children:`write-back`}),` é quando o Play2sell informa o resultado de volta no CVCRM. Estes campos dizem `,_jsx(_components.strong,{children:`qual situação o seu CVCRM deve assumir`}),` em cada evento. São `,_jsx(_components.strong,{children:`opcionais`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`Significado`}),_jsx(_components.th,{children:`Exemplo`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Comissão com boleto`})}),_jsxs(_components.td,{children:[`Situação do pagamento da comissão `,_jsx(_components.strong,{children:`quando o boleto é emitido`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Programado`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Comissão paga`})}),_jsxs(_components.td,{children:[`Situação do pagamento da comissão `,_jsx(_components.strong,{children:`quando há baixa`}),` (pago).`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Pago`})})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Para a situação de saída, prefira sempre o `,_jsx(_components.strong,{children:`nome`}),` (ex.: `,_jsx(_components.code,{children:`Programado`}),`, `,_jsx(_components.code,{children:`Pago`}),`) em vez do id. Os ids da situação de pagamento variam por instância e podem cair em valores enganosos.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`2-4-—-comprovante-de-repasse-opcional`,children:`2.4 — Comprovante de repasse (opcional)`}),`\n`,_jsxs(_components.p,{children:[`Faz o Play2sell `,_jsx(_components.strong,{children:`anexar o comprovante de pagamento (PDF)`}),` à comissão no CVCRM quando o repasse é pago. É `,_jsx(_components.strong,{children:`opcional`}),` e exige login de `,_jsx(_components.strong,{children:`gestor`}),` no CVCRM.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`O que informar`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Tipo do comprovante`})}),_jsxs(_components.td,{children:[`O `,_jsx(_components.strong,{children:`nome do tipo de arquivo`}),` cadastrado no seu CVCRM (ex.: `,_jsx(_components.code,{children:`Comprovante_Play2sell`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Senha de gestor`})}),_jsxs(_components.td,{children:[`A `,_jsx(_components.strong,{children:`senha`}),` do usuário gestor do CVCRM (o mesmo `,_jsx(_components.strong,{children:`e‑mail de integração`}),`).`]})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Credenciais que o comprovante exige.`}),` O anexo usa a `,_jsx(_components.strong,{children:`API v3`}),` do CVCRM, que — diferente do resto da integração (que usa o `,_jsx(_components.strong,{children:`token`}),`) — faz `,_jsx(_components.strong,{children:`login com e‑mail + senha`}),` no painel do gestor. Portanto:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`O `,_jsx(_components.strong,{children:`e‑mail de integração`}),` (Passo 2.1) precisa ser de um `,_jsx(_components.strong,{children:`usuário gestor`}),` que entre no painel do CVCRM `,_jsx(_components.strong,{children:`com senha`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Informe a `,_jsx(_components.strong,{children:`senha desse usuário`}),` no campo `,_jsx(_components.strong,{children:`Senha de gestor`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`O acesso é `,_jsx(_components.strong,{children:`renovado automaticamente`}),` — você não atualiza nada periodicamente. Se trocar a senha no CVCRM, atualize-a aqui também.`]}),`\n`]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`O `,_jsx(_components.strong,{children:`tipo de comprovante precisa existir antes`}),` no seu CVCRM, e o `,_jsx(_components.strong,{children:`nome`}),` aqui tem que ser `,_jsx(_components.strong,{children:`idêntico`}),` ao cadastrado lá. Veja como criá-lo no `,_jsx(_components.strong,{children:`Passo 4.2`}),`. Sem essa configuração, todo o resto funciona — só o anexo do comprovante não acontece.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`2-5-—-mapeamento-de-papéis-opcional`,children:`2.5 — Mapeamento de papéis (opcional)`}),`\n`,_jsxs(_components.p,{children:[`Traduza o `,_jsx(_components.strong,{children:`tipo de comissão do seu CVCRM`}),` para o papel do beneficiário no Play2sell. À esquerda, o texto como vem do CVCRM (ex.: `,_jsx(_components.code,{children:`Corretor`}),`); à direita, o papel: `,_jsx(_components.code,{children:`VENDEDOR`}),`, `,_jsx(_components.code,{children:`IMOBILIARIA`}),`, `,_jsx(_components.code,{children:`HOUSE`}),`, `,_jsx(_components.code,{children:`GERENTE`}),`, `,_jsx(_components.code,{children:`COORDENADOR`}),` ou `,_jsx(_components.code,{children:`PARCEIRO`}),`. Use `,_jsx(_components.strong,{children:`”+ Adicionar papel”`}),` para incluir quantos precisar.`]}),`\n`,_jsxs(_components.p,{children:[`Clique em `,_jsx(_components.strong,{children:`Conectar`}),` para salvar.`]}),`\n`,_jsxs(Check,{children:[`O CVCRM aparece como `,_jsx(_components.strong,{children:`conectado`}),` no painel e abre a tela `,_jsx(_components.strong,{children:`“CRM conectado”`}),` com a sua URL de webhook.`]}),`\n`,_jsx(Heading,{level:`2`,id:`passo-3-—-copiar-a-url-de-webhook`,children:`Passo 3 — Copiar a URL de webhook`}),`\n`,_jsxs(_components.p,{children:[`Ao clicar em `,_jsx(_components.strong,{children:`Conectar`}),`, o Play2sell `,_jsx(_components.strong,{children:`provisiona automaticamente`}),` o endpoint de recebimento e mostra a tela `,_jsx(_components.strong,{children:`“CRM conectado”`}),` com a sua `,_jsx(_components.strong,{children:`URL de webhook`}),` e um botão de `,_jsx(_components.strong,{children:`copiar`}),`. Copie essa URL — você vai colá-la no CVCRM no próximo passo.`]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[`A URL é `,_jsx(_components.strong,{children:`única da sua conta`}),`. Para recuperá-la depois, vá em `,_jsx(_components.strong,{children:`Integrações → Endpoints`}),` — é onde os endpoints de webhook ficam listados.`]}),_jsx(Frame,{caption:`Integrações → Endpoints — onde a URL fica disponível depois`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=9464f18e7d1cbb6e2b6be3a86582ffa8`,alt:`Página de Endpoints do painel Play2sell`,\"data-og-width\":`1680`,width:`1680`,\"data-og-height\":`1298`,height:`1298`,\"data-path\":`images/integrations/cvcrm/05-endpoints.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=906d32f557d4b00488fdf6949a75bbab 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=6616508d80342d3d9513bf1337415fb1 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b3ff1b194791a7e90f404456ece57bc7 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=da930a1d3c145c7c53e1529b27b26de4 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=324ac82f7bb5f56dd809ce35e17d5020 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/05-endpoints.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=16547bf34c023b3882eb03a6d4e58823 2500w`})})]}),`\n`,_jsxs(Check,{children:[`Você tem a `,_jsx(_components.strong,{children:`URL de webhook`}),` copiada — pronta para colar no CVCRM.`]}),`\n`,_jsx(Heading,{level:`2`,id:`passo-4-—-configurar-o-cvcrm`,children:`Passo 4 — Configurar o CVCRM`}),`\n`,_jsx(_components.p,{children:`Aqui você avisa o CVCRM para notificar o Play2sell a cada evento (4.1) e garante três configurações de apoio (4.2, 4.3 e 4.4).`}),`\n`,_jsx(Heading,{level:`3`,id:`4-1-—-criar-os-3-webhooks`,children:`4.1 — Criar os 3 webhooks`}),`\n`,_jsxs(_components.p,{children:[`No gestor do CVCRM, vá em `,_jsx(_components.strong,{children:`Configurações ⚙ → Integrações`}),` e abra o card `,_jsx(_components.strong,{children:`Webhooks`}),` (em “Configurar”).`]}),`\n`,_jsx(Frame,{caption:`Gestor CVCRM → Configurações → Integrações → card Webhooks`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=5adadd744cd615258faf06cc969227ae`,alt:`Hub de Integrações do CVCRM com o card Webhooks`,\"data-og-width\":`2084`,width:`2084`,\"data-og-height\":`1350`,height:`1350`,\"data-path\":`images/integrations/cvcrm/06-cvcrm-integracoes.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=262b28859ff9af1d630356d518667ac3 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=5d75aa9b0a4fb9ae137784d381af4d95 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=357566b49824f2100a1a3095836a8b30 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=744b4fe939fb80ac4a351adb7da88a57 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=677893d7a1269585af5ffe667a09cbe6 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/06-cvcrm-integracoes.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=0da8361314200886b0e69cb5d5e6683a 2500w`})}),`\n`,_jsx(Frame,{caption:`Lista de webhooks no CVCRM`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=870eab633111f90db91847c2fa9a684c`,alt:`Lista de webhooks no CVCRM`,\"data-og-width\":`1678`,width:`1678`,\"data-og-height\":`1354`,height:`1354`,\"data-path\":`images/integrations/cvcrm/07-cvcrm-webhooks-lista.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=850f277b45991548397fc3a4cc9bb1c6 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=a88fc16ac271d069a040878463af40d6 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=aff50fa7a7768f487ec961f0c8beaa31 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b076292402eadeb55dbbe073faad26b1 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=2db66d744bfc0ead343aac28a7967949 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/07-cvcrm-webhooks-lista.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=0818427af5f1a9c99f1f726052e117eb 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Você vai criar `,_jsx(_components.strong,{children:`3 webhooks`}),` — todos apontando para a `,_jsx(_components.strong,{children:`mesma URL`}),` (a do Passo 3). O que muda em cada um é a `,_jsx(_components.strong,{children:`Funcionalidade`}),` e a `,_jsx(_components.strong,{children:`situação do gatilho`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`#`}),_jsx(_components.th,{children:`Funcionalidade`}),_jsx(_components.th,{children:`Situação do gatilho (exemplo)`}),_jsx(_components.th,{children:`Campo no painel (Passo 2.2)`}),_jsx(_components.th,{children:`O que dispara`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`1`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Reserva`})}),_jsx(_components.td,{children:`venda / enviar à pagadoria`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Vendida`})}),_jsx(_components.td,{children:`originação + emissão do boleto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`2`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Comissão`})}),_jsx(_components.td,{children:`escriturar`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Escriturada (via comissão)`})}),_jsx(_components.td,{children:`libera o repasse (PIX)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`3`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Comissão`})}),_jsx(_components.td,{children:`cancelamento`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cancelada (via comissão)`})}),_jsx(_components.td,{children:`cancela o boleto não pago / estorna o pago`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Para cada um, clique em `,_jsx(_components.strong,{children:`”+ Criar novo Webhook”`}),` e preencha o formulário:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo do CVCRM`}),_jsx(_components.th,{children:`O que informar`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Nome`})}),_jsxs(_components.td,{children:[`Um rótulo claro, à sua escolha (ex.: `,_jsx(_components.code,{children:`Pagadoria — venda`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Funcionalidade`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Reserva`}),` (webhook 1) ou `,_jsx(_components.strong,{children:`Comissão`}),` (webhooks 2 e 3).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Workflow`})}),_jsxs(_components.td,{children:[`Aparece quando a Funcionalidade tem mais de um fluxo de situações. Em `,_jsx(_components.strong,{children:`Comissão`}),` há mais de um workflow — escolha o que `,_jsx(_components.strong,{children:`contém a situação do gatilho`}),` (“Escriturar” / “Cancelada”); na dúvida, abra o seletor e veja em qual workflow a situação aparece. Em `,_jsx(_components.strong,{children:`Reserva`}),` normalmente há só um.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Gatilho`})}),_jsxs(_components.td,{children:[`A `,_jsx(_components.strong,{children:`situação`}),` que dispara o envio. Use o `,_jsx(_components.strong,{children:`label exato`}),` da sua instância (a mesma do Passo 2.2).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Forma de envio`})}),_jsx(_components.td,{children:`Deixe o padrão.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Endereço`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Cole a URL de webhook`}),` copiada no Passo 3.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Ativo no painel`})}),_jsxs(_components.td,{children:[`Deixe `,_jsx(_components.strong,{children:`ativo`}),` — sem isso, o webhook não dispara.`]})]})]})]}),`\n`,_jsx(Frame,{caption:`Cadastro de um novo webhook no CVCRM`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=3c705dd46567c23c85173cd7938a0d93`,alt:`Formulário de cadastro de webhook no CVCRM`,\"data-og-width\":`1680`,width:`1680`,\"data-og-height\":`1358`,height:`1358`,\"data-path\":`images/integrations/cvcrm/08-cvcrm-webhook-form.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=0143a93142e7089ca94501b7c83d076b 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=a70c8e432fe801a354b1176bd6ae65ba 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=abdb217b544bbc3776b652298fedc0a7 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=62a0e7066e778d2493dd3e7821a1119e 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=df42e4351b5c28a8315691d7c44a40bd 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/08-cvcrm-webhook-form.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=bacd7fa996108644dcdda9f1d99bcfc0 2500w`})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Webhook 1 — Originação (obrigatório)`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Funcionalidade Reserva`}),`, na situação que marca a venda / o envio para a pagadoria (a mesma do campo `,_jsx(_components.strong,{children:`Vendida`}),`, Passo 2.2). Faz o Play2sell `,_jsx(_components.strong,{children:`originar a venda e emitir o boleto`}),`.`]})}),_jsx(Step,{title:`Webhook 2 — Escrituração → libera o repasse (obrigatório)`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Funcionalidade Comissão`}),`, na situação que indica escriturar/liberar — ex.: “Escriturar” (a mesma do campo `,_jsx(_components.strong,{children:`Escriturada (via comissão)`}),`, Passo 2.2). `,_jsx(_components.strong,{children:`Libera o repasse`}),` e paga os beneficiários via `,_jsx(_components.strong,{children:`PIX`}),`.`]})}),_jsx(Step,{title:`Webhook 3 — Cancelamento / Distrato (recomendado)`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Funcionalidade Comissão`}),`, na situação de cancelamento — ex.: “Cancelada” (a mesma do campo `,_jsx(_components.strong,{children:`Cancelada (via comissão)`}),`, Passo 2.2). `,_jsx(_components.strong,{children:`Cancela`}),` o boleto não pago ou `,_jsx(_components.strong,{children:`estorna`}),` o pago, conforme o estado.`]})})]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Vincule os webhooks ao usuário de integração (“Integração”) — assim as alterações feitas pela automação ficam atribuíveis no histórico do CVCRM.`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Variação por instância.`}),` Se o seu CVCRM registra a escrituração ou o cancelamento na `,_jsx(_components.strong,{children:`própria reserva`}),` (e não na comissão), crie os webhooks 2 e 3 com `,_jsx(_components.strong,{children:`Funcionalidade Reserva`}),` e, no Passo 2.2, use os campos `,_jsx(_components.strong,{children:`Escriturada`}),` e `,_jsx(_components.strong,{children:`Distrato`}),` em vez dos “(via comissão)”. O comportamento é o mesmo.`]})}),`\n`,_jsx(Check,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Confirme que os 3 webhooks estão disparando.`}),` Na lista de webhooks, a coluna `,_jsx(_components.strong,{children:`Transações`}),` conta cada envio. Se continuar `,_jsx(_components.strong,{children:`0`}),` depois de mover um registro para a situação do gatilho, revise: a `,_jsx(_components.strong,{children:`Funcionalidade`}),`, a `,_jsx(_components.strong,{children:`situação`}),` (deve bater com o Passo 2.2), se o webhook está `,_jsx(_components.strong,{children:`Ativo no painel`}),` e se o `,_jsx(_components.strong,{children:`Endereço`}),` é a URL exata do Passo 3 (sem espaços).`]})}),`\n`,_jsx(Heading,{level:`3`,id:`4-2-—-cadastrar-o-tipo-de-comprovante-opcional`,children:`4.2 — Cadastrar o tipo de comprovante (opcional)`}),`\n`,_jsxs(_components.p,{children:[`Faça isto `,_jsx(_components.strong,{children:`apenas se`}),` você habilitou o `,_jsx(_components.strong,{children:`Comprovante de repasse`}),` no Passo 2.4. É uma configuração única que cria o `,_jsx(_components.strong,{children:`tipo de arquivo`}),` usado para anexar o PDF do comprovante à comissão.`]}),`\n`,_jsxs(_components.p,{children:[`No gestor do CVCRM, vá em `,_jsx(_components.strong,{children:`Configurações → Tipos de Arquivos de Pagamento Comissão`}),`, clique em `,_jsx(_components.strong,{children:`”+ Criar novo Tipo”`}),` e preencha:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`O que informar`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Nome`})}),_jsxs(_components.td,{children:[`O nome do tipo (ex.: `,_jsx(_components.code,{children:`Comprovante_Play2sell`}),`). `,_jsx(_components.strong,{children:`Use exatamente este nome`}),` no campo “Tipo do comprovante” do Passo 2.4.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Ativo no painel`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Ativo`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Tipo Pessoa`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Física / Jurídica`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Obrigatório`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Não`}),` — o Play2sell anexa o comprovante automaticamente.`]})]})]})]}),`\n`,_jsx(Frame,{caption:`CVCRM → Tipos de Arquivos de Pagamento Comissão → Criar novo Tipo`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=ab2c54a028696a8a1fecd263241d4915`,alt:`Formulário de cadastro do tipo de arquivo de pagamento de comissão no CVCRM`,\"data-og-width\":`1654`,width:`1654`,\"data-og-height\":`894`,height:`894`,\"data-path\":`images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=94d8dfa9f35e50718f6838e093070907 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=c12bbd28e54ef763ff8c9befa522315a 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=2a436d12b298e39958ef7eb16b29def7 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=0eee60a6a6a2bbd34a640d06c37bb984 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b6db93693cc5166e64850345b8e48bf3 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/11-cvcrm-tipo-comprovante.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=7d5f4ede415bcb00960c033bbedce1bc 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`4-3-—-garantir-“forma-de-pagamento-=-boleto”`,children:`4.3 — Garantir “Forma de pagamento = Boleto”`}),`\n`,_jsxs(_components.p,{children:[`Para o boleto emitido pelo Play2sell aparecer como o recebível da comissão (e dar baixa corretamente), os `,_jsx(_components.strong,{children:`pagamentos da comissão no CVCRM`}),` precisam usar a `,_jsx(_components.strong,{children:`forma de pagamento “Boleto”`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Para conferir: em `,_jsx(_components.strong,{children:`Financeiro → Comissões`}),`, abra uma comissão e clique no ícone `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`$`})}),` (Pagamentos). Na seção `,_jsx(_components.strong,{children:`Pagamentos`}),`, cada parcela do beneficiário tem a coluna `,_jsx(_components.strong,{children:`“Forma de pagamento”`}),` — ela deve estar como `,_jsx(_components.strong,{children:`Boleto`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Se a parcela estiver com outra forma (ex.: “Transferência bancária”), o boleto que emitimos `,_jsx(_components.strong,{children:`não casa`}),` com a comissão. Ajuste a forma para `,_jsx(_components.strong,{children:`Boleto`}),` na regra/condição de comissão do seu CVCRM.`]})}),`\n`,_jsx(Frame,{caption:`Comissão → Pagamentos: cada parcela com Forma de pagamento = Boleto (situação “Programado” após a emissão)`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=b10581fd9b164cfb1287d2709d0dde29`,alt:`Pagamentos da comissão no CVCRM com Forma de pagamento igual a Boleto`,\"data-og-width\":`1650`,width:`1650`,\"data-og-height\":`1350`,height:`1350`,\"data-path\":`images/integrations/cvcrm/12-cvcrm-forma-boleto.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=280\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=bbf924a65bb7f403c6f4234192b881f6 280w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=560\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=c2b04ac1c95d9b6d25ad8a5af611d866 560w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=840\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=3339f729dd4c0dec26f2cab0e1b229a4 840w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=1100\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=bed1dd2d7daf34ffa846f3ec2ffa8071 1100w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=1650\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=7c1b22cc97e84625fb0812b0433078f8 1650w, https://mintcdn.com/play2sell/UX439KPh_mD83OMk/images/integrations/cvcrm/12-cvcrm-forma-boleto.png?w=2500\u0026fit=max\u0026auto=format\u0026n=UX439KPh_mD83OMk\u0026q=85\u0026s=001ff5138ecf77867f004aaf33c8138e 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`4-4-—-escolher-quem-entra-no-boleto-“enviar-para-pagadoria”`,children:`4.4 — Escolher quem entra no boleto (“Enviar para Pagadoria”)`}),`\n`,_jsxs(_components.p,{children:[`Na regra de comissão do CVCRM, cada comissionado tem o campo `,_jsx(_components.strong,{children:`Enviar para Pagadoria`}),` (`,_jsx(_components.strong,{children:`Sim`}),` ou `,_jsx(_components.strong,{children:`Não`}),`). É ele que decide quem o Play2sell cobra e paga.`]}),`\n`,_jsxs(_components.p,{children:[`Para conferir: em `,_jsx(_components.strong,{children:`Financeiro → Configuração de Comissões → Regras da comissão`}),`, abra a linha do comissionado em `,_jsx(_components.strong,{children:`Editar`}),` e veja o campo `,_jsx(_components.strong,{children:`Enviar para Pagadoria`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Como está a regra`}),_jsx(_components.th,{children:`O que o Play2sell faz`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Pelo menos um comissionado com `,_jsx(_components.strong,{children:`Sim`})]}),_jsxs(_components.td,{children:[`Origina a venda. O boleto de cada vencimento é a `,_jsx(_components.strong,{children:`soma das comissões marcadas com Sim`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Comissionado com `,_jsx(_components.strong,{children:`Não`})]}),_jsxs(_components.td,{children:[`Fica `,_jsx(_components.strong,{children:`fora do boleto`}),` e `,_jsx(_components.strong,{children:`não recebe`}),` pelo Play2sell na escrituração. Você paga esse comissionado por fora.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Todos`}),` com `,_jsx(_components.strong,{children:`Não`})]}),_jsxs(_components.td,{children:[`Nenhum boleto é emitido. A reserva aparece como `,_jsx(_components.strong,{children:`Nada a cobrar`}),` no painel — não é erro.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Exemplo.`}),` Comissão total de R`,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mn,{children:`10.000`}),_jsx(_components.mi,{children:`c`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`m`}),_jsx(_components.mi,{children:`t`}),_jsx(_components.mi,{children:`r`}),_jsxs(_components.mover,{accent:`true`,children:[_jsx(_components.mi,{children:`e`}),_jsx(_components.mo,{children:`^`})]}),_jsx(_components.mi,{children:`s`}),_jsx(_components.mi,{children:`c`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`m`}),_jsx(_components.mi,{children:`i`}),_jsx(_components.mi,{children:`s`}),_jsx(_components.mi,{children:`s`}),_jsx(_components.mi,{children:`i`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`n`}),_jsx(_components.mi,{children:`a`}),_jsx(_components.mi,{children:`d`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`s`}),_jsx(_components.mo,{children:`:`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`p`}),_jsx(_components.mi,{children:`r`}),_jsx(_components.mi,{children:`i`}),_jsx(_components.mi,{children:`m`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`i`}),_jsx(_components.mi,{children:`r`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`r`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`c`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`b`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`R`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` 10.000 com três comissionados: o primeiro recebe R`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.6944em`}}),_jsx(_components.span,{className:`mord`,children:`10.000`}),_jsx(_components.span,{className:`mord mathnormal`,children:`co`}),_jsx(_components.span,{className:`mord mathnormal`,children:`m`}),_jsx(_components.span,{className:`mord mathnormal`,children:`t`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`r`}),_jsx(_components.span,{className:`mord accent`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsxs(_components.span,{className:`vlist`,style:{height:`0.6944em`},children:[_jsxs(_components.span,{style:{top:`-3em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`e`})]}),_jsxs(_components.span,{style:{top:`-3em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3em`}}),_jsx(_components.span,{className:`accent-body`,style:{left:`-0.1944em`},children:_jsx(_components.span,{className:`mord`,children:`^`})})]})]})})})}),_jsx(_components.span,{className:`mord mathnormal`,children:`sco`}),_jsx(_components.span,{className:`mord mathnormal`,children:`mi`}),_jsx(_components.span,{className:`mord mathnormal`,children:`ss`}),_jsx(_components.span,{className:`mord mathnormal`,children:`i`}),_jsx(_components.span,{className:`mord mathnormal`,children:`o`}),_jsx(_components.span,{className:`mord mathnormal`,children:`na`}),_jsx(_components.span,{className:`mord mathnormal`,children:`d`}),_jsx(_components.span,{className:`mord mathnormal`,children:`os`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`:`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8889em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`o`}),_jsx(_components.span,{className:`mord mathnormal`,children:`p`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`r`}),_jsx(_components.span,{className:`mord mathnormal`,children:`im`}),_jsx(_components.span,{className:`mord mathnormal`,children:`e`}),_jsx(_components.span,{className:`mord mathnormal`,children:`i`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`r`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`or`}),_jsx(_components.span,{className:`mord mathnormal`,children:`ece`}),_jsx(_components.span,{className:`mord mathnormal`,children:`b`}),_jsx(_components.span,{className:`mord mathnormal`,children:`e`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0077em`},children:`R`})]})]})]}),` 5.000 (`,_jsx(_components.strong,{children:`Sim`}),`), o segundo R`,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mn,{children:`2.000`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsx(_components.mo,{children:`∗`}),_jsx(_components.mo,{children:`∗`}),_jsx(_components.mi,{children:`N`}),_jsxs(_components.mover,{accent:`true`,children:[_jsx(_components.mi,{children:`a`}),_jsx(_components.mo,{children:`~`})]}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mo,{children:`∗`}),_jsx(_components.mo,{children:`∗`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`t`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`r`}),_jsx(_components.mi,{children:`c`}),_jsx(_components.mi,{children:`e`}),_jsx(_components.mi,{children:`i`}),_jsx(_components.mi,{children:`r`}),_jsx(_components.mi,{children:`o`}),_jsx(_components.mi,{children:`R`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` 2.000 (**Não**) e o terceiro R`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`2.000`}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsx(_components.span,{className:`mord`,children:`∗`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`∗`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.6833em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.109em`},children:`N`}),_jsx(_components.span,{className:`mord accent`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsxs(_components.span,{className:`vlist`,style:{height:`0.6679em`},children:[_jsxs(_components.span,{style:{top:`-3em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`a`})]}),_jsxs(_components.span,{style:{top:`-3.35em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3em`}}),_jsx(_components.span,{className:`accent-body`,style:{left:`-0.25em`},children:_jsx(_components.span,{className:`mord`,children:`~`})})]})]})})})}),_jsx(_components.span,{className:`mord mathnormal`,children:`o`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`∗`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`∗`}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mord mathnormal`,children:`eo`}),_jsx(_components.span,{className:`mord mathnormal`,children:`t`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`er`}),_jsx(_components.span,{className:`mord mathnormal`,children:`ce`}),_jsx(_components.span,{className:`mord mathnormal`,children:`i`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0278em`},children:`r`}),_jsx(_components.span,{className:`mord mathnormal`,children:`o`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0077em`},children:`R`})]})]})]}),` 3.000 (`,_jsx(_components.strong,{children:`Sim`}),`). O boleto do comprador sai de `,_jsx(_components.strong,{children:`R$ 8.000`}),`, e na escrituração só o primeiro e o terceiro recebem.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No máximo 6 comissionados com “Sim” por vencimento.`}),` A regra pode ter mais comissionados que isso, desde que só até 6 estejam com `,_jsx(_components.strong,{children:`Sim`}),` em cada vencimento.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Mudou a opção depois que a reserva passou?`}),` Editar “Enviar para Pagadoria” no CVCRM `,_jsx(_components.strong,{children:`não avisa`}),` o Play2sell. Depois de ajustar, use `,_jsx(_components.strong,{children:`Gerar boleto`}),` no painel — veja `,_jsx(_components.strong,{children:`Como reprocessar uma reserva`}),` em Solução de problemas.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Quando o mesmo comissionado aparece em `,_jsx(_components.strong,{children:`mais de uma linha`}),` da regra (por exemplo, comissão e prêmio), deixe `,_jsx(_components.strong,{children:`todas as linhas dele com a mesma opção`}),`. Com uma linha em Sim e outra em Não, o Play2sell não tem como saber qual parcela cobrar e `,_jsx(_components.strong,{children:`não emite o boleto`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`passo-5-—-testar-e-validar`,children:`Passo 5 — Testar e validar`}),`\n`,_jsx(_components.p,{children:`Antes de operar de verdade, rode um teste de ponta a ponta com valores baixos.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Crie uma reserva de teste limpa`,children:_jsxs(_components.p,{children:[`Com comprador (CPF preenchido), valor válido e `,_jsx(_components.strong,{children:`comissões somando 100%`}),` para um corretor.`]})}),_jsx(Step,{title:`Mova para a situação de venda`,children:_jsxs(_components.p,{children:[`Isso dispara o webhook de originação.\n`,_jsxs(Check,{children:[`A venda aparece no painel Play2sell e o `,_jsx(_components.strong,{children:`boleto é anexado à comissão`}),` no CVCRM (situação “Programado”).`]})]})}),_jsx(Step,{title:`Pague o boleto via Pix`,children:_jsxs(_components.p,{children:[`Use o Pix copia‑e‑cola (entra na hora).\n`,_jsxs(Check,{children:[`A comissão muda para `,_jsx(_components.strong,{children:`“Pago”`}),` no CVCRM.`]})]})}),_jsx(Step,{title:`Escriture a comissão`,children:_jsxs(_components.p,{children:[`Mova a comissão para a situação `,_jsx(_components.strong,{children:`Escriturar`}),`.\n`,_jsxs(Check,{children:[`O repasse PIX é pago ao beneficiário e o `,_jsx(_components.strong,{children:`comprovante`}),` é anexado à comissão (se configurado no Passo 2.4).`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`próximos-passos`,children:`Próximos passos`}),`\n`,_jsx(_components.p,{children:`Depois de validar, a integração já opera sozinha. No dia a dia:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cada venda`}),` que entra na situação de pagadoria gera o boleto e o reflete na comissão do CVCRM, sem ação manual.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Acompanhe`}),` o status das comissões em `,_jsx(_components.strong,{children:`Financeiro → Comissões`}),` (CVCRM) e das vendas no `,_jsx(_components.strong,{children:`painel Play2sell`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Para ajustar`}),` o mapeamento de situações ou as credenciais depois, volte em `,_jsx(_components.strong,{children:`Integrações → Conectores → CVCRM → Editar configuração`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`perguntas-frequentes`,children:`Perguntas frequentes`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Preciso de um programador para configurar?`,id:`preciso-de-um-programador-para-configurar`,children:_jsx(_components.p,{children:`Não. Toda a configuração é feita por telas, no gestor do CVCRM e no painel do Play2sell. Você só precisa de acesso administrativo aos dois sistemas. Nenhum código é necessário.`})}),_jsx(Accordion,{title:`Quais webhooks o CVCRM precisa ter?`,id:`quais-webhooks-o-cvcrm-precisa-ter`,children:_jsxs(_components.p,{children:[`Três, todos apontando para a `,_jsx(_components.strong,{children:`mesma URL`}),`: (1) `,_jsx(_components.strong,{children:`Reserva`}),` na situação de venda → originação; (2) `,_jsx(_components.strong,{children:`Comissão`}),` na situação “Escriturar” → libera o repasse; (3) `,_jsx(_components.strong,{children:`Comissão`}),` na situação de cancelamento → estorno.`]})}),_jsx(Accordion,{title:`Como o valor da comissão é calculado?`,id:`como-o-valor-da-comissao-e-calculado`,children:_jsxs(_components.p,{children:[`O CVCRM mostra a comissão `,_jsx(_components.strong,{children:`bruta`}),`. O Play2sell aplica a `,_jsx(_components.strong,{children:`taxa de serviço`}),` (em geral 1–3%) e o beneficiário recebe o `,_jsx(_components.strong,{children:`líquido`}),` via PIX. O cálculo usa o `,_jsx(_components.strong,{children:`valor da comissão`}),`, não o da venda.`]})}),_jsx(Accordion,{title:`A integração funciona com comissão menor que 100% da venda?`,id:`a-integracao-funciona-com-comissao-menor-que-100-da-venda`,children:_jsxs(_components.p,{children:[`Sim. O boleto e o split são calculados sobre o `,_jsx(_components.strong,{children:`valor da comissão`}),`, então qualquer percentual funciona.`]})}),_jsx(Accordion,{title:`Em quanto tempo o corretor recebe?`,id:`em-quanto-tempo-o-corretor-recebe`,children:_jsxs(_components.p,{children:[`Após a comissão ser `,_jsx(_components.strong,{children:`escriturada`}),` no CVCRM, o repasse via `,_jsx(_components.strong,{children:`PIX`}),` é processado em segundos e cai na conta do beneficiário.`]})}),_jsx(Accordion,{title:`O comprovante de repasse é obrigatório?`,id:`o-comprovante-de-repasse-e-obrigatorio`,children:_jsxs(_components.p,{children:[`Não, é `,_jsx(_components.strong,{children:`opcional`}),`. Sem ele, o repasse é pago normalmente; apenas o anexo do PDF na comissão do CVCRM não acontece.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`solução-de-problemas`,children:`Solução de problemas`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Nenhum evento chega ao Play2sell`,id:`nenhum-evento-chega-ao-play2sell`,children:_jsxs(_components.p,{children:[`Verifique no CVCRM: o webhook está `,_jsx(_components.strong,{children:`Ativo`}),`? A `,_jsx(_components.strong,{children:`Funcionalidade`}),` (Reserva/Comissão) e a `,_jsx(_components.strong,{children:`situação`}),` do gatilho batem com o que você mapeou no painel? O `,_jsx(_components.strong,{children:`Endereço`}),` é a URL exata copiada no Passo 3 (sem espaços/quebras)?`]})}),_jsx(Accordion,{title:`O boleto não apareceu na comissão`,id:`o-boleto-nao-apareceu-na-comissao`,children:_jsxs(_components.p,{children:[`Confirme que a `,_jsx(_components.strong,{children:`forma de pagamento`}),` da comissão é `,_jsx(_components.strong,{children:`Boleto`}),` (Passo 4.3) e que a situação de saída `,_jsx(_components.strong,{children:`“Comissão com boleto”`}),` está preenchida (ex.: `,_jsx(_components.code,{children:`Programado`}),`). Depois de ajustar a configuração, use `,_jsx(_components.strong,{children:`Gerar boleto`}),` no painel (veja `,_jsx(_components.strong,{children:`Como reprocessar uma reserva`}),`, abaixo).`]})}),_jsx(Accordion,{title:`A reserva ficou como \"Nada a cobrar\"`,id:`a-reserva-ficou-como-nada-a-cobrar`,children:_jsxs(_components.p,{children:[`Todos os comissionados da regra estavam com `,_jsx(_components.strong,{children:`Enviar para Pagadoria = Não`}),` quando a reserva chegou, então não havia o que cobrar. Se era para cobrar, mude para `,_jsx(_components.strong,{children:`Sim`}),` os comissionados certos (Passo 4.4) e use `,_jsx(_components.strong,{children:`Gerar boleto`}),` no painel.`]})}),_jsxs(Accordion,{title:`Como reprocessar uma reserva`,id:`como-reprocessar-uma-reserva`,children:[_jsxs(_components.p,{children:[`No painel Play2sell, vá em `,_jsx(_components.strong,{children:`Integrações → Geral`}),`, no cartão `,_jsx(_components.strong,{children:`Integração CRM/ERP`}),`, e abra `,_jsx(_components.strong,{children:`Eventos recentes`}),`. Nas linhas de `,_jsx(_components.strong,{children:`reserva`}),` com status `,_jsx(_components.strong,{children:`Falha`}),` ou `,_jsx(_components.strong,{children:`Nada a cobrar`}),` aparece a ação `,_jsx(_components.strong,{children:`Gerar boleto`}),`.`]}),_jsxs(_components.p,{children:[`Ao confirmar, o Play2sell lê a reserva no CVCRM `,_jsx(_components.strong,{children:`como ela está agora`}),` e emite o boleto com as comissões marcadas com `,_jsx(_components.strong,{children:`Sim`}),` — mesmo que a reserva já tenha saído da situação que gera o boleto. Se a reserva estiver em situação de `,_jsx(_components.strong,{children:`distrato`}),`, vale o distrato. A ação aparece para quem tem permissão de `,_jsx(_components.strong,{children:`gerenciar pagamentos`}),`.`]})]}),_jsx(Accordion,{title:`Um beneficiário não foi encontrado / repasse não saiu`,id:`um-beneficiario-nao-foi-encontrado-repasse-nao-saiu`,children:_jsxs(_components.p,{children:[`A identidade é por `,_jsx(_components.strong,{children:`CPF/CNPJ`}),`, nunca por e‑mail. Garanta que o documento do beneficiário está preenchido e correto no CVCRM.`]})}),_jsx(Accordion,{title:`O status pago não refletiu na hora`,id:`o-status-pago-nao-refletiu-na-hora`,children:_jsx(_components.p,{children:`Confirmações de pagamento e write-backs podem levar alguns instantes. Se persistir, fale com o suporte.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`referência`,children:`Referência`}),`\n`,_jsx(Heading,{level:`3`,id:`ciclo-de-vida-ponta-a-ponta`,children:`Ciclo de vida ponta a ponta`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Etapa`}),_jsx(_components.th,{children:`Evento no CVCRM`}),_jsx(_components.th,{children:`Ação do Play2sell`}),_jsx(_components.th,{children:`O que você vê`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`1. Originação`})}),_jsx(_components.td,{children:`Reserva → situação de venda`}),_jsxs(_components.td,{children:[`Cria a venda + split e emite o `,_jsx(_components.strong,{children:`boleto (com Pix)`})]}),_jsx(_components.td,{children:`Venda no painel; boleto gerado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`2. Boleto na comissão`})}),_jsx(_components.td,{children:`— (write-back)`}),_jsx(_components.td,{children:`Anexa o boleto à comissão`}),_jsxs(_components.td,{children:[`Comissão fica `,_jsx(_components.strong,{children:`Programado`}),`; colunas Boleto/ID Pagadoria preenchidas`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`3. Pagamento / baixa`})}),_jsx(_components.td,{children:`Comprador paga o boleto`}),_jsx(_components.td,{children:`Confirma o pagamento e informa o CVCRM`}),_jsxs(_components.td,{children:[`Comissão fica `,_jsx(_components.strong,{children:`Pago`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`4. Escrituração`})}),_jsxs(_components.td,{children:[`Comissão → situação `,_jsx(_components.strong,{children:`Escriturar`})]}),_jsx(_components.td,{children:`Libera o repasse`}),_jsx(_components.td,{children:`Protocolo liberado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`5. Repasse`})}),_jsx(_components.td,{children:`—`}),_jsxs(_components.td,{children:[`Paga o beneficiário via `,_jsx(_components.strong,{children:`PIX`})]}),_jsx(_components.td,{children:`Repasse concluído (líquido)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`6. Comprovante`})}),_jsx(_components.td,{children:`— (write-back)`}),_jsx(_components.td,{children:`Anexa o comprovante à comissão`}),_jsx(_components.td,{children:`PDF em “Documentos do pagamento da Comissão”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Distrato`})}),_jsx(_components.td,{children:`Reserva/Comissão → cancelamento`}),_jsx(_components.td,{children:`Estorna conforme o estado`}),_jsx(_components.td,{children:`Operação estornada`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`contrato-de-erro`,children:`Contrato de erro`}),`\n`,_jsxs(_components.p,{children:[`Respostas de erro seguem o formato `,_jsx(_components.code,{children:`{ code, message, hint? }`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`4xx — rejeição:`}),` algo está incorreto (ex.: situação não mapeada). `,_jsx(_components.strong,{children:`Corrija e tente de novo.`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`5xx — erro transitório:`}),` falha temporária. É `,_jsx(_components.strong,{children:`reprocessado automaticamente`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`apêndice-técnico`,children:`Apêndice técnico`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Esta seção é para times técnicos. A configuração acima não exige nada daqui.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Famílias de API do CVCRM`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Família`}),_jsx(_components.th,{children:`Uso`}),_jsx(_components.th,{children:`Observação`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`v1`}),` (`,_jsx(_components.code,{children:`/api/v1/\u003cmódulo>/*`}),`)`]}),_jsx(_components.td,{children:`Atual — usada pela integração`}),_jsxs(_components.td,{children:[`Auth por headers `,_jsx(_components.code,{children:`email`}),` + `,_jsx(_components.code,{children:`token`}),`; 200 req/min`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`CVIO`}),` (`,_jsx(_components.code,{children:`/api/cvio/*`}),`)`]}),_jsx(_components.td,{children:`Legado`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Em depreciação`}),` — o CVCRM está padronizando para v1`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`CVDW`}),` (`,_jsx(_components.code,{children:`/api/v1/cvdw/*`}),`)`]}),_jsx(_components.td,{children:`BI / data warehouse`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Contrato pago à parte`}),`; 20 req/min; retorna 403 se não contratado`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Sincronização e idempotência`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Webhook magro → pull-back:`}),` o webhook carrega só um id; o Play2sell busca o registro completo via `,_jsx(_components.code,{children:`GET`}),` autenticado antes de agir.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Idempotência:`}),` cada contrato mapeia para uma chave estável derivada do id da reserva (`,_jsx(_components.code,{children:`cvcrm:{idreserva}`}),`); reentrega nunca duplica a venda.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ordem:`}),` se a escrituração chega antes de a originação concluir, é adiada e reprocessada.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Atenções (gotchas)`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`O CVCRM pode retornar `,_jsxs(_components.strong,{children:[`HTTP 200 com `,_jsx(_components.code,{children:`codigo:404`}),` no corpo`]}),` para rotas inexistentes — sempre confira o campo `,_jsx(_components.code,{children:`codigo`}),`, não só o status HTTP.`]}),`\n`,_jsxs(_components.li,{children:[`Filtros de data em alguns endpoints são `,_jsx(_components.strong,{children:`ignorados`}),` — janele no lado do cliente.`]}),`\n`,_jsxs(_components.li,{children:[`Datas no GET de parcelas usam `,_jsx(_components.strong,{children:`DD/MM/AAAA`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Existem `,_jsx(_components.strong,{children:`dois workflows de situação distintos`}),` — o da `,_jsx(_components.strong,{children:`comissão`}),` e o do `,_jsx(_components.strong,{children:`pagamento da comissão`}),` — com ids que podem colidir. Por isso o write-back de situação usa o `,_jsx(_components.strong,{children:`nome`}),` (“Programado”/“Pago”), não o id.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`suporte`,children:`Suporte`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Precisa de ajuda para mapear as situações da sua instância? Fale com o suporte em `,_jsx(_components.strong,{children:_jsx(_components.a,{href:`mailto:suporte@play2sell.com`,children:`suporte@play2sell.com`})}),` com o seu `,_jsx(_components.strong,{children:`domínio`}),` e a lista de situações que você usa para vendida / escriturar / distrato.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Integração CVCRM — Pagadoria de Comissões","description":"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.","icon":"building","href":"/pt/api/integrations/cvcrm"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"O que você vai configurar","slug":"o-que-você-vai-configurar","depth":2,"children":[]},{"title":"Como funciona a integração?","slug":"como-funciona-a-integração","depth":2,"children":[]},{"title":"Passo 1 — Obter as credenciais no CVCRM (e‑mail + token)","slug":"passo-1-—-obter-as-credenciais-no-cvcrm-e‑mail-+-token","depth":2,"children":[]},{"title":"Passo 2 — Conectar no painel Play2sell","slug":"passo-2-—-conectar-no-painel-play2sell","depth":2,"children":[{"title":"2.1 — Credenciais","slug":"2-1-—-credenciais","depth":3,"children":[]},{"title":"2.2 — Mapeamento de situações","slug":"2-2-—-mapeamento-de-situações","depth":3,"children":[]},{"title":"2.3 — Situação de saída (write-back)","slug":"2-3-—-situação-de-saída-write-back","depth":3,"children":[]},{"title":"2.4 — Comprovante de repasse (opcional)","slug":"2-4-—-comprovante-de-repasse-opcional","depth":3,"children":[]},{"title":"2.5 — Mapeamento de papéis (opcional)","slug":"2-5-—-mapeamento-de-papéis-opcional","depth":3,"children":[]}]},{"title":"Passo 3 — Copiar a URL de webhook","slug":"passo-3-—-copiar-a-url-de-webhook","depth":2,"children":[]},{"title":"Passo 4 — Configurar o CVCRM","slug":"passo-4-—-configurar-o-cvcrm","depth":2,"children":[{"title":"4.1 — Criar os 3 webhooks","slug":"4-1-—-criar-os-3-webhooks","depth":3,"children":[]},{"title":"4.2 — Cadastrar o tipo de comprovante (opcional)","slug":"4-2-—-cadastrar-o-tipo-de-comprovante-opcional","depth":3,"children":[]},{"title":"4.3 — Garantir “Forma de pagamento = Boleto”","slug":"4-3-—-garantir-“forma-de-pagamento-=-boleto”","depth":3,"children":[]},{"title":"4.4 — Escolher quem entra no boleto (“Enviar para Pagadoria”)","slug":"4-4-—-escolher-quem-entra-no-boleto-“enviar-para-pagadoria”","depth":3,"children":[]}]},{"title":"Passo 5 — Testar e validar","slug":"passo-5-—-testar-e-validar","depth":2,"children":[]},{"title":"Próximos passos","slug":"próximos-passos","depth":2,"children":[]},{"title":"Perguntas frequentes","slug":"perguntas-frequentes","depth":2,"children":[]},{"title":"Solução de problemas","slug":"solução-de-problemas","depth":2,"children":[]},{"title":"Referência","slug":"referência","depth":2,"children":[{"title":"Ciclo de vida ponta a ponta","slug":"ciclo-de-vida-ponta-a-ponta","depth":3,"children":[]},{"title":"Contrato de erro","slug":"contrato-de-erro","depth":3,"children":[]},{"title":"Apêndice técnico","slug":"apêndice-técnico","depth":3,"children":[]}]},{"title":"Suporte","slug":"suporte","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"play2sell","siteName":"SalesOS","title":"Integração CVCRM — Pagadoria de Comissões - SalesOS","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/integrations/cvcrm","matchLevel":1},"pt":{"href":"/pt/api/integrations/cvcrm","matchLevel":0},"es":{"href":"/es/api/integrations/cvcrm","matchLevel":1}}},"lastModified":"2026-10-05T14:00:50.820Z","originalFileLocation":"pt/api/integrations/cvcrm.mdx","locale":"pt"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SalesOS\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Integração CVCRM — Pagadoria de Comissões - SalesOS\">\u003cmeta data-mint-head property=\"og:description\" content=\"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SalesOS\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.play2sell.com/pt/api/integrations/cvcrm\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Integração CVCRM — Pagadoria de Comissões - SalesOS\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/play2sell/XDx17pbFw45Iann7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SalesOS\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#e20c18\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.play2sell.com/pt/api/integrations/cvcrm\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt/api/integrations/cvcrm.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.play2sell.com/pt/api/integrations/cvcrm\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.play2sell.com/api/integrations/cvcrm\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.play2sell.com/es/api/integrations/cvcrm\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.play2sell.com/api/integrations/cvcrm\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.play2sell.com/#organization\",\"name\":\"SalesOS\",\"url\":\"https://docs.play2sell.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/play2sell/FiU6GxxU6y37uxdh/logo/light.png?fit=max\u0026auto=format\u0026n=FiU6GxxU6y37uxdh\u0026q=85\u0026s=2be3dc625b663625442ce45235218008\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.play2sell.com#website\",\"name\":\"SalesOS\",\"url\":\"https://docs.play2sell.com\",\"publisher\":{\"@id\":\"https://docs.play2sell.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm#webpage\",\"url\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm\",\"name\":\"Integração CVCRM — Pagadoria de Comissões\",\"description\":\"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\",\"dateModified\":\"2026-10-05T14:00:50.820Z\",\"isPartOf\":{\"@id\":\"https://docs.play2sell.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrações\",\"item\":\"https://docs.play2sell.com/pt/api/integrations/api-keys\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integração CVCRM — Pagadoria de Comissões\",\"item\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm#article\",\"headline\":\"Integração CVCRM — Pagadoria de Comissões\",\"name\":\"Integração CVCRM — Pagadoria de Comissões\",\"description\":\"Como conectar o seu CVCRM ao Play2sell PAY e pagar comissões automaticamente — credenciais, webhooks, forma de pagamento, comprovante, ciclo de vida, testes, FAQ e solução de problemas. Configuração por telas, sem programação.\",\"url\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm\",\"mainEntityOfPage\":{\"@id\":\"https://docs.play2sell.com/pt/api/integrations/cvcrm#webpage\"},\"dateModified\":\"2026-10-05T14:00:50.820Z\",\"publisher\":{\"@id\":\"https://docs.play2sell.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.play2sell.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SalesOS\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SalesOS","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://play2sell.com"}]},"languages":[{"language":"en","pages":[{"title":"en","href":"/api/integrations/cvcrm"}]},{"language":"pt","tabs":[{"tab":"Guia do Usuário","pages":[{"title":"Guia do Usuário","href":"/pt"}]},{"tab":"Administração","pages":[{"title":"Administração","href":"/pt/admin/initial-setup"}]},{"tab":"API \u0026 Integrações","groups":[{"group":"Visão Geral","pages":[{"title":"Autenticação","icon":"key","href":"/pt/api/authentication"},{"title":"Convenções da API","icon":"ruler","href":"/pt/api/conventions"}]},{"group":"Integrações","pages":[{"title":"API Keys","icon":"key","href":"/pt/api/integrations/api-keys"},{"title":"Integracao Activities","icon":"plug","href":"/pt/api/integrations/activities"},{"title":"API de Check-in","icon":"location-dot","href":"/pt/api/integrations/checkin"},{"title":"API de Missões","icon":"bullseye-arrow","href":"/pt/api/integrations/missions"},{"title":"API de Campanhas","icon":"gift","href":"/pt/api/integrations/campaigns"},{"title":"SSO (Single Sign-On)","icon":"key","href":"/pt/api/integrations/sso"},{"title":"API de Progresso do Jogador","icon":"trophy","href":"/pt/api/integrations/progress"},{"title":"API de Ganhos","icon":"wallet","href":"/pt/api/integrations/earnings"},{"title":"Integração Payments","icon":"credit-card","href":"/pt/api/integrations/payments"},{"title":"Webhooks (Saída)","description":"Receba eventos do SalesOS em tempo real no seu endpoint HTTPS — envelope, verificação de assinatura, catálogo de eventos, retentativas e idempotência.","icon":"webhook","href":"/pt/api/integrations/webhooks"},{"title":"Integração CVCRM — Pagadoria de Comissões","icon":"building","href":"/pt/api/integrations/cvcrm"},{"title":"Integração SIGAVI 360 — Missões, Leads e Pagadoria","description":"Como conectar o seu SIGAVI 360 ao Play2sell para que as atividades dos corretores contem nas missões, as fichas de atendimento virem leads e as comissões de cada proposta sejam cobradas e repassadas pela Pagadoria — usuário de integração, etapas do funil, o que é lido, regras do pagamento de comissões, FAQ e solução de problemas.","icon":"building","href":"/pt/api/integrations/sigavi"}]}]},{"tab":"FAQ \u0026 Suporte","pages":[{"title":"FAQ \u0026 Suporte","href":"/pt/support/faq/general"}]}]},{"language":"es","pages":[{"title":"es","href":"/es/api/integrations/cvcrm"}]}]},"title":"Integração CVCRM — Pagadoria de Comissões - SalesOS","buildId":"dpl_5UGCeHaPhSKbAExsKaHeR8dW3HyG","deploymentId":"dpl_5UGCeHaPhSKbAExsKaHeR8dW3HyG","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DYrD4gCJ.js","DynamicMarkdown-BTVnG8lc.js","zoom-image-lightbox-DgtuyVql.js","PlusIcon-BCNs_Q8j.js","lightbox-handle-r17bVUz3.js"]}