Guia do Usuário Cancelar

Visão geral dos webhooks

 

Guia do Adobe Acrobat Sign

Novidades

  1. Notas de pré-lançamento
  2. Notas de versão
  3. Notificações importantes

Introdução

  1. Guia de início rápido para admins
  2. Guia de início rápido para usuários
  3. Para desenvolvedores(as)
  4. Biblioteca de tutoriais em vídeo
  5. Perguntas frequentes

Administrar

  1. Visão geral do Admin Console
  2. Gerenciamento de usuários
    1. Adicionar um usuário
    2. Adicionar usuários em massa
    3. Adicionar usuários do diretório
    4. Adicionar usuários do MS Azure Active Directory
    5. Criar usuários focados em funções
      1. Contas técnicas - Orientadas por API
      2. Contas de serviço - Orientadas manualmente
    6. Verificar usuários com erros de provisionamento
    7. Alterar nome/endereço de email
    8. Editar a associação de grupo de um usuário
    9. Editar a associação de grupo de usuários por meio da interface de grupo
    10. Promover um usuário a uma função de admin
    11. Tipos de identidade de usuário e logon único
    12. Alternar identidade de usuário
    13. Autenticar usuários com o MS Azure
    14. Autenticar usuários com a federação do Google
    15. Perfis de produto
    16. Experiência de logon 
  3. Configurações de conta/grupo
    1. Visão geral das configurações
    2. Configurações globais
      1. Nível de conta e ID
      2. Fluxos de trabalho de autoassinatura
      3. Envio em massa
      4. Formulários web
      5. Fluxos de trabalho de envio personalizados
      6. Fluxos de trabalho do Power Automate
      7. Documentos da biblioteca
      8. Coletar dados de formulário com contratos
      9. Visibilidade de documento limitada
      10. Anexar uma cópia em PDF do contrato assinado 
      11. Incluir um link no email
      12. Incluir uma imagem no email
      13. Arquivos anexados a emails receberão o nome
      14. Anexar relatórios de auditoria a documentos
      15. Mesclar vários documentos em um
      16. Fazer upload de um documento assinado
      17. Delegação para usuários da minha conta
      18. Permitir que destinatários externos deleguem
      19. Autoridade para assinar
      20. Autoridade para enviar
      21. Autoridade para adicionar selos eletrônicos
      22. Definir um fuso horário padrão
      23. Definir um formato de data padrão
      24. Usuários em vários grupos (UMG)
        1. Atualizar para usar o UMG
      25. Permissões de admin de grupo
      26. Substituir destinatário
      27. Relatório de auditoria
        1. Visão geral
        2. Permitir acesso não autenticado na página de verificação de transação
        3. Incluir lembretes
        4. Incluir eventos de exibição
        5. Incluir contagem de páginas e anexos do contrato
      28. Mensagens e orientações nos produtos
      29. PDFs acessíveis
      30. Nova experiência de criação
      31. Cliente do setor de saúde
    3. Configuração da conta
      1. Adicionar logotipo
      2. Personalizar nome do host e URL da empresa    
      3. Adicionar nome da empresa
      4. Redirecionamento de URL pós-conclusão de contrato
    4. Preferências de assinatura
      1. Assinaturas bem formatadas
      2. Permitir que destinatários assinem por
      3. Permitir que signatários alterem seus nomes
      4. Permitir que os destinatários usem a assinatura salva
      5. Divulgação do cliente e Termos de uso personalizados
      6. Navegar pelos destinatários em campos de formulário
      7. Recusar-se a assinar
      8. Permitir fluxos de trabalho de carimbo
      9. Exigir que signatários informem o cargo ou empresa
      10. Permitir que os signatários imprimam e insiram uma assinatura manuscrita
      11. Mostrar mensagens ao assinar eletronicamente
      12. Exigir que signatários usem um dispositivo móvel para criar assinaturas
      13. Solicitar endereço IP dos signatários
      14. Excluir o nome da empresa e o cargo dos carimbos de participação
    5. Assinaturas digitais
      1. Visão geral
      2. Baixar e assinar com o Acrobat
      3. Assinar com assinaturas em nuvem
      4. Incluir metadados para provedores de identidade
      5. Provedores de assinatura em nuvem restritos
    6. Selos eletrônicos
    7. Identidade digital
      1. Gateway de identidade digital
      2. Política de verificação de identidade
    8. Configurações de relatório
      1. Nova experiência de relatório
      2. Configurações clássicas de relatório
    9. Configurações de segurança
      1. Configurações de logon único
      2. Configurações de lembrete pessoal
      3. Política de senha de logon
      4. Nível de segurança da senha de logon
      5. Duração da sessão da Web
      6. Tipo de criptografia PDF
      7. API
      8. Acesso às informações de usuários e grupos
      9. Intervalos de IP permitidos
      10. Compartilhamento de conta
      11. Permissões de compartilhamento da conta
      12. Controles de compartilhamento de contrato
      13. Verificação de identidade de signatário
      14. Senha de assinatura do contrato
      15. Nível de segurança da senha do documento
      16. Bloquear signatários por geolocalização
      17. Autenticação por telefone
      18. Autenticação baseada em conhecimento (KBA)
      19. Permitir extração de página
      20. Validade do link do documento
      21. Fazer upload de um certificado de cliente para webhooks e retornos de chamada
      22. Carimbo de data e hora
    10. Configurações de envio
      1. Mostrar a página Enviar após o logon
      2. Solicitar nome do destinatário ao enviar
      3. Bloquear valores de nome para usuários conhecidos
      4. Funções de destinatário permitidas
      5. Grupos de destinatários
      6. Campos obrigatórios
      7. Anexar documentos
      8. Compactar campo
      9. Modificar contratos
      10. Nome do contrato
      11. Idiomas
      12. Mensagens privadas
      13. Tipos de assinatura permitidos
      14. Lembretes
      15. Proteção com senha de documentos assinados
      16. Opções de identificação do signatário
        1. Visão geral
        2. Senha de assinatura
        3. Senha de uso único por email
        4. Autenticação do Acrobat Sign
        5. Autenticação por telefone
        6. Assinatura digital baseada na nuvem
        7. Autenticação baseada em conhecimento
        8. Documento de identidade
        9. Relatórios de identidade do signatário
      17. Proteção de conteúdo
      18. Habilitar transações da Notarize
      19. Expiração do documento
      20. Visualizar, posicionar assinaturas e adicionar campos
      21. Ordem de assinatura
      22. Liquid Mode
      23. Controles de fluxo de trabalho personalizados
      24. Opções de upload para a página de assinatura eletrônica
      25. URL de redirecionamento para confirmação pós-assinatura
    11. Modelos de mensagem
    12. Configurações de Bio-Pharma
      1. Visão geral
      2. Autenticação de identidade aplicada
      3. Motivos para assinar
    13. Integração de fluxo de trabalho
    14. Configurações de autenticação
    15. Integração de pagamento
    16. Mensagens para signatários
    17. Configurações de SAML
      1. Configuração de SAML
      2. Instalar o serviço de federação do Microsoft Active Directory.
      3. Instalar Okta
      4. Instalar OneLogin
      5. Instalar a federação de identidade da Oracle
    18. Governança de dados
    19. Configurações de carimbo de data e hora
    20. Arquivo externo
    21. Idiomas da conta
    22. Configurações de email
      1. Imagens de cabeçalho e rodapé do email
      2. Permitir rodapés de email de usuário individual
      3. Personalizar o email de solicitação de assinatura
      4. Personalizar os campos Para e CC
      5. Modelos de email personalizados
      6. Habilitar notificações sem link
    23. Migração de echosign.com para adobesign.com
    24. Opções de configuração para destinatários
  4. Orientações com respeito aos requisitos normativos
    1. Acessibilidade
      1. Conformidade de acessibilidade
      2. Criar formulários acessíveis com o Acrobat para desktop
      3. Criar Acroforms acessíveis
    2. HIPAA
    3. GDPR
      1. Visão geral do GDPR
      2. Redigir um usuário
      3. Redigir contratos de um usuário    
    4. 21 CFR parte 11 e EudraLex anexo 11
      1. Pacote de validação do 21 CRF parte 11
      2. Manual EudraLex, anexo 11 e 21 CFR
      3. Análise das responsabilidades compartilhadas
    5. Clientes do setor de saúde
    6. Suporte a IVES
    7. “Armazenamento” de contratos
    8. Considerações para a UE e Reino Unido
      1. Transações transfronteiriças da UE/Reino Unido e eIDAS
      2. Requisitos HMLR para escrituras assinadas eletronicamente
      3. O impacto do Brexit nas leis de assinatura eletrônica do Reino Unido
  5. Baixar contratos em massa
  6. Reivindicar um domínio 

