API do Adobe Acrobat Sign - Perguntas frequentes

Última atualização em 19 de jun de 2026

O acesso à API é reservado exclusivamente para contas de nível corporativo e de desenvolvedor.

Links para a documentação principal

Nota

O suporte para as APIs SOAP herdadas terminou em maio de 2021.

Clientes que usam a API SOAP devem migrar para a API REST o mais rápido possível.

Depois de fazer logon, navegue até API do Acrobat Sign > Informações de API > APIs Rest e documentação.


Conceitos gerais

Não é possível criar o documento visualizando a página na interface do usuário web. Além disso, não é possível arrastar e soltar ou atribuir funções de signatário usando transientDocumentId por meio da API.

A chamada de transientDocuments retorna a transientDocumentID, que é válida por sete dias.  Você pode usá-la somente para as próximas chamadas de API. É armazenada no servidor da API e recebe essa ID. Faça o upload de um arquivo e consulte sua ID nas chamadas de API subsequentes.

Não é possível carregar diretamente um documento no contrato usando a API REST.

Conforme requisito da REST, crie primeiro um documento temporário e use essa ID nos métodos Agreement, Widget ou Library como a origem do arquivo.

O documento temporário é um arquivo raw de origem, como um PDF, um doc ou um docx carregado nos servidores de Adobe. Portanto, é uma maneira conveniente de transmitir seu documento base para os servidores da API e é um documento temporário na Web.

Sim, você pode publicar contratos usando fluxos de trabalho na v6 com a chamada POST /agreements da API. Passe o parâmetro workflowId na chamada da API.

Você pode obter a workflowId de um fluxo de trabalho usando a chamada GET /workflows.

Faça logon no Acrobat Sign como administrador.

Navegue até API do Acrobat Sign > Log de solicitações da API.

A página Logs de solicitação da API com vários registros expostos.

 Faça logon no Acrobat Sign como administrador

Navegue até: API do Acrobat Sign > Informações da API

Selecione o link Amostras da API REST.

Nota

Para baixar o SDK do JavaScript, consulte https://github.com/adobe-sign/AdobeSignJsSdk.

A página Informações da API destacando o link Amostras da API REST.

A partir da v6, a opção “sendTroughWeb” não está mais disponível. O state substitui essa opção. É o estado em que o acordo chega. O campo state só pode ser fornecido em chamadas POST. Ele nunca é retornado em GET /agreements/{ID} e é ignorado se fornecido na chamada PUT /agreements/{ID}. O status eventual do contrato pode ser obtido de GET /agreements/ID.

state(string) = ['AUTHORING' ou 'DRAFT' ou 'IN_PROCESS'].

AUTHORING permite que um usuário crie os documentos de um contrato antes de enviá-los. A operação authoring se refere à criação, edição ou inserção de campos de formulário nas configurações (pessoa designada, condições, tipo de dados etc.). nos documentos do contrato. Após publicar o documento no estado de criação, ele fica visível na seção Rascunho da guia Gerenciar do Acrobat Sign.

DRAFT é um estágio temporário ou primário do recurso final pretendido que pode ser atualizado em etapas para criar o recurso final. Ele não está visível na seção Rascunho da guia Gerenciar do Acrobat Sign. Usando o estado Draft, as informações do conjunto Participante não são necessárias e podem ser atribuídas posteriormente quando se usa PUT /agreements/agreement/agreementId para concluir este rascunho. Esta etapa pode ser repetida várias vezes até que você tenha todos os dados necessários para criar o contrato.

IN_PROCESS altera o status do contrato para Enviado para assinatura, e fica visível na seção Enviado para assinatura da guia Gerenciar do Acrobat Sign.

O sendThroughWeb permite enviar o contrato interativamente. Os vários parâmetros no campo Opções na V5 da solicitação POST /contratos permitem que o usuário configure essa visualização interativa (página Enviar). Todos esses parâmetros de configuração de página, como fileUploadOptions são movidos para a API POST agreements/ID/views.

Portanto, na prática, você pode obter sendThroughWeb criando um contrato no estado AUTHORING por meio da API POST / agreements. Em seguida, para solicitar o URL da próxima página com a configuração desejada, chame a API POST agreements/ID/views.

Execute as seguintes etapas:

1. Acesse a documentação V6 da API REST e selecione o método POST/agreements.
2. Use o seguinte código de solicitação:

{

  "fileInfos": [

    {

      "transientDocumentId": "***************************"

    }

  ],

  "name": "test",

  "participantSetsInfo": [

    {

      "memberInfos": [

        {

          "email": "abc@gmail.com"

        }

      ],

      "order": 1,

      "role": "SIGNER"

    }

  ],

  "signatureType": "ESIGN",

  "state": "AUTHORING"

}

 

3. Agora, use o método post /agreements/{agreementId}/views com o código de solicitação abaixo:

 

{

  "name": "AUTHORING"

}

O código de resposta fornece o URL para campos da criação.

É possível definir o URL de retorno de chamada das seguintes maneiras:

  • Use o parâmetro abaixo para definir o URL de callback conforme necessário:

    "callbackInfo": "",
  • Entre em contato com o suporte do Acrobat Sign para definir o URL padrão de retorno de chamada para toda a conta.

