Guia do Usuário Cancelar

Adobe Acrobat Sign para Salesforce - Guia do desenvolvedor

  1. Integrações do Adobe Acrobat Sign
  2. Novidades
  3. Versões e ciclo de vida do produto
  4. Acrobat Sign para Salesforce
    1. Instalar o pacote
    2. Configurar o pacote
    3. Guia do usuário
    4. Habilitar autenticação digital
    5. Manual do desenvolvedor
    6. Manual avançado de personalização
    7. Guia de mapeamento de campo e modelos
    8. Guia do usuário do aplicativo móvel
    9. Guia de automação de fluxos
    10. Guia do Document Builder
    11. Configurar documentos grandes
    12. Guia de atualização
    13. Notas de versão
    14. Perguntas frequentes
    15. Manual de solução de problemas
    16. Artigos adicionais
  5. Acrobat Sign para Microsoft
    1. Acrobat Sign para Microsoft 365
      1. Guia de instalação
    2. Acrobat Sign para Outlook
      1. Guia do usuário
    3. Acrobat Sign para Word/PowerPoint
      1. Guia do usuário
    4. Acrobat Sign para Teams
      1. Guia do usuário
      2. Guia do Live Sign
      3. Guia Usuário de dispositivo móvel
      4. Notas de versão
      5. Aprovações do Microsoft Teams
    5. Acrobat Sign para Microsoft PowerApps e Power Automate
      1. Guia do usuário
      2. Notas de versão
    6. Conector do Acrobat Sign para Microsoft Search
      1. Guia do usuário
      2. Notas de versão
    7. Acrobat Sign para Microsoft Dynamics 
      1. Visão geral
      2. Dynamics Online: guia de instalação 
      3. Dynamics Online: guia do usuário 
      4. Dynamics local: guia de instalação 
      5. Dynamics local: guia do usuário
      6. Guia de fluxo de trabalho do Dynamics
      7. Dynamics 365 para Talent
      8. Guia de atualização
      9. Notas de versão
    8. Acrobat Sign para Microsoft SharePoint 
      1. Visão geral
      2. SharePoint local: guia de instalação
      3. SharePoint local: guia de mapeamento de modelo
      4. SharePoint local: guia do usuário
      5. SharePoint local: notas de versão
      6. SharePoint Online: guia de instalação
      7. SharePoint Online: guia de mapeamento de modelo
      8. SharePoint Online: guia do usuário
      9. SharePoint Online: guia de mapeamento de formulário web
      10. SharePoint Online: notas de versão
  6. Acrobat Sign for ServiceNow
    1. Visão geral
    2. Guia de instalação
    3. Guia do usuário
    4. Notas de versão
  7. Acrobat Sign for HR ServiceNow
    1. Guia de instalação (Descontinuado)
  8. Acrobat Sign para SAP SucessFactors
    1. Manual de instalação do cockpit (Descontinuado)
    2. Guia Instalação de recrutamento (descontinuado)
    3. Guia do usuário de Recrutamento
    4. Guia de instalação do Cloud Foundry
    5. Notas de versão
  9. Acrobat Sign for Workday
    1. Guia de instalação
    2. Guia de início rápido
    3. Tutorial de configuração
  10. Acrobat Sign for NetSuite
    1. Guia de instalação
    2. Notas de versão
  11. Acrobat Sign for SugarCRM
  12. Acrobat Sign for VeevaVault
    1. Guia de instalação
    2. Guia do usuário
    3. Guia de atualização
    4. Notas de versão
  13. Acrobat Sign for Coupa BSM Suite
    1. Guia de instalação
  14. Acrobat Sign para Zapier
    1. Visão geral do Acrobat Sign for Zapier
    2. Fluxos de trabalho de assinatura eletrônica compatíveis
    3. Ações compatíveis
    4. Criar fluxos de trabalho automatizados de assinatura eletrônica
  15. Documentação do desenvolvedor do Acrobat Sign
    1. Visão geral
    2. Webhooks
    3. Tags de texto

Visão geral