Enviar, assinar e gerenciar contratos

  1. Opções do destinatário
    1. Cancelar um lembrete de email
    2. Opções na página de assinatura eletrônica
      1. Visão geral da página de assinatura eletrônica
      2. Abrir para ler o contrato sem campos
      3. Recusar-se a assinar um contrato
      4. Delegar autoridade de assinatura
      5. Reiniciar o contrato
      6. Baixar um PDF do contrato
      7. Exibir o histórico do contrato
      8. Exibir as mensagens do contrato
      9. Converter de uma assinatura eletrônica para uma assinatura manuscrita
      10. Converter de uma assinatura manuscrita para uma assinatura eletrônica 
      11. Navegar pelos campos do formulário
      12. Limpar os dados dos campos de formulário
      13. Ampliação e navegação da página de assinatura eletrônica
      14. Alterar o idioma usado nas ferramentas e informações do contrato
      15. Revisar os Avisos legais
      16. Ajustar as preferências de cookies do Acrobat Sign
  2. Enviar contratos  
    1. Visão geral da página Enviar
    2. Enviar um contrato somente para você
    3. Enviar um contrato para outras pessoas
    4. Assinaturas manuscritas
    5. Ordem de assinatura dos destinatários
    6. Envio em massa
      1. Visão geral do recurso de Envio em massa
      2. Envio em massa - Destinatários manuais
      3. Envio em massa - Upload de CSV
      4. Cancelar uma transação de Envio em massa
      5. Adicionar lembretes de Envio em massa
      6. Relatórios de Envio em massa
  3. Criar campos em documentos
    1. Ambiente de criação no aplicativo
      1. Detecção automática de campo
      2. Arrastar e soltar campos usando o ambiente de criação
      3. Atribuir campos de formulário aos destinatários
      4. Função de preenchimento prévio
      5. Aplicar campos com um modelo de campo reutilizável
      6. Transferir campos para um novo modelo de biblioteca
      7. Ambiente de criação atualizado ao enviar contratos
    2. Criar formulários e tags de texto
    3. Criar formulários usando o Acrobat (Acroforms)
      1. Criação do Acroform
      2. Criar PDFs acessíveis
    4. Campos
      1. Tipos de campos
        1. Tipos de campo comuns
        2. Imagens incorporadas
        3. Imagens do carimbo
      2. Aparência do conteúdo do campo
      3. Validações de campo
      4. Valores de campos ocultos
      5. Definir condições para mostrar e ocultar
      6. Campos calculados 
    5. Perguntas frequentes sobre criação
  4. Assinar contratos
    1. Assinar contratos enviados a você
    2. Preencher e assinar
    3. Autoassinatura
  5. Gerenciar contratos
    1. Visão geral da página Gerenciar
    2. Delegar contratos
    3. Substituir destinatários
    4. Limitar a visibilidade do documento 
    5. Cancelar um contrato 
    6. Criar novos lembretes
    7. Revisar lembretes
    8. Cancelar um lembrete
    9. Mais ações...
      1. Como a pesquisa funciona
      2. Visualizar um contrato
      3. Criação de um modelo a partir de um contrato
      4. Ocultar ou reexibir contratos
      5. Fazer upload de um contrato assinado
      6. Modificar os arquivos e campos de um contrato enviado
      7. Editar o método de autenticação de um destinatário
      8. Adicionar ou modificar uma data de expiração
      9. Adicionar uma nota ao contrato
      10. Compartilhar um contrato individual
      11. Deixar de compartilhar um contrato
      12. Baixar um contrato individual
      13. Baixar os arquivos individuais de um contrato
      14. Baixar o relatório de auditoria de um contrato
      15. Baixar o conteúdo dos campos de um contrato
  6. Relatório de auditoria
  7. Relatórios e exportações de dados
    1. Visão geral
    2. Conceder aos usuários acesso aos relatórios
    3. Gráficos de relatório
      1. Criar novo relatório
      2. Relatórios de contrato
      3. Relatórios de transação
      4. Relatório de atividades de configuração
      5. Editar um relatório
    4. Exportações de dados 
      1. Criar uma nova exportação de dados
      2. Editar uma exportação de dados
      3. Atualizar o conteúdo da exportação de dados
      4. Baixar a exportação de dados
    5. Renomear um relatório ou exportação
    6. Duplicar um relatório ou exportação
    7. Agendar um relatório ou exportação
    8. Excluir um relatório ou exportação
    9. Verificar o uso de transações