A interface do usuário da SOAP (SmartBear) recebe um erro de conexão SSL semelhante a este a seguir, que você obtém quando faz uma chamada de API. Esse erro geralmente ocorre se você estiver usando um protocolo SSL ou TLS desatualizado, mais antigo que o TLS1.2

ERRO: Exception in request: javax.net.ssl.SSLException: Received fatal alert: protocol_version
ERRO: An error occurred [Received fatal alert: protocol_version], see error log for details

Adicione (-Dsoapui.https.protocols=SSLv3,TLSv1.2) no arquivo VMOPTIONS da pasta Bin.

Acesse C:\Program Files\SmartBear\SoapUI-5.2.1\bin (depende de onde você instalou a interface do usuário SOAP. Pode estar em C:\Program Files (x86))

No arquivo VMOPTIONS, ative a permissão total de leitura/gravação do arquivo.

VMOPTIONS

Clique com o botão direito do mouse em Arquivo VMOPTIONS>Propriedades>Guia Segurança>Selecionar usuário>Clique em Editar. (O ícone Controle de acesso do usuário é exibido no botão Editar)>Marque todas as caixas de seleção e clique em OK.

Repita o mesmo procedimento para administradores, sistemas e todos os pacotes de aplicativos.

Abra o arquivo usando o Bloco de notas.

Adicione este protocolo na parte inferior “-Dsoapui.https.protocols=SSLv3,TLSv1.2” e salve as alterações.

Feche a interface da SOAP e reinicie. Funciona sem erro de SSL quando você faz uma chamada de API. (Execute um ping de teste para verificar).

Veja a seguir as etapas para criar a ID do cliente e o Segredo do cliente no aplicativo do Acrobat Sign:

Faça logon no Acrobat Sign como administrador.

Navegue até API do Acrobat Sign > Aplicativos da API.

Para criar um aplicativo, selecione o ícone de adição ( + ).

Página Aplicativos da API com o ícone Criar destacado

Insira o Nome e o Nome de exibição.

Em Domínio, selecione CUSTOMER.

Salve a configuração.

O formulário de criação do aplicativo com o domínio CUSTOMER destacado.

Selecione o aplicativo para exibir as ações disponíveis para o usuário.

Selecione Configurar OAuth para o aplicativo.

A página Aplicativos da API com um aplicativo selecionado, expondo o link de ação "Configurar OAuth para o aplicativo"

Insira o URI de redirecionamento.

Marque as caixas de seleção para cada escopo que você deve habilitar e defina se o escopo está limitado ao usuário (próprio), ao grupo ou à conta.

 

O painel "Configurar OAuth" com o menu suspenso "Modificador" expandido.

Selecione a opção de Salvar a configuração.

Faça logon no Acrobat Sign como administrador de conta.

Navegue até API do Acrobat Sign > Informações da API

Clique no link da Chave de integração

Página de Informações da API destacando o link Chave de integração

Nota

Se você não estiver vendo o link Chave de Integração, entre em contato com o suporte para habilitar sua conta.

  • Nomeie a chave com um valor intuitivo
  • Selecione os vários Escopos necessários para a função do seu aplicativo
  • Clique em Salvar quando a chave estiver completamente configurada
Interface Criar chave de integração

Uma vez salva, a chave pode ser encontrada em: Preferências pessoais > Tokens de acesso

O nome da chave e todos os escopos ativados são listados.  

Selecione a descrição da chave uma vez para exibir os links de ação:

  • Chave de integração - Este link fornece literalmente a chave 
  • Revogar - Esta opção revoga e exclui permanentemente o token de acesso
Tokens de acesso - Chave de Integração

Faça logon no Acrobat Sign como administrador.

Navegue até API do Acrobat Sign > Aplicativos da API.

Selecione seu aplicativo para expor as ações disponíveis.

Página Aplicativos da API com um aplicativo selecionado

Selecione Configurar OAuth para o aplicativo.

A página de aplicativos da API com um aplicativo selecionado, expondo o link de ação "Configurar OAuth do aplicativo"

Gere um código de autorização usando o link a seguir. A ID do cliente, o URI de redirecionamento e os escopos devem ser os mesmos que no URL a seguir, conforme selecionado no aplicativo (evite usar espaços no URL a seguir e definir o Fragmento como “NA1”, de acordo com a conta do Acrobat Sign à qual os dados pertencem):

https://secure.na1.echosign.com/public/oauth?redirect_uri=https://www.google.co.in&response_type=code&client_id=CBJCHBCAABAAo9FZgq31_5BVG_kcIXEe6gNtn-R-gdNe&scope=user_login:self+agreement_send:account

Configurar OAuth para Postman

Se a chamada for bem-sucedida, selecione o Código de autorização na barra Endereço.

Fnord.

Faça o download e instale o Postman no link https://www.getpostman.com/apps.

Depois de fazer o download e instalá-lo, clique em NOVO para criar um POST.

Insira o link https://secure.na1.echosign.com/oauth/token, de acordo com a conta do Acrobat Sign à qual os dados pertencem.

Em Cabeçalhos, insira Content-Type as application/x-www-form-urlencoded.

Verifique se x-www-form-urlencoded está selecionado em Corpo e insira os parâmetros abaixo com os valores correspondentes do aplicativo criado na conta do Acrobat Sign e clique em ENVIAR.

Fnord.

Se todas as informações estiverem corretas, são retornados o token de acesso e o token de atualização na resposta:

