Implementando o Widget Embedded na sua Aplicação
Essa documentação é compatível para API REST versão 1 (Sem Envelope)Caso esteja utilizando a API REST versão 2 (Envelope), siga as instruções no link: Instalação do Widget Embedded v2
Este guia detalha os passos para integrar o Widget Embedded da Clicksign na sua aplicação web.
Pré-requisitos
- Acesso ao código da sua aplicação web.
- Uma conta Clicksign (para obter o id do signatário).
Implementação
1. Incluir a Biblioteca:
- Adicione a seguinte tag
<script>
dentro da tag<body>
da sua página HTML onde você deseja exibir o widget:
<script src="https://cdn-public-library.clicksign.com/embedded/embedded.min-1.0.0.js" type="text/javascript"></script>
2. Crie um elemento div
para que o Widget Embedded seja montado dentro dele:
div
para que o Widget Embedded seja montado dentro dele:<div id="container"></div>
3. Carregar o Widget com JavaScript:
Adicione o seguinte código JavaScript após a inclusão da biblioteca. Certifique-se de substituir 'ID_DA_ASSINATURA' pelo id real da solicitação de assinatura na Clicksign.
Parâmetro para carregar o documentoEncontre o atributo
request_signature_key
no JSON do documento recebido através da API em Adicionar signatário a documento .
Assinatura em lotePara assinar documentos em lote, após a criação do lote, utilize o atributo
request_signature_key
retornado na criação do lote ao carregar o Widget.
<script type="text/javascript">
var widget = new Clicksign('ID_DA_ASSINATURA');
// Defina o endpoint apropriado (Sandbox ou Produção)
widget.endpoint = 'https://sandbox.clicksign.com'; // Ou 'https://app.clicksign.com'
// (Opcional) Defina a URL de origem se estiver usando WebView
widget.origin = window.origin;
// Renderize o widget dentro do container
widget.mount('container');
// (Opcional) Adicione callbacks para eventos
widget.on('loaded', function(event) {
console.log('Widget carregado!');
});
widget.on('signed', function(event) {
console.log('Documento assinado!');
// Redirecione o usuário ou execute alguma ação
// window.location.href = '/obrigado';
});
widget.on('resized', function(event) {
console.log('Widget redimensionado:', event.data.height);
document.getElementById('container').style.height = event.data.height + 'px';
});
</script>
4. Callbacks javascript:
Quando um documento for carregado, estiver nas etapas de credenciamento ou for assinado, a função callback registrada é chamada (loadeed, signed, resized). Através dela você pode manipular a sua aplicação conforme necessário.
Por segurança, confie nas informações recebidas através dos Webhooks.Os callbacks são javascript rodando no browser do usuário e podem ser manipulados de forma indevida.
5. Para remover o Widget Embedded da DOM, basta executar o código abaixo:
widget.unmount();
Exemplo completo:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Simple widget usage</title>
<script src="https://cdn-public-library.clicksign.com/embedded/embedded.min-1.0.0.js" type="text/javascript"></script>
</head>
<body>
<input id='request_signature_key' />
<input type='button' value='Load' onclick='run()'/>
<div id='container' style='height: 600px'></div>
<script type='text/javascript'>
var widget,
input = document.getElementById('request_signature_key');
function run () {
var request_signature_key = input.value;
if(widget) { widget.unmount(); }
widget = new Clicksign(request_signature_key);
widget.endpoint = 'https://sandbox.clicksign.com';
widget.origin = window.origin;
widget.mount('container');
widget.on('loaded', function(ev) { console.log('loaded!'); });
widget.on('signed', function(ev) { console.log('signed!'); });
widget.on('resized', function(height) {
console.log('resized!');
document.getElementById('container').style.height = height+'px';
});
};
</script>
</body>
</html>
Boas práticas para o funcionamento
- Protocolo Seguro: sempre renderize o Widget através de um servidor, utilizando o protocolo HTTP ou HTTPS no ambiente Sandbox e exclusivamente HTTPS no ambiente de Produção. Isso garante a segurança do Widget e previne erros de autenticação.
- Uso em Aplicativos: se o Widget estiver sendo implementado em um aplicativo, recomendamos usar um asterisco (*) no atributo
widget.origin
para garantir que os callbacks sejam recebidos adequadamente. - Recebimento de Callbacks: para que os callbacks funcionem corretamente, é necessário que seu site ou web app esteja hospedado em um servidor web, seguindo as instruções de Protocolo Seguro.
Updated about 1 month ago