O Adobe Acrobat Sign for Salesforce: Guia do desenvolvedor foi pensado para ajudar desenvolvedores do Salesforce a saber mais sobre os objetos e parâmetros necessários para integrar o pacote da Salesforce com o Adobe Acrobat Sign.

Consulte os tópicos deste documento para saber mais sobre:

Cuidado:

Objetos do Adobe Acrobat Sign para Salesforce podem mudar em uma versão futura. Se você criar uma solução personalizada que depende de objetos alterados, poderá ser necessário atualizar sua personalização.

Diretrizes para desenvolvedores

  • Se precisar saber quando o contrato está totalmente assinado, implemente um acionador Apex no objeto echosign_dev1__SIGN_Agreement__c após ou antes da atualização (dependendo do caso de uso e dos requisitos). Quando o campo echosign_dev1__Status__c é alterado para Assinado ou Aprovado ou outros status finais, o contrato é concluído.
  • Se você precisar saber quando cada PDF assinado individual é inserido, se por exemplo precisar obter cada PDF assinado intermediário, implemente um acionador Apex nos objetos Attachment ou ContentVersion, após a inserção, e observe um contrato principal e um nome que termine em "- signed.pdf" ou "- approved.pdf" ou outro status final
  • Se precisar saber quando um recipient individual assinou ou aprovou, implemente um acionador Apex no objeto echosign_dev1__SIGN_Recipients__c, após ou antes da atualização (dependendo do caso de uso e dos requisitos). Quando o campo echosign_dev1__Status__c é alterado para Assinado ou Aprovado ou outros status finais, o recipient foi concluído.
  • Se você precisar saber quando ocorre um evento específico que faz parte do processo de assinatura, como o envio de um contrato para assinatura ou um envio de lembrete, um acionador pode ser criado no objeto de eventos do contrato (echosign_dev1__SIGN_AgreementEvent__c) para verificar o tipo do evento
  • Os nomes dos status finais de um contrato concluído são: "Assinado", "Aprovado", "Aceito", "Preenchido com formulário" e "Entregue"
  • Os nomes do Status final do contrato para um contrato encerrado são: "Cancelado/Recusado" e "Expirado"

Ordem de atualizações

Na v21, a ordem das atualizações foi alterada. Veja abaixo a nova sequência em que o contrato e seus objetos relacionados são atualizados:

  1. Anexos 
  2. Destinatários 
  3. Contrato (status e outros atributos)
  4. Eventos do contrato 
  5. Feeds do Chatter 

Serviços Apex

Método Apex em uso

A partir do Acrobat Sign for Salesforce V 21.0, todos os processos assíncronos (incluindo atualizações automáticas e mapeamentos de dados) usam o método Em fila em vez do método Futuro, conforme recomendado pela Salesforce.
Com essa alteração, todos os trabalhos de personalização que você adicionou à fila do Salesforce para atualização automática ou processo de mapeamento de dados apresentarão falha com este erro: “System.LimitException: muitas tarefas em fila adicionadas à fila:2.”

A falha acontece porque um processo enfileirado só pode adicionar uma tarefa filho enfileirada, que já está ocupada pelo Acrobat Sign. Para obter detalhes, consulte Limites de Apex em fila.

Quando o status do contrato não é alterado ou o mapeamento de dados não é executado corretamente, ele pode exibir este erro: “Ao encadear trabalhos, você pode adicionar apenas um trabalho de um trabalho em execução com System.enqueueJob, o que significa que apenas um trabalho secundário pode existir para cada trabalho principal na fila. Não se permite iniciar vários trabalhos secundários a partir do mesmo trabalho em fila.”

Para solucionar esse erro, localize o acionador, construtor de processo ou fluxo de trabalho com problema e desative-o, alterne-o para usar uma chamada assíncrona ou agende-o para depois.

Serviço de modelo de contrato

O serviço de modelo de contrato é exposto como um serviço global do Apex pelo pacote gerenciado. Isso permite que o código do Apex fora do pacote gerenciado carregue contratos com base em modelos de contrato existentes. A classe e todos os métodos expostos são marcados como global para permitir esse acesso.