Fnord.

Ao executar o processo OAuth, certifique-se de seguir as etapas abaixo:

1. A ID de cliente e o URI de redirecionamento corretos foram especificados.
2. Os escopos fornecidos no URL de autorização devem corresponder exatamente aos escopos fornecidos no aplicativo do Acrobat Sign.
3. Use o fragmento correto (na1, na2, au1, eu1, jp1) de acordo com a conta que está sendo configurada.
4. Remova todos os espaços fornecidos no URL de autorização (se houver).
5. Verifique a sintaxe do URL de autorização:

https://secure.na1.echosign.com/public/oauth?redirect_uri=https://secure.na1.echosign.com/public/oauthDemo&
response_type=code&client_id=9MEJXY4Y4R7L2T&scope=agreement_send

Os tokens de acesso são válidos apenas por 3600 segundos (uma hora), período após o qual expiram.

O detentor da solicitação da API pode usar os tokens de Atualização para gerar novos tokens de acesso conforme necessário.

Os webhooks são compatíveis na API REST v6 e mais recentes.

Se um receptor do webhook não responder dentro de 72 horas, o webhook será desativado e nenhuma notificação será enviada.

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.

 

Para criar o webhook diretamente da interface do usuário do Acrobat Sign, primeiro crie o URL do webhook por meio de aplicativos de função do Azure AD usando as etapas abaixo:

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

Registre-se nos Aplicativos de função na conta do Azure AD.

Menu do Azure

Acesse o Azure AD e vá para Aplicativos de função > Clique no ícone + para acessar Funções.

Selecione Webhook+API com Javascript como linguagem e clique em Criar função.

Interface do usuário da API do Azure

Substitua o arquivo Index.js pelo seguinte trecho de código:

Clique no botão Testar no canto direito e forneça o seguinte cabeçalho:

X-AdobeSign-ClientId as ***********************

Teste da API

Selecione Salvar e executar.

Depois de receber a resposta 200 de sucesso com o cabeçalho a seguir, clique em Obter URL da função

Resposta 200

Copie o URL e acesse Interface do usuário do Acrobat Sign > Webhooks > Clique no ícone + para criar.

Insira a seguinte informação: 

  • Nome: sugerimos um nome intuitivo que outros administradores possam entender prontamente.
  • Escopo: o tamanho da captura do webhook. Conta e Grupo estão disponíveis na interface.
    A API é compatível com os escopos de Recurso, Conta, Grupo e Usuário.
  • Somente um Escopo por webhook pode ser definido
  • URL: o URL de destino para o qual o Acrobat Sign enviou o conteúdo JSON.
  • Eventos: o acionador que faz com que o Acrobat Sign crie o JSON e o envie para o URL.
    Cada evento cria um conteúdo diferente relevante para o evento de acionamento
    Vários eventos podem ser incluídos em um webhook.
  • Parâmetros de notificação: os Parâmetros de notificação identificam as seções da carga JSON do Evento, permitindo que você selecione apenas as seções do Evento que são importantes.
Interface do usuário do webhook

Quando o webhook estiver totalmente definido, clique em Salvar e o novo webhook começará a reagir para acionar eventos imediatamente.

O ativo do contrato se refere a um ativo por meio do qual você pode criar um contrato, por exemplo, documento de biblioteca, widget e o próprio contrato.

Para pesquisar eventos de ativo de contrato, primeiro, faça uma solicitação à API que cria agreementAssetEvents com parâmetros de pesquisa relevantes.

A resposta é a primeira página de resultados junto com um parâmetro de ID de pesquisa e cursor da próxima página. Você pode usá-lo para obter mais páginas de resultados se estiverem disponíveis usando a API, que recupera agreementAssetEvents com base na ID de pesquisa.

Abra a Documentação da API REST versão 5.

Acesse post/search/agreementAssetEvents e gere o token de acesso com os escopos relevantes.

No código da solicitação, defina a data de início e término de acordo com o requisito:

Clique em Experimente. Isso busca as IDs do ativo do contrato, que também podem ser usadas como IDs do contrato.


Gerenciamento de Usuários/Contas

  1. Faça logon no Acrobat Sign.
  2. Navegue até API do Acrobat Sign > Documentação da API REST.
  3. Selecione a Versão 5.
  4. No método post /users, use o código de solicitação mencionado no método
    UserCreationInfo
    {
    "email": "email@email.com",
    "firstName": "AA",
    "lastName": "AB",
    "password":"12******rte"
    }

As contas do Acrobat Sign que usam o Admin Console (Adobe One) para gerenciar seus direitos de usuários não podem usar a API do Acrobat Sign para criar usuários ou gerenciar usuários existentes.

O Adobe One Admin Console usa uma API diferente da API do Acrobat Sign. Consulte estes artigos para obter mais informações:

 

Obter a ID do grupo:

Acesse https://secure.na1.echosign.com/public/docs/restapi/v5.

Em Recursos e operações, clique em grupos.

Clique em GET /groups.

Clique no botão oAuth Access-token.

Gere o Token de acesso.

Clique no botão Experimente.

Você receberá uma resposta como a seguinte com o nome do grupo e a ID do grupo:

Excluir grupo:

Clique em DELETE /groups/{groupId}.

Para gerar o Token de acesso, clique no botão oAuth Access-token.