Recursos e fluxos de trabalho avançados de contratos

  1. Formulários web 
    1. Criar um formulário web
    2. Editar um formulário web
    3. Desabilitar ou habilitar um formulário web
    4. Ocultar ou reexibir um formulário web
    5. Localizar o URL ou o código de script 
    6. Preencher campos de formulário web com parâmetros de URL
    7. Salvar um formulário web para concluir mais tarde
    8. Redimensionar um formulário web
  2. Modelos reutilizáveis (modelos de biblioteca) 
    1. Formulários do governo dos EUA na biblioteca do Acrobat Sign
    2. Criar um modelo de biblioteca
    3. Alterar o nome de um modelo de biblioteca
    4. Alterar o tipo de um modelo de biblioteca
    5. Alterar o nível de permissão de um modelo de biblioteca
    6. Copiar, editar e salvar um modelo compartilhado
    7. Baixar os dados de campo agregado de um modelo de biblioteca
  3. Transferir a propriedade de formulários web e modelos de biblioteca
  4. Fluxos de trabalho do Power Automate 
    1. Visão geral da integração com o Power Automate e direitos incluídos
    2. Habilitar a integração do Power Automate
    3. Acompanhamento do uso do Power Automate
    4. Criar um novo fluxo (exemplos)
    5. Acionadores usados para fluxos
    6. Importação de fluxos de fora do Acrobat Sign
    7. Gerenciar fluxos
    8. Editar fluxos
    9. Compartilhar fluxos
    10. Desabilitar ou habilitar fluxos
    11. Excluir fluxos
    12. Modelos úteis
      1. Somente admins
        1. Salvar todos os documentos concluídos no SharePoint
        2. Salvar todos os documentos concluídos no OneDrive for Business
        3. Salvar todos os documentos concluídos no Google Drive
        4. Salvar todos os documentos concluídos no Dropbox
        5. Salvar todos os documentos concluídos no Box
      2. Arquivar o contrato
        1. Salvar seus documentos concluídos no SharePoint
        2. Salvar seus documentos concluídos no OneDrive for Business
        3. Salvar seus documentos concluídos no Google Drive
        4. Salvar seus documentos concluídos no Dropbox
        5. Salvar seus documentos concluídos no Box
      3. Arquivar o contrato de formulário web
        1. Salvar documentos de formulários web concluídos na biblioteca do SharePoint
        2. Salvar documentos de formulários web concluídos no OneDrive for Business
        3. Salvar documentos concluídos no Google Drive
        4. Salvar documentos de formulários web concluídos no Box
      4. Extração de dados do contrato
        1. Extraia dados de campos de formulário do documento assinado e atualize a planilha do Excel
      5. Notificações de contrato
        1. Enviar notificações personalizadas por email com o conteúdo do contrato e o contrato assinado
        2. Receba notificações do Adobe Acrobat Sign em um canal do Teams
        3. Receba notificações do Adobe Acrobat Sign no Slack
        4. Receba notificações do Adobe Acrobat Sign no Webex
      6. Geração de contrato
        1. Gerar documento a partir de um modelo do Word e formulário do Power App, e enviar para assinatura
        2. Gere um contrato a partir de um modelo do Word no OneDrive e obter a assinatura
        3. Gerar contrato para a linha selecionada do Excel e enviar para revisão e assinatura
  5. Fluxos de trabalho de envio personalizados
    1. Visão geral do fluxo de trabalho de envio personalizado
    2. Criar um novo fluxo de trabalho de envio
    3. Editar um fluxo de trabalho de envio
    4. Ativar ou desativar um fluxo de trabalho de envio
    5. Enviar um contrato com um fluxo de trabalho de envio
  6. Compartilhar usuários e contratos
    1. Compartilhar um usuário
    2. Compartilhar contratos

Integrar a outros produtos

  1.  Visão geral das integrações do Acrobat Sign 
  2. Acrobat Sign para Salesforce
  3. Acrobat Sign para Microsoft
    1. Acrobat Sign para Microsoft 365
    2. Acrobat Sign para Outlook
    3. Acrobat Sign para Word/PowerPoint
    4. Acrobat Sign para Teams
    5. Acrobat Sign para Microsoft PowerApps e Power Automate
    6. Conector do Acrobat Sign para Microsoft Search
    7. Acrobat Sign para Microsoft Dynamics 
    8. Acrobat Sign para Microsoft SharePoint 
  4. Outras integrações
    1. Acrobat Sign for ServiceNow
    2. Acrobat Sign for HR ServiceNow
    3. Acrobat Sign for SAP SuccessFactors
    4. Acrobat Sign for Workday
    5. Acrobat Sign for NetSuite
    6. Acrobat Sign for VeevaVault
    7. Acrobat Sign for Coupa BSM Suite
  5. Integrações gerenciadas por parceiro
  6. Como obter uma chave de integração

Acrobat Sign Developer

  1. APIs REST 
    1. Documentação de métodos
    2. Guia do desenvolvedor e SDK
    3. Perguntas frequentes sobre API 
  2. Webhooks 
    1. Visão geral do webhook
    2. Configurar um novo webhook
    3. Exibir ou editar um webhook
    4. Desativar ou reativar um webhook
    5. Excluir um webhook
    6. Certificados SSL bidirecionais
    7. Webhooks na API

Suporte e solução de problemas

  1. Recursos de suporte ao cliente
  2. Recursos de sucesso do cliente corporativo 

Visão geral

Um webhook é uma solicitação HTTPS definida pelo usuário que é acionada quando um evento inscrito ocorre no site de origem (neste caso, o Adobe Acrobat Sign).