O serviço Apex é exposto por meio desta classe de invocação: echosign_dev1.AgreementTemplateService

Métodos

global

static Id load()

Carrega um contrato usando um modelo de contrato marcado como padrão e que não tem um tipo de objeto principal.

global

static Id load(String templateId)

Carrega um contrato usando a ID de modelo de contrato especificada, que não tem um tipo de objeto principal.

 

global

static Id load(String templateId, String masterId)

Carrega um contrato usando a ID de modelo de contrato especificada e a ID de registro principal especificada, cujo tipo deve corresponder ao tipo de objeto principal configurado no modelo de contrato especificado.

global

static Id load(String templateId, String masterId, Map<String,AgreementTemplateVariable> agreementTemplateVariables)

Carrega um contrato usando a ID de modelo de contrato especificada e a ID de registro principal especificada, cujo tipo deve corresponder ao tipo de objeto principal configurado no modelo de contrato especificado. Também é transmitida nas variáveis de tempo de execução especificadas como pares de valores de nome.

 

global

static List<AgreementTemplateService.AgreementTemplateBasicInfo> getAgreementTemplateList(AgreementTemplateListOptions options)

Obtenha uma lista de modelos de contrato com base nas opções de filtragem. Retorne uma lista vazia se nenhum modelo de contrato for encontrado com as opções de filtragem.

global

static AgreementTemplateService.AgreementTemplateDetails getAgreementTemplateDetails(String templateId)

Obtenha detalhes do modelo de contrato para a ID do modelo de contrato especificada.

Retorne um objeto vazio se nenhum modelo de contrato for encontrado.

global

static String getAgreementTemplateUrl(String templateId)

Obtenha o URL para editar o modelo de contrato com a ID do modelo de contrato.

global

static String getNewAgreementTemplateUrl()

Obtenha o URL para criar um novo Modelo de contrato no Adobe Sign.

 Construtores

Acessar

Assinatura

global

AgreementTemplateListOptions()

global

AgreementTemplateListOptions(String masterObjectType, Boolean isActive, Boolean hasAttachment, Boolean hasRecipient, Boolean autoSend)

Propriedades da classe global

Classe global: AgreementTemplateService.AgreementTemplateListOptions

Acessar

Nome

global

masterObjectType

global

isActive

global

hasAttachment

global

hasRecipient

global

autoSend

Observação:

Nenhum filtro é aplicado em seu campo correspondente ao consultar modelos de contrato se um campo listado acima tiver um valor nulo.

CLASSE GLOBAL: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEBASICINFO

Acessar

Nome

global

name

global

recordId

global

url

global

isDefault

global

daysUntilExpiration

global

idioma

CLASSE GLOBAL: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEDETAILS

Acessar

Nome

global

message

global

ccList

global

dataMappingName

global

mergeMappingName

global

url

global

destinatários

CLASSE GLOBAL: AGREEMENTTEMPLATESERVICE.RECIPIENTINFO

Acessar

Nome

global

recipientRole

global

recipientType

global

recipientName

global

signOrder

Variáveis de tempo de execução

A classe global echosign_dev1.AgreementTemplateVariable tem os dois campos globais a seguir:

  • nome: o nome da variável, que deve corresponder a um nome de variável de tempo de execução configurado no modelo de contrato.
  • valor: o valor da variável usada durante o carregamento do modelo. O valor depende de onde a variável foi usada. Por exemplo, para um destinatário, deve ser uma ID de contato, lead ou registro de usuário ou um email. Para uma variável de documento, deve ser uma ID de registro de anexo.

Resultado

Cada método retorna a ID do registro do contrato recém-criado ou lança uma exceção com uma mensagem de erro detalhada se algo der errado durante a operação de carregamento.

Serviços de API