Adicione a groupId recebida na resposta da chamada anterior que você deseja excluir na caixa groupId.

Clique em Experimente.

Você receberá uma resposta como a seguinte quando o Grupo for excluído: sem conteúdo

Nota

Não é possível excluir um grupo que tenha um usuário atribuído. Essencialmente, você pode excluir apenas o Grupo vazio. Você receberá uma resposta como a seguinte se houver um usuário no grupo.


{

  "code": "GROUP_NOT_EMPTY",

  "message": "The group cannot be deleted because it is not empty."

}


Iniciar/Enviar contratos

Gerar um documento temporário

Clique em transientDocuments e expanda o método POST /transientDocuments

Clique no botão OAuth Access-token

Método TransientDocument da API

  • Ative os Escopos para a transação
  • Clique em Autorizar
Escopos OAuth

Permitir acesso

Se solicitado, clique em Permitir acesso

Você retornará à página de métodos da API. O valor de Autorização agora está preenchido.

  • Insira o nome do arquivo no campo Nome do arquivo
  • Clique no botão Escolher arquivo e faça upload do documento para o contrato
  • Clique no botão Experimente! botão
Experimente!

A resposta é gerada.

A transientDocumentID pode ser encontrada no Corpo da resposta:

ID do documento temporário

Geração de um contrato usando o Documento temporário

Clique em contratos e expanda o método POST /agreements

  • Clique no botão OAuth Access-token
  • Ative o escopo do OAuth
  • Clique em Autorizar
    • Se solicitado, clique em Permitir acesso

Você retornará à página de métodos da API. O valor de Autorização agora está preenchido.

  • Copie o script abaixo em um editor de texto (esse script é apenas um exemplo minimamente configurado; seu código de produção será diferente)
  •  Insira o valor de trasientDocumentId no código, onde indicado

 

  • Copie o script personalizado e cole-o no campo AgreementInfo
  • Clique no botão Experimente! botão
Método POST agreement

A resposta é gerada.

A agreementID pode ser encontrada no Corpo da resposta:

Resposta do método POST agreement

Estas são as etapas para adicionar arquivos no parâmetro FileInfo:

Usar a ID temporária:

Acesse POST/transientDocuments e faça o upload do documento a ser usado do sistema local.
Use a ID temporária gerada na seção Informações do arquivo em POST/Agreements:

Usar ID do documento da biblioteca:

Acesse o Painel. Clique em Adicionar documento à biblioteca e salve o modelo.
Na Documentação da API REST, clique em GET /libraryDocuments e recupere a ID da biblioteca do modelo que está sendo criado.
Em POST/Agreements, forneça a ID do documento da biblioteca:

Usar URL publicamente disponível:

Forneça o URL acessível publicamente a ser usado no parâmetro FileInfo:

Selecione a opção Contratos > POST/agreements. 

Selecione a opção oAuth Access-Token e forneça os escopos necessários.

Depois de adicionar o token de acesso, você pode usar o seguinte Código de solicitação:

Na chamada de POST /agreements, no parâmetro signatureflow, você pode passar o valor SENDER_SIGNS_FIRST ou SENDER_SIGNS_LAST para adicionar o remetente como primeiro ou último signatário respectivamente.

Veja a seguir um exemplo da chamada no formato JSON:

{

  "documentCreationInfo": {

    "fileInfos": [

      {        "transientDocumentId":"3AAABLblqZ-yourIDGoesHere"

      }

    ],

    "name": "Test",

    "recipientSetInfos": [

      {

        "recipientSetMemberInfos": [

          {

            "email": "test@email.com"

          }

        ],

        "recipientSetRole": "SIGNER"

      }

    ],

    "signatureType": "ESIGN",

    "signatureFlow": "SENDER_SIGNS_FIRST"

  }

}

Nota

A opção de Enviar em nome de está disponível somente na API REST v6 com compartilhamento Avançado ativado.

Se a permissão de Enviar não for fornecida no compartilhamento ou se o Compartilhamento avançado não estiver habilitado, você receberá uma resposta como esta:

 

{"code":"PERMISSION_DENIED","message":"User provided in x-on-behalf-of-user header does not have required permission to perform this operation."}

 

Para a função Enviar em nome de, ative o Compartilhamento de conta avançado da conta para que os usuários possam conceder permissões de envio a outros usuários enquanto compartilham a própria conta. Em Compartilhamento avançado, consulte Habilitação de compartilhamento de conta avançado.

Depois que Compartilhamento de usuário estiver habilitado, execute as etapas a seguir para Enviar em nome de:

Gerar um documento temporário:

Em transientDocuments, clique em POST /transientDocuments.

Para gerar o token para Autorização, clique no botão OAUTH ACCESS-TOKEN.

Em x-on-behalf-of-user, forneça o email do usuário em nome do qual você deseja enviar no seguinte formato: email:test@email.com

Para selecionar um Arquivo, clique em Escolher arquivo e em Experimente.

Você recebe uma resposta como a seguinte com a transientDocumentId:

Gerar um contrato usando o Documento temporário:

Em Contratos, clique em POST /agreements.

Para gerar o token para Autorização, clique no botão OAUTH ACCESS-TOKEN.

Em x-on-behalf-of-user, forneça o email do usuário como é feito na criação do Documento temporário.

