Guía del usuario Cancelar

Adobe Acrobat Sign para Salesforce: guía para desarrolladores

  1. Integraciones de Adobe Acrobat Sign
  2. Novedades
  3. Versiones de productos y ciclo de vida
  4. Acrobat Sign para Salesforce
    1. Instalar el paquete
    2. Configurar el paquete
    3. Guía del usuario
    4. Habilitar autenticación digital
    5. Guía del desarrollador
    6. Guía de personalización avanzada
    7. Guía de asignación y plantillas de campos
    8. Guía del usuario de la aplicación móvil
    9. Guía de automatización de flujos
    10. Guía de Document Builder
    11. Configurar documentos grandes
    12. Guía de actualización
    13. Notas de la versión
    14. Preguntas frecuentes
    15. Guía de solución de problemas
    16. Artículos adicionales
  5. Acrobat Sign para Microsoft
    1. Acrobat Sign para Microsoft 365
      1. Guía de instalación
    2. Acrobat Sign para Outlook
      1. Guía del usuario
    3. Acrobat Sign para Word/PowerPoint
      1. Guía del usuario
    4. Acrobat Sign para equipos
      1. Guía del usuario
      2. Guía de Live Sign
      3. Guía del usuario de Mobile
      4. Notas de la versión
      5. Aprobaciones de Microsoft Teams
    5. Acrobat Sign para Microsoft PowerApps y Power Automate
      1. Guía del usuario
      2. Notas de la versión
    6. Conector de Acrobat Sign para Microsoft Search
      1. Guía del usuario
      2. Notas de la versión
    7. Acrobat Sign para Microsoft Dynamics 
      1. Información general
      2. Dynamics Online: guía de instalación 
      3. Dynamics Online: guía del usuario 
      4. Dynamics local: guía de instalación 
      5. Dynamics local: guía del usuario
      6. Guía de flujo de trabajo de Dynamics
      7. Dynamics 365 para Talent
      8. Guía de actualización
      9. Notas de la versión
    8. Acrobat Sign para Microsoft SharePoint 
      1. Información general
      2. SharePoint local: guía de instalación
      3. SharePoint local: guía de asignación de plantillas
      4. SharePoint local: guía del usuario
      5. SharePoint local: notas de la versión
      6. SharePoint Online: guía de instalación
      7. SharePoint Online: guía de asignación de plantillas
      8. SharePoint Online: guía del usuario
      9. SharePoint Online: guía de asignación de formularios web
      10. SharePoint Online: notas de la versión
  6. Acrobat Sign para ServiceNow
    1. Información general
    2. Guía de instalación
    3. Guía del usuario
    4. Notas de la versión
  7. Acrobat Sign para HR ServiceNow
    1. Guía de instalación (en desuso)
  8. Acrobat Sign para SAP SuccessFactors
    1. Guía de instalación de Cockpit (en desuso)
    2. Guía de instalación de contratación (en desuso)
    3. Guía del usuario de contratación
    4. Guía de instalación de Cloud Foundry
    5. Notas de la versión
  9. Acrobat Sign para Workday
    1. Guía de instalación
    2. Guía de inicio rápido
    3. Tutorial de configuración
  10. Acrobat Sign para NetSuite
    1. Guía de instalación
    2. Notas de la versión
  11. Acrobat Sign para SugarCRM
  12. Acrobat Sign para VeevaVault
    1. Guía de instalación
    2. Guía del usuario
    3. Guía de actualización
    4. Notas de la versión
  13. Acrobat Sign para Coupa BSM Suite
    1. Guía de instalación
  14. Acrobat Sign para Zapier
    1. Información general sobre Acrobat Sign para Zapier
    2. Flujos de trabajo de firma electrónica compatibles
    3. Acciones admitidas
    4. Crear flujos de trabajo de firma electrónica automatizados
  15. Documentación para desarrolladores de Acrobat Sign
    1. Información general
    2. Webhooks
    3. Etiquetas de texto

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:

Precaución:

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.

Referencias para el desarrollador

  • 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”.

Orden de las actualizaciones

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:

  1. Archivos adjuntos 
  2. Destinatarios 
  3. Acuerdo (estado y sus otros atributos)
  4. Eventos del acuerdo 
  5. Fuentes de Chatter 

Servicios de Apex

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

global

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

Clase global: AgreementTemplateService.AgreementTemplateListOptions

Access

Nombre

global

masterObjectType

global

isActive

global

hasAttachment

global

hasRecipient

global

autoSend

Nota:

No se aplica ningún filtro en su campo correspondiente al consultar plantillas de acuerdo si un campo enumerado anteriormente tiene un valor nulo.

CLASE GLOBAL: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEBASICINFO

Access

Nombre

global

name

global

recordId

global

url

global

isDefault

global

daysUntilExpiration

global

idioma

CLASE GLOBAL: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEDETAILS

Access

Nombre

global

mensaje

global

ccList

global

dataMappingName

global

mergeMappingName

global

url

global

destinatarios

CLASE GLOBAL: AGREEMENTTEMPLATESERVICE.RECIPIENTINFO

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.

Servicios de API

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
PROPIEDADES (2)

Access

Nombre

global

String eventType

global

String participantEmail

CONSTRUCTORES (1)

Access

Firma

global

DocumentHistoryEvent()

  • Clase global: DocumentInfo
PROPIEDADES (5)

Access

Nombre

global

Map<string,list> historyByEmail

global

Map<String,EchoSignApiService.ParticipantInfo>
participantsByEmail

global

Map<String,EchoSignApiService.ParticipantInfo>
participantsByName

global

String senderEmail

global

Estado de cadena

CONSTRUCTORES (1)

Access

Firma

global

DocumentInfo()

  • Clase global: ParticipantInfo
PROPIEDADES (5)

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

CONSTRUCTORES (1)

Access

Firma

global

ParticipantInfo()

  • Clase global: SendDocumentResult
PROPIEDADES (3)

Access

Nombre

global

String documentKey

global

Error de excepción

global

URL de cadena

CONSTRUCTORES (1)

Access

Firma

global

SendDocumentResult()

  • Clase global: SigningUrl
PROPIEDADES (3)

Access

Nombre

global

Correo electrónico de cadena

global

String esignUrl

global

String simpleEsignUrl

CONSTRUCTORES (1)

Access

Firma

Global

 

Apex Batch Services

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); 

Lote de plantillas de acuerdos

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);

Lote de servicios de plantillas de acuerdos

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);

Servicios REST

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

Nota:
  • 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.

Servicio en segundo plano

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.

Cambios de compatibilidad con versiones anteriores

  • 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.

 Adobe

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?

Adobe MAX 2024

Adobe MAX

The Creativity Conference

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX 2024

Adobe MAX

The Creativity Conference

Del 14 al 16 de octubre en Miami Beach y en línea