O serviço de modelo de API para assinar eletronicamente da Adobe é exposto como um serviço global do Apex pelo pacote gerenciado. Isso permite que o código do Apex fora do pacote gerenciado chame um conjunto de APIs para assinar eletronicamente da Adobe por meio desses empacotadores. Os empacotadores simplificam muito a chamada de API porque os consumidores não precisam criar modelos de dados de solicitação e resposta. Além disso, os clientes não precisam lidar com a transformação dos dados do Salesforce em modelos de dados para assinar eletronicamente. A maior parte da complexidade é abstraída do consumidor. Por exemplo, para enviar um contrato que o consumidor acaba de transmitir na ID de registro do contrato, o serviço tratará de consultá-lo, extrair todos os dados relevantes, transmiti-lo na API e analisar o resultado.

A classe e todos os métodos expostos são marcados como global para permitir esse acesso.

  • v17 e anteriores chamam APIs SOAP
  • v18 e posterior chamam APIs REST

O serviço Apex é exposto por meio da seguinte classe de chamada: echosign_dev1.EchoSignApiService

Aprimoramento da API do Apex para destinatários alternativos

A partir da versão 24.14 ou posterior, a API do Apex atualizada permite substituir ou adicionar destinatários alternativos e está acessível na classe global “EchoSignApiService”. Dois novos elementos foram introduzidos:

  • Uma função global:

    /**

    * Parâmetros de entrada:

    * toBeChangedRecipientId: SIGN_Recipient__c Id

    * newRecipientStr: string JSON de SIGN_Recipient__c de um novo destinatário para substituição de destinatário ou alternativo

    * changeType: REPLACE ou ALTERNATE

    */

    global static void changeRecipient(Id toBeChangedRecipientId, String newRecipientStr, RECIPIENT_CHANGE_TYPE changeType )

  • Uma enumeração global: RECIPIENT_CHANGE_TYPE {REPLACE, ALTERNATE}

Código de exemplo para chamar esta API para destinatários (tipo de destinatário como Email)

// primeiro consulte todos os destinatários associados ao contrato

List<SIGN_Recipients__c> recipients = [SELECT Id, echosign_dev1__Agreement__c, echosign_dev1__Email_Address__c, echosign_dev1__ParticipantSet__c, echosign_dev1__Recipient_Type__c, echosign_dev1__Order_Number__c FROM echosign_dev1__SIGN_Recipients__c where echosign_dev1__Agreement__c = 'a0P7X000008Cc1GUAS'];

SIGN_Recipients__c newRecipient = null;

SIGN_Recipients__c replacedRecipient = null;

// localize o destinatário que precisa ser substituído ou um alternativo

// nesse caso, localize o destinatário por seu email.

// Você pode adicionar mais condições para localizar o destinatário que deve ser substituído ou que precisa de uma alternativa.

for(SIGN_Recipients__c recipient: recipients) {

    if (rep.echosign_dev1__Email_Address__c == 'someUser@example.com') {

         newRecipient = recipient.clone(false, true, false, false);

         replacedRecipient = recipient;

    }

}

// atualizar endereço de email para novo destinatário

newRecipient.echosign_dev1__Email_Address__c = ''someNewUser@abc.com';

// serializar para string json

String newRecipientStr = JSON.serialize(newRecipient);

Experimente o {

    echosign_dev1.EchoSignApiService.changeRecipient(replacedRecipient.Id, newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE.REPLACE);

} catch (Exception ex) {

    // tratar a exceção e relançar se necessário

}

Métodos

global

static void cancelDocument(Id agreementId)

Cancela o contrato com a ID especificada.

global

static echosign_dev1.EchoSignApiService.DocumentInfo getDocumentInfo(Id agreementId)

Recupera informações detalhadas para a ID de contrato especificada.

global

static List<EchoSignApiService.SigningUrl>

getSigningUrls(Id agreementId)

Recupera todos os URLs de assinatura da ID de contrato especificada.

global

static void removeDocument(Id agreementId)

Cancela o contrato com a ID especificada e exclui o registro do contrato no Salesforce (o contrato não é removido da conta do Adobe e-Sign).