Em AgreementInfo, adicione o seguinte código e clique em Experimente.

 

Você recebe uma resposta como a seguinte com a agreementId:

Faça logon no Acrobat Sign.

Navegue até API do Acrobat Sign > Informações da API e clique em Documentação de métodos da API REST.

Interface do usuário do webhook

Use POST /transientDocuments, faça o upload de um arquivo e crie uma ID de documento temporário.

Copie a ID de documento temporário e use-a no método POST /agreements. Mencione a seguinte solicitação JSON na caixa:

Para executar a solicitação JSON, clique no botão Experimente.

Interface do usuário do webhook

O JSON correto retorna a resposta com a ID do contrato.

Interface do usuário do webhook

Estes são os parâmetros que você pode transmitir no código para definir a senha aberta:

 

{

    "documentCreationInfo":

    [{

        "signatureType": "ESIGN",

               "recipientSetInfos": [{

            "recipientSetMemberInfos": [{                      

                "email": "abc@xyz.com"                  

            }],

                   

            "recipientSetRole": "SIGNER"                         

        }],

               "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

                   "fileInfos": [           {               

            "libraryDocumentId": "3AAABLblqZhBsm_vH7TVzU3hRdbtWuvzfTKDvBzaKZTiehjO2eGTk5Rlu02K-0BYn8HBJVFTWOmT_BQlrofPBlrCdjiJ_JI-V"        

        }       ],

               "name": "Open password to view document",

               "securityOptions": {        

            "openPassword": "1234",

                     "protectOpen": true   

        }  

    }]

}

 

Para criar um contrato usando a API com o estado “AUTHORING”, execute as seguintes etapas:

Acesse Post /agreements e crie o token de acesso com os escopos necessários.

Use o código de solicitação da seguinte maneira:

 

{

  "fileInfos": [

    {

      "transientDocumentId": "*********************"

    }

  ],

  "name": "A1",

  "participantSetsInfo": [

    {

      "memberInfos": [

        {

          "email": "abc@xyz.com"

        }

      ],

      "order": 1,

      "role": "SIGNER"

    }

  ],

  "signatureType": "ESIGN",

  "state": "AUTHORING"

}

 

A v6 tem um conjunto de APIs de criação para criar um contrato. Na v5, o formFields é consumido diretamente na API POST /agreements. No entanto, o usuário da v6 pode criar um contrato no estado AUTHORING (state = AUTHORING) por meio da v6 de POST /agreements e usar PUT /agreements/ID/formFields a qualquer momento para adicionar campos de formulário aos documentos deste contrato.

Estas são as etapas:

Acesse a documentação da API REST v6 e selecione o método POST/agreements.

Use o seguinte código de solicitação:

Use o método put /agreements/{agreementId}/formFields com a seguinte solicitação como amostra:

 

Isso envia o contrato para o destinatário mencionado assim que a solicitação é concluída.

Faça logon no Acrobat Sign.

Navegue até API do Acrobat Sign>Informações da API e clique em Documentação de métodos da API REST.

Interface do usuário do webhook

Use POST /transientDocuments, faça o upload de um arquivo e crie uma ID de documento temporário.

Copie a ID de documento temporário e use-a no método POST /agreements. Mencione a seguinte solicitação JSON na caixa:

Para executar a solicitação JSON, clique no botão Experimente.

Interface do usuário do webhook

O JSON correto retorna a resposta com a ID do contrato.

Interface do usuário do webhook

Faça logon no Acrobat Sign.

Navegue até API do Acrobat Sign>Informações da API e clique em Documentação de métodos da API REST.

Fnord.

Use POST /transientDocuments, faça o upload de um arquivo e crie uma ID de documento temporário.

Copie a ID de documento temporário e use-a no método POST /agreements. Mencione a seguinte solicitação JSON na caixa:

Para executar a solicitação JSON, clique no botão Experimente.

Fnord.

O JSON correto retorna a resposta com a ID do contrato.

Fnord.

Para abrir o contrato no Modo de criação, copie o URL e cole-o na barra de endereços de um navegador.

Arraste e solte os campos de formulário no local desejado.

Para enviar o contrato para assinatura, clique em Enviar. 

Use POST /agreements para criar um contrato. Isso o envia para assinatura e retorna a agreementID na resposta ao cliente. Abaixo está o formato JSON para enviar o contrato usando o método de autenticação por telefone.

 

{

"documentCreationInfo": {

"mergeFieldInfo": null,

"recipientSetInfos": [{

"signingOrder": null,

"recipientSetRole": "SIGNER",

"recipientSetMemberInfos": [{

"securityOptions": null,

"email": "Signer@email.com"

}],

 

"privateMessage": null,

"securityOptions": [{

"authenticationMethod": "PHONE",

"phoneInfos": [{

"phone": "1111111111",

"countryCode": "+1"

}]

}]

}],

 

"signatureType": "ESIGN",

"callbackInfo": null,

"message": "Please review and sign this document.",

"locale": "en_US",

"vaultingInfo": null,

"securityOptions": null,

"reminderFrequency": null,

"ccs": null,

"postSignOptions": null,

"signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

"daysUntilSigningDeadline": null,

"formFieldLayerTemplates": [],

"name": "Acrobat Sign Agreement-Phone authentication testing",

"formFields": null,

"fileInfos": [{

"libraryDocumentName": null,

"transientDocumentId": "3AAABLYourTransactionID",

"documentURL": null,

"libraryDocumentId": null

}]

},

 

"options": {

"autoLoginUser": true,

"authoringRequested": false,

"noChrome": true,

"sendThroughWeb": null,

"sendThroughWebOptions": null,

"locale": "en_US"

}

}

 

