Integração com Assinatura embutida
Introdução#
A integração com Assinatura embutida permite assinar/aprovar documentos submetidos no Signer dentro de qualquer aplicação por meio do componente IdeiaSignerWidget
.O Signer deve ser configurado com uma licença do Web PKI que tenha o domínio no qual o componente será carregado.
Instalação#
Em seguida, instancie a classe IdeiaSignerWidget
:Chame então o método on()
passando o tipo de evento que quer escutar e uma função de callback que será chamada quando o usuário assinar/aprovar o documento:Se preferir use o método listen()
para escutar todos eventos com apenas um callback:Sempre verifique no backend se o documento foi de fato concluído, dado que os callbacks podem ser acionados por outros arquivos javascript.
Por fim, carregue o iFrame utilizando o método render()
, que recebe duas entradas obrigatórias:embedUrl
: a URL para ação que deseja ser realizada. Corresponde ao parâmetro embedUrl retornado pela API Action URLelementId
: id do elemento no qual será exibido o componente de assinatura.
E duas entradas opcionais:page
: numero da página na qual o documento será aberto em sua inicialização (para abrir a última página de qualquer documento, não importando o tamanho dele, atribui-se o número '-1'
).
scale
: a porcentagem que definirá em qual escala o documento será aberto. Pode ser definido através de um simples string '100'
ou através do widget.scaleOptions.S100
Caso prefira, pode ser fornecido o elemento DOM diretamente:Configurações adicionais#
Na instanciação da classe IdeiaSignerWidget
você pode passar um objeto com uma ou mais das configurações listadas abaixo:Atributo | Tipo | Descrição |
---|
enableNotifications | boolean | Notificações não são enviadas após a conclusão da assinatura/aprovação embutida. Defina como true para enviá-las. Pode ser definido após a instanciação com método setEnableNotifications . |
disableDocumentPreview | boolean | Se true , esconde a pré-visualização do documento. Nesse caso, será exibido apenas o botão de assinatura e dados do assinante/aprovador. Pode ser definido após a instanciação com método setDisableDocumentPreview . |
enableRefusal | boolean | Se true , exibirá a opção para recusar uma assinatura. Pode ser definido após a instanciação com método setEnableRefusal . |
culture | string | Define o idioma utilizado, as opções disponíveis são "pt" (português), "en" (inglês) e "es" (espanhol) |
theme | string | Define o tema do widget, use o código de 3 caracteres de cada tema (ex: amazon-cornell-red: "acr" ), os temas disponíveis estão na página de personalização |
Posicionamento de marcas de assinatura#
À partir da versão 1.70.0 do Signer e 0.7.0 do Widget, é possível embutir a tela de posicionamento de marcas de assinatura em outras aplicações tal como já era
feito para a tela de assinatura. Uma vez posicionadas, é possível obter os dados de posicionamento correspondente tanto pela biblioteca quando pela API do Signer
para que sejam criados um ou mais documentos com as posições selecionadas.O primeiro passo é criar uma sessão de posicionamento utilizando a API de criação de sessão. Existem duas variações dessa API:API de criação de sessão básica: permite criar a sessão de posicionamento fornecendo apenas os dados necessários para criação da sessão de posicionamento. Dados pessoais de signatários como e-mail e CPF, por exemplo, são opcionais. Use esta API, caso, após obter o resultado da sessão, você ainda pretenda atualizar os dados da requisição de criação de documentos que será enviada posteriormente ao Signer. API de criação de sessão com requisição de criação de documento: permite criar a sessão de posicionamento fornecendo o mesmo request que é utilizado para criar documentos. Use esta API, caso prefira encaminhar o resultado da sessão diretamente para a API de criação de documentos sem fazer nenhuma alteração adicional. O resultado de ambas APIs será o retorno de um ID de sessão e uma URL para embutir a tela de posicionamento:Uma vez obtida a URL de sessão, basta inicializar o Widget assim como é feito para a funcionalidade de assinatura:Chame o método on()
passando o evento de posicionamento de marcas e uma função de callback que será chamada quando o usuário concluir o posicionamento:Por fim, carregue o iFrame utilizando o método render()
:Uma vez concluída a sessão de posicionamento, cada entrada do atributo flowActions
da requisição fornecida na criação da sessão será atualizada com as posições selecionadas na
tela de posicionamento (mais especificamente, será preenchido o atributo prePositionedMarks
).A sessão de posicionamento tem duração de 1 hora após sua criação. Após esse período, não será possível obter nem atualizar os dados da sessão.
Modificado em 2024-12-03 17:04:49