global static void replaceSigner(Id replacementRecipientId)
Descontinuado com a V 24.14. As versões do pacote anteriores à v24.14 ainda podem usá-las, pois usam APIs V5.
global static void replaceSigner(Id replacementRecipientId, String message)
Descontinuado com a V 24.14. As versões do pacote anteriores à v24.14 ainda podem usá-las, pois usam APIs V5.

global

static echosign_dev1.EchoSignApiService.

SendDocumentResult sendDocument(Id agreementId)

Envia o contrato com a ID do contrato especificada e retorna o resultado com a chave do documento e URLs.

global

static void sendReminder(Id agreementId)

Envia um lembrete ao signatário atual para a ID de contrato especificada.

global static void updateAgreement(Id agreementId) Atualiza o contrato com a agreementId especificada
global static EchoSignApiService.AgreementViewUrl getViewAgreementUrl(Id agreementId)
Recupera a página de visualização/gerenciamento do Sign para a ID do contrato especificada, que tem uma propriedade de visualização.
Observação: por motivos de segurança, o URL do contrato gerado tem apenas uma duração temporária, portanto gera uma chamada REST-HTTPS para obter um URL novo dos serviços do Adobe Sign.
global static void changeRecipient(Id toBeChangedRecipientId, String newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE changeType ) Disponível a partir da v24.14, essa API altera os destinatários do contrato.

Classes internas

  • Classe global: DocumentHistoryEvent
PROPRIEDADES (2)

Acessar

Nome

global

String eventType

global

String participantEmail

CONSTRUTORES (1)

Acessar

Assinatura

global

DocumentHistoryEvent()

  • Classe global: DocumentInfo
PROPRIEDADES (5)

Acessar

Nome

global

Map<string,list> historyByEmail

global

Map<String,EchoSignApiService.ParticipantInfo>
participantsByEmail

global

Map<String,EchoSignApiService.ParticipantInfo>
participantsByName

global

String senderEmail

global

Status da string

CONSTRUTORES (1)

Acessar

Assinatura

global

DocumentInfo()

  • Classe global: ParticipantInfo
PROPRIEDADES (5)

Acessar

Nome

global

Empresa da string

global

Email da string

global

Nome da string

global

Status da string

global

Título da string

CONSTRUTORES (1)

Acessar

Assinatura

global

ParticipantInfo()

  • Classe global: SendDocumentResult
PROPRIEDADES (3)

Acessar

Nome

global

String documentKey

global

Erro de exceção

global

URL da string

CONSTRUTORES (1)

Acessar

Assinatura

global

SendDocumentResult()

  • Classe global: SigningUrl
PROPRIEDADES (3)

Acessar

Nome

global

Email da string

global

String esignUrl

global

String simpleEsignUrl

CONSTRUTORES (1)

Acessar

Assinatura

Global

 

Serviços em lote do Apex

Expõe as principais ações de contratos para assinar eletronicamente em massa, permitindo que uma operação seja executada em um conjunto de contratos. Esta classe implementa a interface Database.Batchable do Salesforce. Ela pode processar qualquer número de registros, que serão divididos em conjuntos de 5, e processar cada conjunto como uma transação individual, o que permite que os limites do regulador sejam respeitados.

O serviço em lote do Apex é exposto por meio da seguinte classe de chamada: echosign_dev1.EchoSignActionBatch

Parâmetros

Você deve especificar os seguintes parâmetros para inicializar uma operação em lote:

  • Uma lista das IDs de registro do contrato nas quais executar a ação fornecida: a ação pode ter qualquer um dos seguintes valores permitidos: Lembrar, Enviar, Cancelar, Excluir ou Atualizar.
  • ID da sessão do usuário atual: necessário apenas para um tipo de ação de atualização.
  • Registro do usuário remetente: usado para notificar o usuário por email quando o processamento em massa for concluído.

Exemplo de uso

User submitterUser = UserInfo.getUserId();

EchoSignActionBatch batch = new EchoSignActionBatch( agreementIds, 'Remind', UserInfo.getSessionId(), submitterUser); Id syncProcessId = Database.executeBatch(batch, 5); 

Lote de modelos de contrato