Basicamente, um webhook é um serviço REST que aceita dados ou um fluxo de dados.

Os webhooks são destinados para comunicação serviço a serviço em um modelo de PUSH.

Quando um evento inscrito é acionado, o Acrobat Sign constrói um POST HTTPS com um corpo JSON e o envia ao URL especificado.

Antes de configurar webhooks, certifique-se de que sua rede aceitará os intervalos de IP necessários para a funcionalidade.

 

Os webhooks oferecem vários benefícios em relação ao método de callback anterior, entre eles:

  • Os administradores podem ativar seus webhooks sem precisar envolver o suporte do Acrobat Sign para listar o URL do callback
  • Os webhooks oferecem dados mais atualizados, mais eficiência de comunicação e segurança. Não há necessidade de sondagem
  • Os webhooks permitem diferentes níveis de escopo (Conta/Grupo/Usuário/Recurso) com facilidade. 
  • Os webhooks são uma solução de API mais moderna, permitindo uma configuração mais fácil de aplicativos modernos
  • Vários webhooks podem ser configurados por escopo (Conta/Grupo/Usuário/Recurso), enquanto os callbacks precisavam ser exclusivos
  • Os webhooks permitem selecionar os dados a serem retornados, enquanto os callbacks são uma solução “tudo ou nada”
  • Os metadados transportados com um webhook podem ser configurados (básicos ou detalhados)
  • Os webhooks são muito mais fáceis de criar, editar ou desativar conforme necessário, já que a interface está totalmente sob o controle do administrador.
Observação:

Este documento concentra-se principalmente na interface de webhooks no aplicativo web do Acrobat Sign (anteriormente Adobe Sign).

Os desenvolvedores que estão procurando detalhes da API podem encontrar mais informações aqui:

Pré-requisitos

Você deve permitir os intervalos de IP dos webhooks na segurança da rede para que o serviço funcione. 

O serviço de URL de retorno de chamada herdado em REST v5 usa os mesmos intervalos de IP que o serviço de webhook.

Admins podem fazer logon no Adobe Admin Console para adicionar usuários. Depois de fazer logon, acesse o menu de administração e role a tela para baixo até Webhooks.

Como é usada

Os administradores precisarão primeiro de um serviço de webhook pronto para aceitar o push de entrada do Acrobat Sign. Há muitas opções a esse respeito e, desde que o serviço possa aceitar solicitações POST e GET, o webhook terá êxito.

Quando o serviço estiver em funcionamento, um administrador do Acrobat Sign poderá criar um novo webhook na interface do Webhook no menu Conta, do site do Acrobat Sign.

Os administradores podem configurar o acionamento do webhook para eventos de Contrato, Formulário web (Widget) ou Envio em massa (MegaSign). O recurso Modelo de biblioteca (Documento da biblioteca) também pode ser configurado por meio da API.

O escopo do webhook pode incluir a conta inteira ou grupos individuais por meio da interface do administrador. A API permite mais granularidade por meio da seleção dos escopos USUÁRIO ou RECURSO.

O tipo de dados que é enviado ao URL é configurável e pode incluir itens como informações do contrato, do participante, do documento e assim por diante.

Depois que o webhook é configurado e salvo, o Acrobat Sign envia um novo objeto JSON ao URL definido sempre que o evento inscrito é acionado. Nenhuma manipulação contínua do webhook é necessária, a menos que você queira alterar os critérios do acionador do evento ou a carga JSON.

Verificação de intenção do URL do webhook

Antes de registrar um webhook com sucesso, o Acrobat Sign verifica se o URL do webhook fornecido na solicitação de registro realmente deseja receber notificações ou não. Para essa finalidade, quando o Acrobat Sign recebe uma nova solicitação de registro de webhook, ele primeiro faz uma solicitação de verificação ao URL do webhook. Esta solicitação de verificação é uma solicitação GET HTTPS enviada ao URL do webhook. Ela tem um cabeçalho HTTP personalizado X-AdobeSign-ClientId. O valor desse cabeçalho é definido como a ID do cliente (ID do aplicativo) do aplicativo da API que está solicitando a criação/registro do webhook. Para registrar um webhook com sucesso, o URL do webhook deve responder a essa solicitação de verificação com um código de resposta 2XX E, além disso, ele DEVE enviar de volta o mesmo valor de ID de cliente de uma de duas maneiras:

  • Em um cabeçalho de resposta X-AdobeSign-ClientId. Esse é o mesmo cabeçalho transmitido na solicitação e repetido na resposta.
  • Ou no corpo da resposta JSON, com a chave de xAdobeSignClientId e seu valor sendo a mesma ID de cliente enviada na solicitação.

O webhook será registrado com êxito apenas em uma resposta de sucesso (código de resposta 2XX) e validação da ID do cliente no cabeçalho ou no corpo da resposta. A finalidade dessa solicitação de verificação é demonstrar que o URL do webhook realmente deseja receber notificações nesse URL. Se você inseriu acidentalmente o URL errado, ele não responderá corretamente à solicitação de verificação de intenção e o Acrobat Sign não enviará nenhuma notificação para esse URL. Além disso, o URL do webhook também pode validar que ele receberia notificações apenas por meio dos webhooks registrados por um aplicativo específico. Isso pode ser feito validando a ID do cliente do aplicativo passado no cabeçalho X-AdobeSign-ClientId. Se o URL do webhook não reconhecer essa ID de cliente, ele NÃO DEVERÁ responder com o código da resposta de sucesso e o Acrobat Sign cuidará para que o URL não seja registrado como um webhook.

A verificação da chamada de URL do webhook será feita nos seguintes cenários:

  • Registro do webhook: se essa verificação da chamada de URL do webhook falhar, o webhook não será criado.
  • Atualização do webhook: INATIVO para ATIVO: se essa verificação da chamada de URL do webhook falhar, o estado do webhook não será alterado para ATIVO.

Como responder a uma notificação de webhook