É possível mesclar os dados diretamente nos campos de formulário usando os seguintes métodos:

  • Usar um modelo de biblioteca:

    se você estiver usando uma ID de modelo de biblioteca no parâmetro FileInfo, forneça o nome exato do campo e os dados associados na seção abaixo:

 

"mergeFieldInfo": [

     {

       "defaultValue": "",

       "fieldName": ""

     }

   ],

 

  • Usar tags de texto em um documento carregado como um Documento temporário:

    se você fizer o upload de um documento que tenha tags de texto adicionadas a ele como um documento temporário, forneça o nome exato do campo e os dados associados na seção abaixo: 

 

"mergeFieldInfo": [

     {

       "defaultValue": "",

       "fieldName": ""

     }

   ],

 

Como enviar um contrato usando a API que tem valores pré-preenchidos nos campos de formulário específicos (mergefield)?

O pré-requisito desta chamada é primeiro concluir a etapa “Upload temporário” e obter uma “transientDocumentId” (usando: secure.na1.echosign.com/public/docs/restapi/v5#!/transientDocuments/createTransientDocument) para usar aqui.

  • Esta chamada inclui a seção “mergeFieldInfo”, na qual são fornecidos os valores padrão para campos de formulário específicos.
  • Isso pré-preenche os dados vindos de outro sistema na chamada da API.
  • Esses campos no contrato são editáveis ou somente leitura.

 

Pré-requisitos:

  1. ID do documento temporário
  2. Nomes de campos e seus respectivos valores

 

Exemplo de chamada de solicitação:

 

Solicitar:

POST /api/rest/v5/agreements HTTP/1.1

Host: api.na1.echosign.com (ou você pode especificar seu nome do fragmento, que pode ser encontrado usando a chamada getbaseURis: https://secure.na1.echosign.com/public/docs/restapi/v5#!/base_uris/getBaseUris

Token de acesso: 2AAABLblqZhA_D1mluNKQP7py5vXtt-1UHl9NR25e_C3LnKTUH14IblbrXODbXGRozyr7ChBkJNM*

x-user-email: sender@yourdomain.com

Content-Type: application/json

Cache-Control: no-cache

 

{

   "documentCreationInfo": {

       "signatureType": "ESIGN",

       "recipientSetInfos": [

           {

               "recipientSetMemberInfos": [

                   {

                       "email": "signerEmail@domain.com"

                   }

               ],

               "recipientSetRole": "SIGNER"

           }

        ],

      

       "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

       "message": "Please Sign this from us!",

       "fileInfos": [

           {

               "transientDocumentId": "3AAABLblqZhD1uP3ZnkJximC0JV1S677PR5xmybSJ-SJn6OtEy2tVqFyMN4xUAbhKTSkLw2Zb6HEF4zAGsrUd2ycoB8fFHQJhrci0O6267VztmIL4nCicSqvAjO7HckATHAsovVmuYwI9_FDDgHg0ogyti62L13HQFZIQRe9iyQMvvzbmksM7ODNK_HEepEKRCeJTtis9FOlz6uRCcIMNlbX_2GU8utWT"

           }

       ],

       "name": "MSA Edited”,

        "mergeFieldInfo": [

            {

                "fieldName": "AccountName",

                "defaultValue": "Sam's Garage"

            },

            {

                "fieldName": "AccountNumber",

                "defaultValue": "8756999"

            },

            {

                "fieldName": "Zip",

                "defaultValue": "94501"

            },

            {

                "fieldName": "City",

                "defaultValue": "CityVille"

            },

            {

                "fieldName": "State",

                "defaultValue": "CA"

            },

            {

                "fieldName": "Street",

                "defaultValue": "123 Some Road"

            },

            {

                "fieldName": "Title1",

                "defaultValue": "COO"

            },

            {

                "fieldName": "Description",

                "defaultValue": "Some new description here"

            }

        ]

   }

 

}

 

A resposta a esta chamada é o “agreementId” que você precisa armazenar no sistema para chamadas subsequentes (signingUrl, status, formData etc.)

 

Resposta:

{

  "agreementId": "3AAABLblqZhCf_7xDcrOgKFwAabp1S-OFfvUdHf2wJsSMwlB95_x_WdUeab67jOkJi1IJzWuSJ0zdNNKugS1blZB4LT5vNVyJ"

}

 

Ao executar o método “post /megaSigns/{megaSignId}/views”, um erro é exibido: “Requested view is not available for the resource in the current state”.

O erro é mostrado se o valor do parâmetro do nome fornecido for inválido no código de solicitação abaixo:

{
  "name": " "
}

Por exemplo, se o contrato do MegaSign já estiver “IN_PROCESS”, passar o valor como “AUTHORING” gera o erro mencionado. Verifique se o valor fornecido corresponde ao estado atual do contrato.

Ao executar o método “put /megaSigns/{megaSignId}/state”, um erro é exibido: “No value provided for MegaSign cancellation info”.

O erro é causado quando o código de solicitação não tem o parâmetro: 

"megaSignCancellationInfo": {
    "comment": "",
    "notifyOthers": false
  }

Em vez de usar o “Esquema mínimo”, clique em “Completar esquema modelo” e forneça o código de solicitação completo para executar a chamada da API. 

Para alterar o estado do contrato do MegaSign, use put /megaSigns/{megaSignId}/state e execute as seguintes etapas:

  1. Vá para a Documentação da API REST v6 e selecione o método
    put /megaSigns/{megaSignId}/state.
  2. Forneça o valor de Authorization e também If-Match e a megasignID.
    • Para recuperar a megasignID, use get /megaSigns
    • Para recuperar If-Match, use get /megaSigns/{megaSignId} e, no cabeçalho, localize “Etag”
  3. {
      "state": "CANCELED",
      "megaSignCancellationInfo": {
       "comment": "cancel",
       "notifyOthers": false
      }

Para registrar um webhook com êxito, o URL do webhook responde a essa solicitação de verificação com um código de resposta 2XX e, além disso, pode enviar o valor da mesma ID de cliente de uma das duas maneiras a seguir:

  1. Em um cabeçalho de resposta X-AdobeSign-ClientId. É o mesmo cabeçalho transmitido na solicitação e que deve ser repetido na resposta.
  2. No corpo da resposta JSON, com a chave de X-AdobeSign-ClientId e seu valor sendo a mesma ID de cliente enviada na solicitação.

O Acrobat Sign recebe a resposta 2xx com X-AdobeSign-ClientId. O usuário pode verificar se está configurado corretamente no webhook ou não.

O URL do webhook não está respondendo conforme esperado. Para cada notificação Post enviada pelo Acrobat Sign, o URL responde com o código do status 2XX e retransmite a ID de cliente enviada nos cabeçalhos de solicitação (X-AdobeSign-ClientId) para os cabeçalhos de resposta. 

Para obter informações completas, consulte o seguinte link:
https://developer.adobe.com/acrobat-sign/docs/overview/developer_guide/#!adobedocs/adobe-sign/master/webhooks/webhook_events.md

Quando o URL não cumpre este protocolo, o Acrobat Sign considera que ele não aceitou a solicitação e tenta reagendar de acordo com a política confiável.

Se o webhook não responder e o tempo máximo de repetição ou o intervalo máximo de repetição for excedido, o webhook será desativado.

Este trabalho está licenciado com uma licença Creative Commons Attribution-NonCommercial-Share Alike 3.0 Unported  As postagens no Twitter™ e no Facebook não são cobertas pelos termos da licença Creative Co


Gerenciar/Obter informações sobre contratos

Para alterar o documento já enviado para assinatura, use o método PUT /agreements/{agreementId}, com o qual você pode atualizar um contrato existente. Forneça a ID temporária junto com a ID do contrato no seguinte código de solicitação:

 

{

  "documentUpdateInfo": {

    "fileInfos": [

      {

        "agreementDocumentId": "",

        "transientDocumentId": ""

      }

    ]

  }

}

 

Estas são as instruções para atualizar o estado de “AUTHORING” para “IN_PROCESS” usando Put /agreements/{agreementId}/state:

Obtenha a ID do contrato recuperada usando o método POST/Agreement.

Use Get /agreements/{agreementId} para recuperar a ETag mais recente.

Execute Put /agreements/{agreementId}/state e forneça as seguintes informações: "state": "IN_PROCESS"

Não.

Não há método que faz o upload de uma cópia assinada na API REST atual.

O remetente deve fazer upload da cópia assinada na página Gerenciar.

DELETE /agreements/ID era usado para ocultar um contrato na página de gerenciamento.

A Adobe tem uma nova API PUT /agreements/ID/me/visibility para controlar a visibilidade de um contrato (em GET /agreements). Além da funcionalidade fornecida por DELETE /agreements/ID, o novo endpoint de visibilidade também permite que um usuário reverta a operação “ocultar”, ou seja, torne o contrato visível novamente. 

Você também pode seguir as etapas detalhadas abaixo:

  1. Acesse o método get /agreements e recupere a ID do contrato.
  2. Clique em put /agreements/{agreementId}/me/visibility e forneça a solicitação abaixo como amostra:
    {
      "visibility": "HIDE"
    }
    A ID do contrato fica oculta somente em get /libraryDocuments, no entanto, ela ainda estará visível na interface da guia Gerenciar.
Nota

O recurso Retenção da API não está ativado por padrão.

Para ativar a operação DELETE/agreements, entre em contato com seu gerente de sucesso e solicite que a Retenção da API seja ativada para a conta.

Para obter mais informações sobre como habilitar os recursos de Retenção na sua conta, consulte Acrobat Sign - Retenção de documentos.

Faça logon como administrador do Acrobat Sign e navegue até:  https://secure.adobesign.com/public/docs/restapi/v6

  • Clique em Contratos e expanda o método GET /agreements
  • Clique no botão OAUTH ACCESS-TOKEN 
  • Ative o escopo agreement_read:self
  • Clique no botão Autorizar
    • Se solicitado, clique em Permitir acesso
  • Clique no botão Experimente! botão
Método Get Agreement

A resposta é gerada.

A agreementId pode ser encontrada no Corpo da resposta:

Resposta de Get Agreement

DELETE /agreements/{agreementId}/documents: exclui todos os documentos relacionados a um contrato. O contrato em si permanece visível na página Gerenciar.

  • Selecione a operação DELETE/agreements a ser executada.
  • Clique no botão OAUTH ACCESS-TOKEN e crie o token de acesso com o escopo agreement_retention.
  • Forneça a agreementId do contrato que você deseja excluir.
  • Depois que o contrato é excluído, o Corpo da resposta passa a conter “sem conteúdo”.

Você obtém a seguinte resposta se a operação DELETE/agreements não estiver ativada:

 "code": "DYNAMIC_DOCUMENT_EXPIRATION_NOT_ENABLED",

  "message": "The operation requires some account settings to be enabled. Entre em contato com a equipe do Acrobat Sign para habilitar as configurações.”

Como baixar o documento Assinado junto com o relatório de auditoria e o documento de suporte por meio da API REST do Acrobat Sign em vez de fazer uma chamada separada para baixar o relatório de auditoria usando o seguinte método.

GET /agreements/{agreementId}/auditTrail

Clique em GET /agreements/{agreementId}/combinedDocument.

Clique no botão oAuth Access-token.

O Token de acesso é gerado automaticamente assim que sua autorização é aceita.

Forneça a agreementId.

Em attachSupportingDocuments, selecione true no menu suspenso.

Em attachAuditReport, selecione true no menu suspenso.

Clique no botão Experimente! botão.

Obter documentos combinados

Ele faz o download do PDF que combina o documento assinado, o documento de suporte e o relatório de auditoria.

Para fazer o download de documentos em massa, somente a ferramenta de exportação de documentos está disponível e, com a API, você pode fazer o download de documentos apenas um por um. Este é o método da API para fazer a mesma coisa:

https://secure.na1.adobesign.com/public/docs/restapi/v5#!/agreements/getCombinedDocument


Modelos de biblioteca e formulários web

Faça logon no Acrobat Sign como administrador e navegue até: https://secure.na1.adobesign.com/public/docs/restapi/v6

  • Clique em libraryDocuments e expanda o método GET /libraryDocuments
  • Clique no botão OAUTH ACCESS-TOKEN 
  • Ative o escopo library_read:self
  • Clique no botão Autorizar
    • Se solicitado, clique em Permitir acesso
  • Clique no botão Experimente! botão
Método Get LibraryDocument

A resposta é gerada.

A libraryDocumentId pode ser encontrada no Corpo da resposta:

Resposta de Get LibraryDocument

A Adobe tem um novo PUT /libraryDocuments/ID/me/visibility na API para controlar a visibilidade de um contrato (em GET/agreements). Além da funcionalidade fornecida por DELETE /agreements/ID, o novo ponto de acesso de visibilidade também permite que um usuário reverta a operação “ocultar”, ou seja, torne o contrato visível novamente.

Você pode seguir as etapas detalhadas abaixo:

  1. Acesse o método get /libraryDocuments e recupere a ID do contrato.
  2. Clique em put /libraryDocuments/{libraryDocumentId}/me/visibility e forneça a solicitação abaixo como amostra:
    {
      "visibility": "HIDE"
    }
    A ID da biblioteca fica oculta somente em get /libraryDocuments, no entanto, ela ainda estará visível na interface da guia Gerenciar.
Nota
  • Envie uma solicitação para a equipe de suporte para obter o escopo ativado para a exclusão em Bibliotecas.
  • A API exclui o documento da biblioteca. No entanto, os contratos criados usando este documento da biblioteca não são afetados.


Gerar uma libraryDocumentID

Acesse https://secure.echosign.com/public/docs/restapi/v5.

Clique em libraryDocuments.

Clique no botão oAuth Access-token

Autorizar acesso - Token para si próprio, grupo ou conta.

Selecione libraryTemplateType - Document ou Form_field_layer.

Clique em Experimente.

Você pode receber uma resposta como a seguinte para todos os seus modelos. (Copie libraryDocumentId para o Modelo de biblioteca que você pretende excluir).


Excluir Modelos de biblioteca

Copie libraryDocumentID do Corpo da resposta.

Acesse Delete libraryDocuments.

Clique no botão oAuth Access-token. Autorizar acesso - Token para si próprio, grupo ou conta.

Cole a libraryDocumentId no campo Value.

Clique em Experimente. 
O modelo é excluído.

Você obtém o seguinte Código de resposta: 204

Nota

Somente formulários da Web em um estado Draft podem ser atualizados.

Crie o widget usando post /widgets.

Obtenha a ID do widget de get/widgets.

Depois de criar usando o método GET /widgets/{widgetId}, busque a ETag no cabeçalho da Resposta.

Foo

Em put  /widgets/{widgetId}, use a ETag de GET /widgets/{widgetId}. No parâmetro If-Match, insira widgetId e widgetInfo.

Foo


Exemplos de casos de uso

Faça uma chamada de get/agreements com o x-api-user correto.

No Corpo da resposta, localize o contrato enviado para assinatura para o qual você deseja localizar o URL de assinatura e anote a ID do contrato

Faça uma chamada de get/agreements/{agreementId}/signingUrls usando a ID do contrato recebida da chamada get/agreements.

 

Resultado

A saída retorna o endereço de email do(s) signatário(s) e o URL de assinatura eletrônica.

Método Get Agreement