Usa uma consulta SOQL e uma ID de registro de modelo de contrato. A consulta é executada para obter um conjunto de registros de objeto principal, cada um dos quais é executado por meio do modelo de contrato fornecido para gerar um registro de contrato. Esta classe implementa a interface Database.Batchable do Salesforce. Ela pode processar qualquer número de registros, que serão divididos em conjuntos de 5, e processar cada conjunto como uma transação individual, o que permite que os limites do regulador sejam respeitados.

Os tipos de registro retornados pela consulta SOQL devem corresponder ao tipo de objeto principal do modelo de contrato fornecido. Para cada registro, o serviço de modelo de contrato é chamado.

O serviço em lote do Apex é exposto por meio da seguinte classe de chamada:

echosign_dev1.AgreementTemplateBatch

Parâmetros

Você deve especificar os seguintes parâmetros para inicializar uma operação em lote:

  • Consulta SOQL a ser executada: deve conter a ID do registro como um campo selecionado. Outros campos são opcionais.
  • ID do registro do modelo de contrato: usada com a ID do registro principal para carregar um contrato.

Exemplo de uso

String agreementTemplateId = [SELECT Id from echosign_dev1__Agreement_Template__c where Name = 'Default Template']; String soqlQuery = 'SELECT Id from Contact where Account.IsActive = true';

AgreementTemplateBatch batch = new AgreementTemplateBatch(soqlQuery, agreementTemplateId); Id syncProcessId = Database.executeBatch(batch, 5);

Lote de serviço de modelo de contrato

Usa uma lista de IDs de registro de objeto principal e o tipo de objeto principal, que são consultados, e cada um deles é executado por meio do modelo de contrato fornecido para gerar um registro de contrato. Esta classe implementa a interface Database.Batchabledo Salesforce. Ela pode processar qualquer número de registros, que serão divididos em conjuntos de 5, e processar cada conjunto como uma transação individual, o que permite que os limites do regulador sejam respeitados.

O tipo de objeto principal fornecido deve corresponder ao tipo de objeto principal do modelo de contrato fornecido. Para cada registro, o serviço de modelo de contrato é chamado.

O serviço em lote do Apex é exposto por meio da seguinte classe de chamada:

echosign_dev1.AgreementTemplateServiceBatch

Parâmetros

Você deve especificar os seguintes parâmetros para inicializar uma operação em lote:

  • Lista de IDs do registro principal.
  • ID de registro do modelo de contrato: usada em conjunto com os registros principais para carregar um contrato.
  • Nome do objeto principal para consultar os registros principais.

Exemplo de uso

String agreementTemplateId = [SELECT Id from echosign_dev1__Agreement_Template__c where Name = 'Default Template'];

AgreementTemplateBatch batch = new AgreementTemplateServiceBatch(new List<Id>{'01p50000000HoMB'}, agreementTemplateId, 'Contact');
Id syncProcessId = Database.executeBatch(batch, 5);

Serviços REST

Serviço de modelo de contrato

O serviço de modelo de contrato é exposto como um serviço Web REST do Salesforce pelo pacote gerenciado. Isso permite que sistemas externos fora da organização do Salesforce carreguem contratos com base em modelos de contrato existentes. Consulte o artigo Criação de APIs REST usando o Apex REST para obter mais detalhes sobre como acessar e chamar serviços personalizados do Apex REST no Salesforce. As chamadas devem fornecer uma ID de sessão válida para autenticação e autorização.

O serviço Web é exposto pelo seguinte URL:

https://<instance_name>.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id>?masterId=<master_id>&varName1=var Value1&varName2=varValue2

Observação:
  • O nome da instância varia de acordo com a instância da sua organização.
  • https://_<instance_name>_.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id> é um método HTTP POST para as versões de pacote 20.0 e posteriores.
    • As versões antes da v20 usam um método GET.

ID do modelo

A última parte do URL é a ID do registro do modelo de contrato na organização atual do Salesforce que deve ser usada para carregar o contrato. Esta parte do URL é opcional. Se omitida, o modelo de contrato marcado como padrão será carregado. Se a ID do modelo for omitida e nenhuma ID de modelo de contrato padrão existir, um erro será retornado.