O Acrobat Sign executa uma verificação implícita de intenção em cada solicitação de notificação do webhook enviada ao URL do webhook. Assim, cada solicitação HTTPS de notificação do webhook também contém o cabeçalho HTTP personalizado chamado X-AdobeSign-ClientId. O valor desse cabeçalho é a ID do cliente (ID do aplicativo) do aplicativo que criou o webhook. Consideraremos que a notificação do webhook foi entregue com êxito apenas se uma resposta de sucesso (código de resposta 2XX) for retornada e a ID do cliente for enviada no cabeçalho HTTP (X-AdobeSign-ClientId) ou por meio de um corpo de resposta JSON que contém xAdobeSignClientId como chave e a mesma ID de cliente como valor. Caso contrário, tentaremos enviar a notificação novamente para o URL do webhook até que as tentativas sejam esgotadas.

Como mencionado acima, o cabeçalho “X-AdobeSign-ClientId”, que é incluído em cada solicitação de notificação do Sign, deve ter seu valor (ID do cliente) repetido como resposta em uma de duas maneiras:

1. Cabeçalho HTTP X-AdobeSign-ClientId e o valor como essa ID de cliente

Exemplo de código JavaScript para obter a ID do cliente, validá-la e, em seguida, retorná-la no cabeçalho da resposta

// Buscar ID do cliente

var clientid = request.headers['X-ADOBESIGN-CLIENTID'];

 

//Validar

if (clientid ==="BGBQIIE7H253K6") //Substituir “BGBQIIE7H253K6” pela ID de cliente do aplicativo no qual o webhook foi criado

{

    //Retornar no cabeçalho da resposta

    response.headers['X-AdobeSign-ClientId'] = clientid;

    response.status = 200; // valor padrão

}

Exemplo de código PHP para obter a ID do cliente, validá-la e depois retorná-la no cabeçalho da resposta

<?php

// Buscar ID do cliente

$clientid = $_SERVER['HTTP_X_ADOBESIGN_CLIENTID'];

//Validar

if($clientid == "BGBQIIE7H253K6") //Substituir “BGBQIIE7H253K6” pela ID de cliente do aplicativo no qual o webhook foi criado

{

    //Retornar no cabeçalho da resposta

   header("X-AdobeSign-ClientId:$clientid");

   header("HTTP/1.1 200 OK"); // valor padrão

}

?>


2. Corpo da resposta JSON com xAdobeSignClientId como chave e o valor como a mesma ID de cliente

Exemplo de código JavaScript para obter a ID do cliente, validá-la e retorná-la no corpo da resposta

// Buscar ID do cliente

var clientid = request.headers['X-ADOBESIGN-CLIENTID'];

 

 

//Validar

if (clientid ==="BGBQIIE7H253K6") //Substituir “BGBQIIE7H253K6” pela ID de cliente do aplicativo no qual o webhook foi criado

{

    var responseBody = {

                         "xAdobeSignClientId" : clientid // Retorna a ID de cliente no corpo

                       };

    response.headers['Content-Type'] = 'application/json';

    response.body = responseBody;

    response.status = 200;

}

Exemplo de código PHP para obter a ID do cliente, validá-la e retorná-la no corpo da resposta

<?php

// Buscar ID do cliente

$clientid = $_SERVER['HTTP_X_ADOBESIGN_CLIENTID'];

//Validar

if($clientid == "BGBQIIE7H253K6") //Substituir “BGBQIIE7H253K6” pela ID de cliente do aplicativo no qual o webhook foi criado

{

   //Retornar no corpo da resposta

   header("Content-Type: application/json");

   $body = array('xAdobeSignClientId' => $clientid);

   echo json_encode($body);

   header("HTTP/1.1 200 OK"); // valor padrão

}

?>

Amostra do corpo do JSON da resposta

{

    "xAdobeSignClientId": "BGBQIIE7H253K6"

}

Pré-requisitos

Você precisará de:

  1. Uma conta da Microsoft com licença para criar Aplicativos de funções do Azure
  2. Um Aplicativo de função do Azure existente. Você pode criar um usando https://docs.microsoft.com/pt-br/azure/azure-functions/functions-create-first-azure-function 
  3. Conhecimento básico de Javascript para que você possa entender e escrever o código na linguagem que quiser

Etapas para criar um Acionador de funções do Azure que serve como um webhook do Acrobat Sign

Para criar uma função de acionamento HTTP Javascript:

1. Faça logon usando sua conta da Microsoft https://portal.azure.com/

2. Abra o Aplicativo de Função do Azure exibido na guia Aplicativos de Função.

Navegue até aplicativos de função no Azure

Isso abrirá sua lista de Aplicativos de Função do Azure:

3. Escolha o aplicativo no qual deseja criar essa nova função

4. Clique no botão Criar (+) para criar uma nova função do Azure

Criar uma função do Azure

 

5. Selecione Webhook + API como o cenário e Javascript como a linguagem

6. Clique em Criar esta função

Uma nova função que tem a capacidade de manipular uma solicitação de API de entrada é criada.

Adicione a lógica para registrar o webhook do Acrobat Sign

Antes de registrar um webhook com êxito, o Acrobat Sign verifica se o URL do webhook fornecido na solicitação de registro realmente deseja receber notificações ou não. Para essa finalidade, quando uma nova solicitação de registro do webhook é recebida pelo Acrobat Sign, ele primeiro faz uma solicitação de verificação ao URL do webhook. Esta solicitação de verificação é uma solicitação HTTPS GET enviada ao URL do webhook com um cabeçalho HTTP personalizado X-AdobeSign-ClientId. O valor neste cabeçalho é definido para a ID de cliente do aplicativo que está solicitando a criação/registro do webhook. Para registrar um webhook com êxito, o URL do webhook deve responder a essa solicitação de verificação com um código de resposta 2XX E, além disso, deve retornar o valor da mesma ID de cliente de uma das duas maneiras a seguir.

Há duas opções que você pode seguir:


Opção 1: passar a ID do cliente no X-AdobeSign-ClientId como cabeçalho da resposta

Passar o X-AdobeSign-ClientId no cabeçalho da resposta. Esse é o mesmo cabeçalho transmitido na solicitação e que deve ser repetido na resposta.

Substitua o arquivo Index.js pelo seguinte:

Substituir o arquivo index.js

module.exports = function (context, req) {

    var clientId = req.headers['x-adobesign-clientid'];

    // Validar que a ID de cliente de entrada é autêntica

    if (clientId === '123XXX456') {

        context.res = {

            // status: 200, /* O padrão é 200 */ // qualquer resposta 2XX é aceitável

            body: "Notification Accepted",

            headers : {

                'x-adobesign-clientid' : req.headers['x-adobesign-clientid']

            }

        };

    }

    else {

        context.res = {

            status: 400,

            body: "Opps!! Illegitimate Call identified"

        };

    }

    context.done();

};

 

