global
- Integraciones de Adobe Acrobat Sign
- Novedades
- Versiones de productos y ciclo de vida
- Acrobat Sign para Salesforce
- Instalar el paquete
- Configurar el paquete
- Guía del usuario
- Habilitar autenticación digital
- Guía del desarrollador
- Guía de personalización avanzada
- Guía de asignación y plantillas de campos
- Guía del usuario de la aplicación móvil
- Guía de automatización de flujos
- Guía de Document Builder
- Configurar documentos grandes
- Guía de actualización
- Notas de la versión
- Preguntas frecuentes
- Guía de solución de problemas
- Artículos adicionales
- Acrobat Sign para Microsoft
- Acrobat Sign para Microsoft 365
- Acrobat Sign para Outlook
- Acrobat Sign para Word/PowerPoint
- Acrobat Sign para equipos
- Acrobat Sign para Microsoft PowerApps y Power Automate
- Conector de Acrobat Sign para Microsoft Search
- Acrobat Sign para Microsoft Dynamics
- Acrobat Sign para Microsoft SharePoint
- Información general
- SharePoint local: guía de instalación
- SharePoint local: guía de asignación de plantillas
- SharePoint local: guía del usuario
- SharePoint local: notas de la versión
- SharePoint Online: guía de instalación
- SharePoint Online: guía de asignación de plantillas
- SharePoint Online: guía del usuario
- SharePoint Online: guía de asignación de formularios web
- SharePoint Online: notas de la versión
- Acrobat Sign para Microsoft 365
- Acrobat Sign para ServiceNow
- Acrobat Sign para HR ServiceNow
- Acrobat Sign para SAP SuccessFactors
- Acrobat Sign para Workday
- Acrobat Sign para NetSuite
- Acrobat Sign para SugarCRM
- Acrobat Sign para VeevaVault
- Acrobat Sign para Coupa BSM Suite
- Acrobat Sign para Zapier
- Documentación para desarrolladores de Acrobat Sign
Información general
La guía para desarrolladores de Adobe Acrobat Sign para Salesforce está diseñada para ayudar a los desarrolladores de Salesforce a obtener información acerca de los objetos y parámetros necesarios para integrar su paquete de Salesforce con Adobe Acrobat Sign.
Consulta los temas de este documento para obtener más información acerca de lo siguiente:
Los objetos de Adobe Acrobat Sign para Salesforce pueden cambiar en una versión futura. Si crea una solución personalizada que dependa de estos objetos, y estos cambian, puede que necesite actualizar su personalización.
- Si necesita saber cuándo se ha firmado el acuerdo por completo, implemente un activador Apex en el objeto echosign_dev1__SIGN_Agreement__c, después o antes de la actualización del estado (en función del caso de uso y los requisitos). Cuando el campo echosign_dev1__Status__c cambia a Firmado o Aprobado u otros estados finales, el acuerdo se completa.
- Si necesita saber cuándo se inserta cada PDF firmado individual, por ejemplo, si necesita obtener cada PDF firmado intermedio, implemente un activador Apex en los objetos Attachment o ContentVersion, después de insertar, y observe el acuerdo principal y el nombre que termine en “- signed.pdf” o “- approved.pdf” u otro estado final.
- Si necesita saber cuándo un destinatario individual ha firmado o aprobado, implemente un activador Apex en el objeto echosign_dev1__SIGN_Recipients__c, después o antes de la actualización del estado (según el caso de uso y los requisitos). Cuando el campo echosign_dev1__Status__c cambia a Firmado o Aprobado u otros estados finales, se completa el destinatario.
- Si necesita saber cuándo se produce un evento concreto que forma parte del proceso de firma, como un acuerdo o un recordatorio que se envía para firmar, se puede crear un activador en el objeto de eventos del acuerdo (echosign_dev1__SIGN_AgreementEvent__c) y comprobar el tipo del evento.
- Los nombres del estado final del acuerdo para un acuerdo completado son: “Firmado”, “Aprobado”, “Aceptado”, “Rellenado del formulario” y “Entregado”.
- Los nombres del estado final del acuerdo para un acuerdo terminado son: “Cancelado/Rechazado”, “Cancelado/Rechazado”, “Caducado”.
En la versión 21, el pedido de las actualizaciones ha cambiado. A continuación se muestra la secuencia en la que se actualizan el contrato y sus objetos relacionados:
- Archivos adjuntos
- Destinatarios
- Acuerdo (estado y sus otros atributos)
- Eventos del acuerdo
- Fuentes de Chatter
Método Apex en uso
A partir de Acrobat Sign para Salesforce 21.0, todos los procesos asíncronos (incluidas las actualizaciones automáticas y la asignación de datos) utilizan el método Queueable en lugar del método Future, como recomienda Salesforce.
Con este cambio, todos los trabajos de personalización que se agregan a la cola de Salesforce para la actualización automática o el proceso de asignación de datos fallan con este error: “System.LimitException: se han agregado demasiados trabajos a la cola: 2”.
El fallo se produce porque un proceso en cola solo puede añadir un trabajo en la cola secundario, ya ha asumido por Acrobat Sign. Para obtener más información, consulte límites de Apex en la cola.
Cuando el estado del acuerdo no cambia o la asignación de datos no se ejecuta correctamente, puede aparecer este error: “Al encadenar trabajos, solo se puede añadir un trabajo desde uno en ejecución con System.enqueueJob, lo que significa que solo puede existir un trabajo secundario para cada trabajo “queueable” principal. No es posible comenzar múltiples trabajos secundarios del mismo trabajo “queueable”.
Para resolver este error, busque el activador, generador de procesos o flujo de trabajo incorrecto y desactívelo o cámbielo para utilizar la llamada sincrónica, o prográmelo para más adelante.
Servicio de plantilla de acuerdo
El servicio de plantilla de acuerdo se muestra como un servicio Apex global en el paquete administrado. Esto permite que el código Apex fuera del paquete administrado cargue acuerdos basados en plantillas de acuerdo existentes. La clase y todos los métodos expuestos se marcan como global para permitir dicho acceso.
El servicio Apex se expone con la siguiente clase de invocación: echosign_dev1.AgreementTemplateService
Métodos
|
static Id load() |
Cargue un acuerdo utilizando una plantilla de acuerdo marcada como predeterminada y que no tiene ningún tipo de objeto principal. |
global |
static Id load(String templateId) |
Cargue un acuerdo utilizando el ID de plantilla de acuerdo especificado que no tenga ningún tipo de objeto principal.
|
global |
static Id load(String templateId, String masterId) |
Carga un acuerdo utilizando el ID de plantilla de acuerdo especificado y el ID de registro principal especificado, cuyo tipo debe coincidir con el tipo de objeto principal configurado en la plantilla de acuerdo especificada. |
global |
static Id load(String templateId, String masterId, Map<String,AgreementTemplateVariable> agreementTemplateVariables) |
Carga un acuerdo utilizando el ID de plantilla de acuerdo especificado y el ID de registro principal especificado, cuyo tipo debe coincidir con el tipo de objeto principal configurado en la plantilla de acuerdo especificada. También pasa en las variables de tiempo de ejecución especificadas como pares de valores de nombre.
|
global |
static List<AgreementTemplateService.AgreementTemplateBasicInfo> getAgreementTemplateList(AgreementTemplateListOptions options) |
Obtener una lista de plantillas de acuerdo basadas en opciones de filtrado. Devuelve una lista vacía si no se encuentra ninguna plantilla de acuerdo con las opciones de filtrado. |
global |
static AgreementTemplateService.AgreementTemplateDetails getAgreementTemplateDetails(String templateId) |
Obtener detalles de la plantilla de acuerdo para el ID de plantilla de acuerdo especificado. Devuelve un objeto vacío si no se encuentra ninguna plantilla de acuerdo. |
global |
static String getAgreementTemplateUrl(String templateId) |
Obtenga la URL para editar la plantilla de acuerdo dado el ID de plantilla de acuerdo. |
global |
static String getNewAgreementTemplateUrl() |
Obtenga la URL para crear una nueva plantilla de acuerdo en Adobe Sign. |
Constructores
Access |
Firma |
---|---|
global |
AgreementTemplateListOptions() |
global |
AgreementTemplateListOptions(String masterObjectType, Boolean isActive, Boolean hasAttachment, Boolean hasRecipient, Boolean autoSend) |
Propiedades de la clase global
Access |
Nombre |
---|---|
global |
masterObjectType |
global |
isActive |
global |
hasAttachment |
global |
hasRecipient |
global |
autoSend |
No se aplica ningún filtro en su campo correspondiente al consultar plantillas de acuerdo si un campo enumerado anteriormente tiene un valor nulo.
Access |
Nombre |
---|---|
global |
name |
global |
recordId |
global |
url |
global |
isDefault |
global |
daysUntilExpiration |
global |
idioma |
Access |
Nombre |
---|---|
global |
mensaje |
global |
ccList |
global |
dataMappingName |
global |
mergeMappingName |
global |
url |
global |
destinatarios |
Access |
Nombre |
---|---|
global |
recipientRole |
global |
recipientType |
global |
recipientName |
global |
signOrder |
Variables de tiempo de ejecución
La clase global echosign_dev1.AgreementTemplateVariable tiene los dos siguientes campos globales:
- Nombre: el nombre de la variable debe coincidir con el de tiempo de ejecución configurado en la plantilla del acuerdo.
- Valor: valor de la variable utilizado durante la carga de la plantilla. El valor depende de donde se utilizó la variable. Por ejemplo, para un destinatario debe ser un ID de contacto, posible cliente o registro de usuario, o un correo electrónico. Para una variable de documento, debe ser un identificador de registro de datos adjuntos.
Resultado
Todos los métodos devuelven el ID del registro del acuerdo recién creado o lanzan una excepción con un mensaje detallado si se produjo algún error durante la operación de carga.
El paquete administrado muestra el servicio de plantilla de la API de firma electrónica de Adobe como un servicio de Apex global. Esto permite que el código Apex fuera del paquete administrado invoque un conjunto de API de firma electrónica de Adobe a través de estos contenedores. Los contenedores simplifican en gran medida la invocación de la API porque los consumidores no necesitan crear un modelo de datos de solicitud y respuesta. Además, los consumidores no necesitan gestionar la transformación de los datos de Salesforce en modelos de datos de firma electrónica. La mayor parte de la complejidad se abstrae del consumidor. Por ejemplo, para enviar un acuerdo que el consumidor acaba de pasar en el ID de registro del acuerdo, el servicio se encargará de consultarlo, extraer todos los datos relevantes, pasarlos a la API y analizar el resultado.
La clase y todos los métodos expuestos se marcan como global para permitir dicho acceso.
- La versión 17 y las anteriores invocan las API SOAP
- La versión 18 y superior invoca las API de REST
El servicio Apex se expone mediante la siguiente clase de invocación: echosign_dev1.EchoSignApiService
Mejora de la API Apex para destinatarios alternativos
A partir de la versión 24.14 o posterior, la API Apex actualizada le permite reemplazar o añadir destinatarios alternativos y es accesible dentro de la clase global “EchoSignApiService”. Se han introducido dos nuevos elementos:
- Una función global:
/**
*Parámetros de entrada:
* toBeChangedRecipientId: ID de SIGN_Recipient__c
* newRecipientStr: cadena JSON de SIGN_Recipient__c de un nuevo destinatario para sustitución u otra alternativa de destinatario
* changeType: REPLACE o ALTERNATE
*/
global static void changeRecipient(Id toBeChangedRecipientId, Cadena newRecipientStr, RECIPIENT_CHANGE_TYPE changeType )
- Una enumeración global: RECIPIENT_CHANGE_TYPE {REPLACE, ALTERNATE}
Código de ejemplo para llamar a esta API para destinatarios (tipo de destinatario como correo electrónico)
// en primer lugar, consulte todos los destinatarios asociados al acuerdo
Lista<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 replaceRecipient = null;
// buscar el destinatario que se debe reemplazar o una alternativa
// En este caso, busque el destinatario por su correo electrónico.
// Pueden añadirse más condiciones para encontrar al destinatario que se va a sustituir o que necesita una 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;
}
}
// actualizar la dirección de correo electrónico del nuevo destinatario
newRecipient.echosign_dev1__Email_Address__c = ''someNewUser@abc.com';
// serializarlo en cadena json
Cadena newRecipientStr = JSON.serialize(newRecipient);
Probar {
echosign_dev1.EchoSignApiService.changeRecipient(replaceRecipient.Id, newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE.REPLACE);
} catch (Excepción: ex) {
// controlar la excepción y volver a producir si es necesario
}
Métodos
global |
static void cancelDocument(Id agreementId) |
Cancela el acuerdo con el ID de acuerdo especificado. |
global |
static echosign_dev1.EchoSignApiService.DocumentInfo getDocumentInfo(Id agreementId) |
Recupera información detallada del ID de acuerdo especificado. |
global |
static List<EchoSignApiService.SigningUrl> getSigningUrls(Id agreementId) |
Recupera todas las direcciones URL de firma para el ID de acuerdo especificado. |
global |
static void removeDocument(Id agreementId) |
Cancela el acuerdo con el ID de acuerdo especificado y elimina el registro del acuerdo en Salesforce (el acuerdo no se elimina de la cuenta de firma electrónica de Adobe). |
global | static void replaceSigner(Id replacementRecipientId) |
Obsoleto con la versión 24.14. Aún se pueden utilizar las versiones de paquetes anteriores a la 24.14, ya que se basan en las API de la versión 5. |
global | static void replaceSigner(Id replacementRecipientId, String message) |
Obsoleto con la versión 24.14. Aún se pueden utilizar las versiones de paquetes anteriores a la 24.14, ya que se basan en las API de la versión 5. |
global |
static echosign_dev1.EchoSignApiService. SendDocumentResult sendDocument(Id agreementId) |
Envía el acuerdo con el ID de acuerdo especificado y devuelve el resultado con la clave del documento y las direcciones URL. |
global |
static void sendReminder(Id agreementId) |
Envía un recordatorio al firmante actual para el ID de acuerdo especificado. |
global | static void updateAgreement(Id agreementId) | Actualiza el acuerdo con el agreementId especificado |
global | static EchoSignApiService.AgreementViewUrl getViewAgreementUrl(Id agreementId) |
Recupera la página de visualización/administración de Sign para el ID de acuerdo especificado, que tiene una propiedad de vista. Nota: Por motivos de seguridad, la dirección URL del acuerdo generado solo tiene una duración temporal, por lo que genera una llamada REST-HTTPS para obtener una nueva dirección URL de los servicios de Adobe Sign. |
global | static void changeRecipient(Id toBeChangedRecipientId, String newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE changeType ) | Disponible a partir de la versión 24.14, esta API cambia los destinatarios del acuerdo. |
Clases internas
- Clase global: DocumentHistoryEvent
Access |
Nombre |
---|---|
global |
String eventType |
global |
String participantEmail |
Access |
Firma |
---|---|
global |
DocumentHistoryEvent() |
- Clase global: DocumentInfo
Access |
Nombre |
---|---|
global |
Map<string,list> historyByEmail |
global |
Map<String,EchoSignApiService.ParticipantInfo> |
global |
Map<String,EchoSignApiService.ParticipantInfo> |
global |
String senderEmail |
global |
Estado de cadena |
Access |
Firma |
---|---|
global |
DocumentInfo() |
- Clase global: ParticipantInfo
Access |
Nombre |
---|---|
global |
Compañía de cadenas |
global |
Correo electrónico de cadena |
global |
Nombre de cadena |
global |
Estado de cadena |
global |
Título de cadena |
Access |
Firma |
---|---|
global |
ParticipantInfo() |
- Clase global: SendDocumentResult
Access |
Nombre |
---|---|
global |
String documentKey |
global |
Error de excepción |
global |
URL de cadena |
Access |
Firma |
---|---|
global |
SendDocumentResult() |
- Clase global: SigningUrl
Access |
Nombre |
---|---|
global |
Correo electrónico de cadena |
global |
String esignUrl |
global |
String simpleEsignUrl |
Access |
Firma |
---|---|
Global |
|
Muestra las acciones principales de los acuerdos de firma electrónica en un nivel por lotes, lo que permite realizar una operación en un conjunto de acuerdos. Esta clase implementa la interfaz Salesforce Database.Batchable. Puede procesar cualquier número de registros, que se desglosarán en conjuntos de 5 y procesar cada conjunto como una transacción individual, lo que permite respetar los límites de gobernador.
El servicio por lotes Apex se expone mediante la siguiente clase de invocación: echosign_dev1.EchoSignActionBatch
Parámetros
Debe especificar los siguientes parámetros para inicializar una operación por lotes:
- Una lista de los ID de registro del acuerdo en los que realizar la acción proporcionada. La acción puede tener cualquiera de los siguientes valores admitidos: recordar, enviar, cancelar, eliminar o actualizar.
- ID de sesión de usuario actual: solo es necesario para la actualización del estado.
- Registro de usuario del remitente: se utiliza para notificar al usuario mediante un correo electrónico cuando finaliza el procesamiento por lotes.
Ejemplo de uso
User submitterUser = UserInfo.getUserId();
EchoSignActionBatch batch = new EchoSignActionBatch( agreementIds, 'Remind', UserInfo.getSessionId(), submitterUser); Id syncProcessId = Database.executeBatch(batch, 5);
Acepta una consulta SOQL y un ID de registro de plantilla de acuerdo. La consulta se ejecuta para obtener un conjunto de registros de objeto principal, cada uno de los cuales se ejecuta a continuación mediante la plantilla de acuerdo proporcionada para generar un registro de acuerdo. Esta clase implementa la interfaz Salesforce Database.Batchable. Puede procesar cualquier número de registros, que se desglosarán en conjuntos de 5 y procesar cada conjunto como una transacción individual, lo que permite respetar los límites de gobernador.
Los tipos de registro devueltos por la consulta SOQL deben coincidir con el tipo de objeto principal de plantilla de acuerdo proporcionado. Para cada registro, se invoca el servicio de plantilla de acuerdo.
El servicio por lotes Apex se expone mediante la siguiente clase de invocación:
echosign_dev1.AgreementTemplateBatch
Parámetros
Debe especificar los siguientes parámetros para inicializar una operación por lotes:
- Consulta SOQL que se va a ejecutar: debe contener el identificador de registro como campo seleccionado. Los otros campos son opcionales.
- ID de registro de plantilla de acuerdo: se utiliza junto con el ID de registro principal para cargar un acuerdo.
Ejemplo 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);
Aprovecha una lista de identificadores de ID del objeto principal y el tipo de objeto principal, que se consultan a continuación, y cada uno de los cuales se ejecuta a través de la plantilla de acuerdo proporcionada para generar un registro de acuerdo. Esta clase implementa la interfaz Salesforce Database.Batchable. Puede procesar cualquier número de registros, que se desglosarán en conjuntos de 5 y procesar cada conjunto como una transacción individual, lo que permite respetar los límites de gobernador.
El tipo de objeto principal dado debe coincidir con el tipo de objeto principal de plantilla de acuerdo proporcionado. Para cada registro, se invoca el servicio de plantilla de acuerdo.
El servicio por lotes Apex se expone mediante la siguiente clase de invocación:
echosign_dev1.AgreementTemplateServiceBatch
Parámetros
Debe especificar los siguientes parámetros para inicializar una operación por lotes:
- Lista de identificadores de registro principales.
- ID de registro de plantilla de acuerdo: se utiliza junto con los registros principales para cargar un acuerdo.
- Nombre del objeto principal para consultar los registros principales.
Ejemplo 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);
Servicio de plantilla de acuerdo
El paquete administrado muestra el servicio de plantilla de acuerdo como un servicio web REST de Salesforce. Esto permite que sistemas externos a la organización de Salesforce carguen acuerdos basados en plantillas de acuerdo existentes. Consulte la Creación de API REST mediante Apex REST para obtener más información sobre cómo acceder a los servicios REST Apex personalizados e invocarlos desde Salesforce. Las invocaciones deben proporcionar un ID de sesión válido para la autenticación y la autorización.
El servicio web se muestra desde la siguiente URL:
https://<instance_name>.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id>?masterId=<master_id>&varName1=var Value1&varName2=varValue2
- El nombre de la instancia variará según la instancia de su organización.
- https://_<instance_name>_.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id> es un POST método HTTP para las versiones de paquete 20.0 y posteriores.
- Las versiones anteriores a la versión 20 utilizan el método GET.
ID de plantilla
La última parte de la dirección URL es el ID del registro de plantilla de acuerdo en la organización actual de Salesforce que se debe utilizar para cargar el acuerdo. Esta parte de la URL es opcional. Si se omite, se cargará la plantilla de acuerdo marcada como predeterminada. Si se omite el ID de plantilla y no existe ningún ID de plantilla de acuerdo predeterminado, arroja un error.
El ID de plantilla puede tener el formato de 15 o 18 caracteres.
ID principal
El parámetro masterId especifica qué registro principal se debe utilizar para cargar el acuerdo desde la plantilla de acuerdo específica. Este parámetro es opcional, pero debe especificarse para cualquier plantilla de acuerdo que especifique un tipo de objeto principal y haga referencia a dicho objeto en la plantilla.
El ID principal puede tener el formato de 15 o 18 caracteres.
Variables de tiempo de ejecución
Cualquier parámetro adicional se utiliza como variables de tiempo de ejecución, como pares de valores de nombre, para rellenar las variables de tiempo de ejecución especificadas en la plantilla del acuerdo.
Resultado
El servicio web REST devuelve un objeto LoadResult que contiene los siguientes campos:
- agreementId: si la operación de carga del acuerdo se realizó correctamente, esto contiene el ID del registro del acuerdo recién creado.
- error: si se ha producido algún error durante la carga del acuerdo, este campo contendrá un mensaje de error detallado.
La capacidad del servicio en segundo plano permite a los consumidores de paquetes invocar varias acciones en un objeto de acuerdo, actualizando el campo Acción en segundo plano (echosign_dev1 Background_Actions c) al valor correspondiente. Una vez que el valor del campo cambia de un valor en blanco u otro valor a uno de los siguientes, la acción se inicia desde un activador que forma parte del paquete administrado de la firma electrónica.
- Recordar
- Enviar
- Cancelar
- Eliminar
- Actualizar
Todas las acciones se ejecutan en un modo futuro asíncrono, por lo que el estado se almacenará en el campo Error del acuerdo.
- El estado del acuerdo ahora se actualiza tras la actualización de los documentos y los destinatarios
- El estado fue establecido antes de la versión v21.
- El objeto del Acuerdo firmado (que almacena las direcciones URL de imagen) ya no se insertará en absoluto
- Antes de la versión v21 se insertaba tras completar todas las otras actualizaciones
- El tamaño máximo de la solicitud o la respuesta de la llamada se limita a 12 MB por Apex asíncrono según los límites de regulador de Salesforce: https://developer.salesforce.com/docs/atlas.en-us.210.0.apexcode.meta/apexcode/apex_gov_limits.htm
- Los documentos de más de 12MB no se pueden sacar de Sign debido al límite anterior.
- Las descripciones del evento del acuerdo han cambiado. Ahora coincide con la descripción tal y como lo ha indicado la API de Sign y con los informes de auditoría.
- El proceso de actualización ahora se ejecuta como un proceso por lotes nativo de Apex (que es un proceso asíncrono) en Salesforce
- Antes era una actualización que utilizaba llamadas de API desde fuera de Salesforce
- Los desactivadores de estas actualizaciones de estado que desactivaban procesos asíncronos ya no funcionan, ya que Salesforce limita las llamadas de otro proceso asíncrono desde uno que ya está en ejecución
- Antes de la versión v21, las actualizaciones de atributo de acuerdo se dividieron en las distintas llamadas de actualización, ahora el objeto y el acuerdo se actualizan todos en una transacción.
- Antes de la versión v21, los acuerdos fallidos solo se podían reintentar al realizar una actualización manual desde dentro de Salesforce
- Las actualizaciones son más fiables ahora, ya que el backend de Sign reintentará de forma automática los eventos en los que se han producido errores durante un número determinado de veces.
- Las actualizaciones manuales ahora actualizan todos los aspectos de los acuerdos, incluidos los objetos relacionados.
- Los acuerdos push ahora se ejecutan de forma asíncrona, igual que se realizan las actualizaciones regulares y se actualizan los atributos adicionales.
- Hay nuevas configuraciones introducidas para permitir deshabilitar las actualizaciones de diferentes aspectos del acuerdo.
- Cuando un PDF firmado se almacena en Salesforce, ya no tendrá un descriptor (-firmado o -aprobado) al final del nombre de archivo del documento.
Páginas similares
- Guía de instalación de Adobe Acrobat Sign para Salesforce
- Guía de personalización avanzada de Adobe Acrobat Sign para Salesforce
- Adobe Acrobat Sign para Salesforce: asignación de campos y plantillas
- Guía de actualización de Adobe Acrobat Sign para Salesforce
- Guía del usuario de Adobe Acrobat Sign para Salesforce