SDK Zarv
O SDK Zarv é um único loader que serve dois produtos sob o mesmo window.Zarv:
- Chat — o widget de conversa que aparece como um launcher no canto da página.
- Smartflow — o funnel de cadastro/KYC embutido na sua aplicação.
Você carrega um único script e escolhe qual produto usar pela forma como o configura.
Instalação
Adicione o loader à sua página:
<script async src="https://js.zarv.com/sdk.js"></script>Não há ambiente de desenvolvimento separado para o SDK. js.zarv.com é o único host que você usa — em produção, em homologação e na sua máquina. O host js.zarv.dev existe, mas é o staging interno da Zarv: não integre contra ele.
Para testar sem afetar dados reais, use uma campanha/bot de teste (criada no admin) em vez de um ambiente separado — a chave pública é o que separa um do outro.
O SDK roda em qualquer origem — não há restrição de CORS para o JavaScript do loader, então localhost funciona sem configuração.
Versionamento
O loader lê /sdk/version.json e carrega os bundles versionados com verificação de integridade (SRI). Novas versões são publicadas automaticamente, então integrar via sdk.js sempre traz a versão mais recente sem mudanças do seu lado — é o que recomendamos.
O manifesto descreve cada produto separadamente: versão, arquivos e os hashes SRI correspondentes.
{
"loader": "0.38.0",
"chat": {
"version": "0.80.5",
"file": { "js": "widget.0ae8404e.js", "css": "widget.7a2f16d4.css" },
"integrity": { "js": "sha384-…", "css": "sha384-…" }
},
"smartflow": {
"version": "0.40.0",
"file": { "js": "smartflow.c85d54b9.js", "css": "smartflow.a3ffc7e0.css" },
"integrity": { "js": "sha384-…", "css": "sha384-…" }
}
}O caminho de um bundle é /sdk/<produto>/v<versão>/<arquivo>, e o <arquivo> é derivado do conteúdo — muda a cada build. Ou seja, você não consegue montá-lo à mão: tanto o nome quanto o integrity precisam sair do version.json. É por isso que esses caminhos podem ser servidos com cache imutável.
Se você precisa fixar uma versão (reprodutibilidade, auditoria), leia o manifesto uma vez, guarde o par arquivo + integrity daquele build e sirva o <script> você mesmo:
<script
async
src="https://js.zarv.com/sdk/chat/v0.80.5/widget.0ae8404e.js"
integrity="sha384-…"
crossorigin="anonymous"
></script>Fixar significa exatamente isso: você deixa de receber correções automaticamente e passa a ser responsável por atualizar o par. Prefira o sdk.js.