Teste o comportamento simulando a solicitação:

1. Clique no botão Teste no canto mais à direita

2. Simule a solicitação

Testar a função

Embora os cabeçalhos de resposta não sejam mostrados acima, você pode observá-los ao simular no Postman/DHC ou qualquer outro serviço.


Opção 2: passe a ID do cliente no corpo da resposta com a chave xAdobeSignClientId

No corpo da resposta JSON, com a chave xAdobeSignClientId e seu valor sendo a mesma ID de cliente enviada no cabeçalho de solicitação.

Substitua o arquivo Index.js pelo seguinte:

Atualizar o conteúdo do arquivo index.js

module.exports = function (context, req) {

    var clientId = req.headers['x-adobesign-clientid'];

    // Validar que a ID de cliente de entrada é autêntica

    if (clientId === '123XXX456') {

        context.res = {

            // status: 200, /* O padrão é 200 */ // qualquer resposta 2XX é aceitável

            body: {

                'xAdobeSignClientId' : clientId

            },

            headers : {

                'Content-Type' : 'application/json'

            }

        };

    }

    else {

        context.res = {

            status: 400,

            body: "Opps!! Illegitimate Call identified"

        };

    }

    context.done();

};

 

Teste o comportamento simulando a solicitação

1. Clique no botão Teste no canto mais à direita

2. Simule a solicitação

Testar a função

Observe também que o mesmo comportamento para a ID de cliente é esperado quando o URL do webhook recebe notificações POST. 


Pronto para uso

Depois de verificar o comportamento, o URL do webhook é funcional de acordo com os padrões do Acrobat Sign. Você pode atualizar ainda mais a lógica personalizada conforme suas necessidades.

 

Obter o URL da função

  • Clique em Obter o URL da função
Obter o URL da função

 

Copie o URL e use-o para criar webhooks no Acrobat Sign.

Copiar o URL da função

Criação da função AWS Lambda

Para criar uma função AWS Lambda, faça logon no AWS Management Console e selecione o serviço AWS Lambda na lista de serviços.

  • Clique em Criar uma função Lambda usando a opção “”Author From Scratch”
  • Na página Configurar função, insira o nome da função “lambdaWebhooks” e selecione o Node.js 4.3 como Runtime
  • Para a Função, escolha uma função existente ou crie uma nova a partir do(s) modelo(s)
    • Se você escolheu Criar nova função a partir do(s) modelo(s) insira um nome de função (por exemplo, role-lambda) e selecione Permissões simples de microsserviços na lista de Modelos de política
  • Clique no botão Criar função
Criar uma função no AWS

  • Na página da nova função de lambda do AWS, selecione “Editar código incorporado” como “Tipo de entrada de código” e mantenha o index.handler como Handler.
  • Adicionar lógica para registrar o webhook do Acrobat Sign

    Antes de registrar um webhook com êxito, o Acrobat Sign verifica se o URL do webhook fornecido na solicitação de registro realmente deseja receber notificações ou não. Para essa finalidade, quando uma nova solicitação de registro do webhook é recebida pelo Acrobat Sign, ele primeiro faz uma solicitação de verificação ao URL do webhook. Esta solicitação de verificação é uma solicitação HTTPS GET enviada ao URL do webhook com um cabeçalho HTTP personalizado X-AdobeSign-ClientId. O valor neste cabeçalho é definido para a ID de cliente do aplicativo que está solicitando a criação/registro do webhook. Para registrar um webhook com êxito, o URL do webhook deve responder a essa solicitação de verificação com um código de resposta 2XX E, além disso, deve retornar o valor da mesma ID de cliente de uma das duas maneiras a seguir. Observe também que o mesmo comportamento para a ID do cliente é esperado quando o URL do webhook recebe notificações POST. 

    Siga um destes dois casos:

    Caso 1: passar a ID do cliente no X-AdobeSign-ClientId como cabeçalho da resposta

    •  Passar X-AdobeSign-ClientId no cabeçalho da resposta. Esse é o mesmo cabeçalho transmitido na solicitação e que deve ser repetido na resposta.

      Snippet de código
      No arquivo index.js, substitua o trecho de código gerado automaticamente pelo seguinte código:

Exemplo de código do Node JS para obter a ID do cliente, validá-la e, em seguida, devolvê-la no cabeçalho da resposta

exports.handler = function index(event, context, callback) {

  // Buscar ID do cliente

  var clientid = event.headers['X-AdobeSign-ClientId'];

 

  //Validar

  if (clientid =="BGBQIIE7H253K6") //Substitua 'BGBQIIE7H253K6' pela ID do cliente do aplicativo no qual o webhook foi criado

  {

    var response = {

        statusCode: 200,

        headers: {

            "X-AdobeSign-ClientId": clientid

        }

     };

   callback(null,response);

  }

  else {

   callback("Oops!! illegitimate call");

  }

}

 

Caso 2: passar a ID do Cliente no corpo da resposta com a chave xAdobeSignClientId

No corpo da resposta JSON, com a chave de xAdobeSignClientId e seu valor sendo a mesma ID de cliente enviada na solicitação.

 

Trecho de código

Substitua o arquivo Index.js pelo seguinte:

Exemplo de código do Node JS para obter a ID do cliente, validá-la e, em seguida, devolvê-la no cabeçalho da resposta

exports.handler = function index(event, context, callback) {

 // Buscar ID do cliente

 var clientid = event.headers['X-AdobeSign-ClientId'];

  

 //Validar

 if (clientid =="BGBQIIE7H253K6") //Substitua 'BGBQIIE7H253K6' pela ID do cliente do aplicativo em que o webhook foi criado

 {

   var responseBody = {

        xAdobeSignClientId : clientid

   };

     

    var response = {

        statusCode: 200,

        body: JSON.stringify(responseBody)

    };

 

   callback(null,response);

 }

 else {

   callback("Opps!! illegitimate call");

  }

}

Atualizar o conteúdo do arquivo index.js

  • Salve a função. A função Lambda é criada e estamos quase prontos para usá-la em um webhook em tempo real.

 