A ID do modelo pode estar no formato de 15 ou 18 caracteres.

ID principal

O parâmetro masterId especifica qual registro principal deve ser usado para carregar o contrato do modelo de contrato específico. Esse parâmetro é opcional, mas deve ser especificado para qualquer modelo de contrato que especifique um tipo de objeto principal e faça referência a esse objeto principal no modelo.

A ID principal pode estar no formato de 15 ou 18 caracteres.

Variáveis de tempo de execução

Quaisquer parâmetros adicionais são usados como variáveis de tempo de execução, como pares nome-valor, usados para preencher quaisquer variáveis de tempo de execução especificadas no modelo de contrato.

Resultado

O serviço Web REST retorna um objeto LoadResult que contém os seguintes campos:

  • agreementId: se a operação de carregamento do contrato foi bem-sucedida, ela contém a ID do registro do contrato recém-criado.
  • erro: se houve qualquer erro durante o carregamento do contrato, este campo conterá uma mensagem de erro detalhada.

Serviço em segundo plano

O recurso de serviço em segundo plano permite que os consumidores de pacotes chamem várias ações em um objeto de contrato atualizando o campo Ação em segundo plano (echosign_dev1 Background_Actions c) para o valor correspondente. Quando o valor do campo é alterado de um valor em branco ou outro valor para um dos seguintes valores, a ação é iniciada de um acionador que faz parte do pacote gerenciado da assinatura eletrônica.

  • Lembrar
  • Enviar
  • Cancelar
  • Excluir
  • Atualizar

Todas as ações são executadas em um modo futuro assíncrono, portanto, o status será armazenado no campo Erro no contrato.

Alterações na compatibilidade com versões anteriores

  • Agora o status do contrato é atualizado após a atualização dos documentos e destinatários
    • Antes da v21, o status era definido antes.
  • Agora o objeto Contrato assinado (que armazena os URLs de imagem) não é inserido de forma alguma
    • Antes da v21, ele era inserido após a conclusão de todas as outras atualizações
  • O tamanho máximo da solicitação ou resposta de callout é limitado a 12 MB para Apex assíncrono, de acordo com os limites do administrador da Salesforce: https://developer.salesforce.com/docs/atlas.en-us.210.0.apexcode.meta/apexcode/apex_gov_limits.htm
    • Os documentos maiores que 12MB não podem ser buscados pelo Sign porque estão acima do limite.
  • As descrições de eventos do contrato foram alteradas. Agora corresponde a descrição como retornada pela API do Sign e com os relatórios de auditoria.
  • Agora o processo de atualização é executado como um processo em lote nativo do Apex (que é um processo assíncrono) no Salesforce
    • Antes era uma atualização que usava chamadas de API de fora do Salesforce
    • Desativar essas atualizações de status que iniciam processos assíncronos não funciona mais porque o Salesforce limita a chamada de outro processo assíncrono de um processo assíncrono já em execução
  • Antes da v21, as atualizações dos atributos do contrato eram divididas em chamadas separadas de atualização. Agora todos os objetos do contrato são atualizados em uma única transação.
  • Antes da v21, os contratos com falha só podiam ser recuperados fazendo uma atualização manual no Salesforce
    • Agora as atualizações são mais seguras porque o backend do Sign recupera automaticamente os eventos com falha para um número de vezes especificado.
  • Agora as atualizações manuais atualizam todos os aspectos dos contratos, incluindo os objetos relacionados.
  • Agora os contratos por push são executados no modo assíncrono, da mesma forma que as atualizações regulares e os atributos adicionais são atualizados, da mesma forma que as atualizações regulares.
  • Novas configurações foram inseridas para ativar e desativar atualizações de diferentes aspectos do contrato.
  • Quando um PDF assinado é armazenado no Salesforce, não haverá mais um descritor (assinado ou aprovado) adicionado ao final do nome de arquivo PDF.

 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