IdeiaSigner
  1. Signer
IdeiaSigner
  • Bem-vindo
  • Política de Privacidade
  • Certificação Digital
    • O que é?
    • Assinaturas Digitais
    • Assinaturas de servidor
    • Login com certificado digital
    • Certificados confiados pela Adobe
    • Assinaturas web
      • O que são?
      • Assinaturas web remotas
      • Assinaturas web locais
  • Web PKI
    • O que é?
    • Primeiros passos
    • Propriedades dos certificados
    • Personalizando a listagem de certificados
    • Pré-validação de certificados
    • Browsers suportados
    • Instalação e distribuição de componentes do WEB PKI via GPO
    • Licenciamento
    • Chamadas assíncronas
    • Callback de erro padrão
    • Customizando o comportamento quando o componente não estiver instalado
    • Utilizando uma página de instalação personalizada
    • Callbacks e AngularJS
    • Filtros de certificados
    • Especificando a URL do Rest PKI
    • Atualizações - Web PKI
    • Requisição Autenticada
    • Logs - Web PKI
    • Atributos de Segurança - Web PKI
    • Substituição do ICPBravoAccess
    • FAQ
      • Qual é a diferença entre as funções signData e signHash?
      • Qual é o formato da assinatura retornada pelas funções signData e signHash?
      • O Web PKI suporta conexões SSL usando o certificado do usuário?
  • Rest PKI
    • O que é?
    • Rest PKI - Disponibilidade de exemplos por projeto
    • Códigos de Retorno do REST PKI
    • Tags da representação visual de assinaturas PAdES
    • Configuração de Data e Hora
    • Solicitando carimbos de tempo
  • Signer
    • Guia de Integração
    • Integração com Assinatura embutida
    • Guia do usuário
      • Geração de documentos
    • Administração do sistema
      • Adicionando usuário à administração
      • Visualizando os documentos
      • Excluindo documentos
    • Sobre o Signer
      • Histórico de versões do Signer
      • Código de erro inesperado ao submeter ou assinar um PDF
  • GrantID
    • GrantID - Inicio
  • API Auxiliar
    • Manual de Integração APIs
    • Endpoints
      • CadastrarOrganizacao
      • AtualizarDadosFaturamento
      • CadastrarUsuario
  1. Signer

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#

Primeiro, inclua na sua página o arquivo signer-widget.js mais recente:
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 URL
elementId: 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:
AtributoTipoDescrição
enableNotificationsbooleanNotificaçõ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.
disableDocumentPreviewbooleanSe 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.
enableRefusalbooleanSe true, exibirá a opção para recusar uma assinatura. Pode ser definido após a instanciação com método setEnableRefusal.
culturestringDefine o idioma utilizado, as opções disponíveis são "pt"(português), "en"(inglês) e "es"(espanhol)
themestringDefine 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
Exemplo:

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).
Essa requisição atualizada pode ser obtida pelo atributo data do evento de posicionamento ou pelo atributo de mesmo nome da API de obtenção de dados da sessão.
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.
Página anterior
Guia de Integração
Próxima página
Geração de documentos
Built with