Configuração do AWS API Gateway

Para tornar esse Lambda acessível publicamente por meio de um método HTTP, precisamos configurar o AWS API Gateway usando nossa função (criada acima) como back-end para a API.

No Console de Gerenciamento da AWS, selecione API Gateway nos serviços da AWS e clique no botão Criar API

Configurar o gateway da API

  • No página Criar nova API, selecione Nova API e insira webhooks como o Nome da API.
  • Clique no botão Criar API
  • Selecione a lista suspensa Ações e selecione a opção Criar recurso
  • Verifique a opção Configurar como recurso proxy e digite validar como o Nome do recurso e {proxy+} no Caminho do Recurso
  • Deixe a opção Habilitar CORS do API Gateway desmarcada e clique no botão Criar recurso
  • Mantenha o Proxy de Função Lambda selecionado como Tipo de integração e selecione a região em que você criou a função Lambda na lista suspensa Região de Lambda (provavelmente é a mesma região onde você está criando o gateway da API).
  • Insira validar como a Função Lambda e clique no botão Salvar
  • Na janela pop-up Adicionar Permissão à Função Lambda, selecione OK

Se todas as etapas acima forem executadas com êxito, você verá algo como:

Método configurado

Implantação de API

A próxima etapa é implantar essa API para que ela fique pronta para uso.

  • No menu suspenso Ações, selecione Implantar API
  • Selecione [Novo Estágio] no Estágio de implantação e insira prod (ou o que quiser para identificar esse estágio) no Nome do estágio
  • Clique no botão Implantar

A API está pronta para uso e você pode encontrar o URL invocado na caixa azul, conforme mostrado abaixo:

Implantar a API

Anote este URL, pois você precisará inseri-lo como seu URL de webhook em tempo real.

Pronto para uso

Está feito. Use o URL acima com “/{nodeJSfunctionName}” anexado como URL do webhook na solicitação da API POST /webhooks.  Depois de verificar o comportamento, o URL do webhook estará funcional de acordo com os
Padrões do Acrobat Sign. Você pode atualizar/adicionar a lógica personalizada conforme sua necessidade.

Como ativar ou desativar

O acesso ao recurso Webhooks fica ativado por padrão para contas corporativas.

Os administradores de nível de grupo podem criar/controlar apenas os webhooks que operam no grupo deles.

O acesso à página do webhooks pode ser encontrado no painel esquerdo do menu Administrador.

Acessar a guia Webhooks

Práticas recomendadas

  • Inscreva-se em eventos específicos e necessários para limitar o número de solicitações HTTPS ao servidor - quanto mais específicos forem seus webhooks, menor será o volume necessário para examinar.
  • Seja resistente a duplicidades - se você tiver mais de um aplicativo compartilhando o mesmo URL do webhook e o mesmo usuário mapeado para cada aplicativo, o mesmo evento será enviado para o webhook várias vezes (uma vez por aplicativo). Em alguns casos, o webhook pode receber eventos duplicados. Seu aplicativo de webhook deve ser tolerante a isso e remover as duplicidades por ID de evento.
  • Sempre responda a webhooks rapidamente - seu aplicativo tem apenas dez segundos para responder a solicitações de webhook. Para a solicitação de verificação, isso raramente é um problema, já que seu aplicativo não terá nenhum trabalho de fato para responder. No entanto, para solicitações de notificação, seu aplicativo geralmente fará algo que consome tempo em resposta à solicitação. É recomendável trabalhar em um thread separado ou de forma assíncrona usando uma fila para garantir que você possa responder dentro de cinco segundos
  • Gerenciar concorrência - quando um usuário faz várias alterações numa sequência rápida, é provável que o aplicativo receba várias notificações para o mesmo usuário, aproximadamente ao mesmo tempo. Se você não tiver cuidado com o gerenciamento de concorrência, seu aplicativo pode acabar processando as mesmas alterações do mesmo usuário mais de uma vez. Para aproveitar os webhooks do Acrobat Sign, é necessário entender claramente o uso das informações. Faça perguntas como: 
    • Quais dados você deseja que retornem na carga? 
    • Quem terá acesso a estas informações? 
    • Que decisões ou relatórios serão gerados?
  • Recomendações para recebimento de um documento assinado - há vários fatores a serem considerados ao determinar como receber um PDF assinado do Acrobat Sign no sistema de gerenciamento de documentos. 

Embora seja perfeitamente aceitável apenas selecionar a opção Documento assinado do contrato ao criar um webhook, você pode considerar o uso da API do Acrobat Sign para recuperar os documentos quando um evento de acionamento (como status de contrato concluído) é recebido.

Itens a serem considerados...

Limitação de tamanho JSON

O tamanho da carga JSON é limitado a 10 MB.

Se um evento gerar uma carga maior, um webhook será acionado, mas os atributos do parâmetro condicional, se houver na solicitação, serão removidos para reduzir o tamanho da carga. 

“ConditionalParametersTrimmed” será retornado na resposta quando isso acontecer para informar ao cliente que o as informações conditionalParameters foram removidas.

conditionalParametersTrimmed” é um objeto de matriz que contém as informações sobre as chaves que foram cortadas.

O truncamento será feito na seguinte ordem:

  • includeSignedDocuments
  • includeParticipantsInfo
  • includeDocumentsInfo
  • includeDetailedInfo

Os documentos assinados serão truncados primeiro, seguidos pelas informações do participante, informações do documento e, por fim, as informações detalhadas.

Isso pode acontecer, por exemplo, em um evento de conclusão de contrato, se este incluir um documento assinado (com codificação Base64), ou em um contrato com vários campos de formulário

Notificações do webhook

Os webhooks do Acrobat Sign enviam notificações ao remetente do contrato e todos os webhooks configurados no grupo do qual o contrato foi enviado. Os webhooks no escopo da conta recebem todos os eventos.

Remetente: Usuário A | Signatário: Usuário B | Compartido: Usuário C

O Usuário A e o Usuário B estão em contas diferentes

O Usuário A e o Usuário C estão em contas diferentes

Caso de uso

Notificação?

Comentários/Notas

A conta do Usuário A tem webhook no nível de CONTA (criado pelo Usuário A ou pelo Administrador de conta).

Sim

O webhook no nível de CONTA é notificado sobre todos os eventos acionados nessa conta.

A conta do Usuário A tem webhook no nível de GRUPO (criado pelo Usuário A ou pelo Administrador de conta/grupo).

Suposição: o Usuário A e o administrador de grupo estão no mesmo grupo.

Sim

O webhook no nível de GRUPO é notificado sobre todos os eventos acionados nesse grupo.

O Usuário A tem webhook no nível de USUÁRIO.

Sim

Se o Usuário A for o remetente, o webhook no nível de USUÁRIO dele será acionado

O usuário A tem webhook no nível de RECURSO (para o contrato enviado acima).

Sim

 
     

A conta do Usuário B tem webhook no nível de CONTA (criado pelo Usuário B ou Administrador de conta).

Não

O webhook no nível de CONTA do Usuário B é considerado um webhook do signatário.

A conta do Usuário B tem webhook no nível de GRUPO (criado pelo Usuário B ou pelo Administrador de conta/grupo).

Suposição: o Usuário B e o Administrador de grupo estão no mesmo grupo.

Não

O webhook no nível de GRUPO do Usuário B é considerado um webhook do signatário.

O Usuário B tem webhook no nível de USUÁRIO.

Não

O webhook no nível de USUÁRIO do Usuário B é considerado um webhook do signatário.

     

A conta do Usuário C tem webhook no nível de CONTA (criado pelo Usuário C ou pelo Administrador de conta).

Não

O webhook no nível de CONTA do Usuário C é considerado um webhook não-originador.

A conta do Usuário C tem webhook no nível de GRUPO (criado pelo Usuário C ou pelo Administrador de conta/grupo).

Suposição: o Usuário C e o Administrador de grupo estão no mesmo grupo.

Não

O webhook no nível de GRUPO do Usuário C é considerado um webhook não-originador.

O usuário C tem webhook no nível de USUÁRIO.

Não

O webhook de nível USUÁRIO do Usuário C é considerado um webhook não originador.

Remetente: Usuário A | Signatário: Usuário B | Compartido: Usuário C

O Usuário A, o Usuário B e o Usuário C estão na mesma conta

Caso de uso

Notificação?

Observações

A conta do Usuário A tem webhook no nível de CONTA (criado pelo Usuário A ou pelo Administrador de conta).

Sim

Os webhooks no nível de CONTA notificam eventos acionados pela conta.

A conta do Usuário A tem webhook no nível de GRUPO (criado pelo Usuário A ou pelo Administrador de conta/grupo).

Suposição: o Usuário A e o Administradores de grupo estão no mesmo grupo.

Sim

Os webhooks no nível de GRUPO notificam eventos acionados pelos usuários no grupo deles.

O Usuário A tem webhook no nível de USUÁRIO.

Sim

Se o Usuário A for o remetente, o webhook no nível de Usuário dele será acionado

O usuário A tem webhook no nível de RECURSO (para o contrato enviado acima).

Sim

 
     

A conta do Usuário B tem webhook no nível de CONTA (criado pelo Usuário B ou Administrador de conta).

Sim

Como o Usuário A e o Usuário B estão na mesma conta, o webhook no nível de CONTA será notificado sobre todos os eventos acionados nessa conta.

A conta do Usuário B tem webhook no nível de GRUPO (criado pelo Usuário B ou pelo Administrador de conta/grupo).

Suposição: Usuário A, Usuário B e Administrador de grupo estão no mesmo grupo.

Sim

Como o Usuário A e o Usuário B estão no mesmo grupo, o webhook no nível de GRUPO será notificado sobre todos os eventos acionados nesse grupo.

A conta do Usuário B tem webhook no nível de GRUPO (criado pelo Usuário B ou pelo Administrador de conta/grupo).

Suposição: o Usuário A e o Usuário B estão em grupos diferentes.

Não

O webhook no nível de GRUPO do Usuário B é considerado um webhook do signatário.

O webhook do usuário A (RECURSO/USUÁRIO/GRUPO/CONTA) será acionado.

O Usuário B tem webhook no nível de USUÁRIO.

Não

Se o Usuário B for o destinatário, o webhook no nível de USUÁRIO não será acionado.

     

A conta do Usuário C tem webhook no nível de CONTA (criado pelo Usuário C ou pelo Administrador de conta).

Sim

Como o Usuário A e o Usuário C estão na mesma conta, o webhook de ´nível de CONTA será notificado sobre todos os eventos acionados nessa conta.

A conta do Usuário C tem webhook no nível de GRUPO (criado pelo Usuário C ou pelo Administrador de conta/grupo).

Suposição: o Usuário A, o Usuário C e o Administrador de grupo estão no mesmo grupo.

Sim

Como o Usuário A e o Usuário C estão no mesmo grupo, o webhook de nível de GRUPO será notificado sobre todos os eventos acionados nesse grupo.

A conta do Usuário C tem webhook no nível de GRUPO (criado pelo Usuário C ou pelo Administrador de conta/grupo).

Suposição: o Usuário A e o Usuário C estão em grupos diferentes.

Não

O webhook no nível de GRUPO do Usuário C é considerado um webhook não-originador.

O webhook do usuário A (RECURSO/USUÁRIO/GRUPO/CONTA) será acionado.

O usuário C tem webhook no nível de USUÁRIO.

Não

O webhook de nível USUÁRIO do Usuário C é considerado um webhook não originador.

Tentar novamente quando o serviço de escuta estiver inativo

Se o URL de destino do webhook estiver inativo por algum motivo, o Acrobat Sign enfileira o JSON e tenta executar novamente o push em um ciclo progressivo ao longo de 72 horas.

Os eventos não entregues são persistidos em uma fila de tentativas e é feito um melhor esforço nas 72 horas seguintes para entregar as notificações na ordem em que ocorreram.

A estratégia para repetir a entrega de notificações é duplicar o tempo entre tentativas, começando com um intervalo de um minuto e aumentando para a cada 12 horas, resultando em 15 tentativas em 72 horas.

Se o receptor do webhook não responder dentro de 72 horas e não houver entregas de notificação bem-sucedidas nos últimos sete dias, o webhook será desativado. Nenhuma notificação será enviada para este URL até que o webhook seja ativado novamente.

Todas as notificações entre o momento em que o webhook é desativado e ativado novamente serão perdidas.

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online