Código JavaScript de muestra para obtener el ID de cliente, validarlo y devolverlo en el encabezado de respuesta
Un webhook es una devolución de llamada HTTPS definida por el usuario que se activa cuando se produce un evento determinado en el sitio de origen (Adobe Acrobat Sign en este caso).
Efectivamente, un webhook no es más que un servicio web que acepta solicitudes de POST HTTPS de una fuente. Por lo tanto, un webhook es un servicio REST que acepta datos o un flujo de datos.
Los webhooks son para comunicación de servicio a servicio en un Modelo Push.
Cuando se produce un evento de activación, Acrobat Sign crea un POST HTTPS con un cuerpo JSON y lo envía a la dirección URL especificada.
Los webhooks ofrecen varias ventajas sobre el método de devolución de llamada anterior, algunas de las cuales son:
Este documento se centra principalmente en la interfaz de usuario de webhooks en la aplicación web de Acrobat Sign (anteriormente Adobe Sign).
Los desarrolladores que buscan detalles de la API pueden encontrar más información aquí:
Los administradores primero tendrán que tener un servicio webhook, listo para aceptar la inserción entrante desde Acrobat Sign. Hay muchas opciones en este sentido, y mientras el servicio pueda aceptar solicitudes de POST y GET, el webhook tendrá éxito.
Una vez implementado el servicio, un administrador de Acrobat Sign puede crear un nuevo webhook a partir de la interfaz de Webhook en el menú Cuenta del sitio de Acrobat Sign.
Los administradores pueden configurar el webhook para que se active para los eventos del acuerdo, formulario web o envío en bloque.
El ámbito del webhook puede incluir toda la cuenta o grupos individuales a través de la interfaz de administración. Los ámbitos de usuario y recurso también son posibles a través de la API
El tipo de datos que se insertan en la URL es configurable y puede incluir elementos como la información del acuerdo, la información del participante, el documento firmado, etc.
Una vez configurado y guardado el webhook, Acrobat Sign insertará un nuevo objeto JSON en la dirección URL definida cada vez que se intercepte el evento de activación. No se requiere ninguna manipulación continua del webhook a menos que desee cambiar los criterios del activador de eventos o la carga de JSON.
Antes de registrar un webhook correctamente, Acrobat Sign verifica que la dirección URL de webhook proporcionada en la solicitud de registro tenga realmente la intención de recibir notificaciones o no. Para ello, cuando Acrobat Sign recibe una nueva solicitud de registro de webhook, primero realiza una solicitud de verificación a la dirección URL de webhook. Esta solicitud de verificación es una petición GET HTTPS enviada a la URL de webhook. Esta solicitud tiene un encabezado HTTP personalizado X-AdobeSign-ClientId. El valor de este encabezado se establece en el ID de cliente (ID de aplicación) de la aplicación de API que solicita crear o registrar el webhook. Para registrar correctamente un webhook, la URL de webhook responde a esta solicitud de verificación con un código de respuesta 2XX Y, además, PUEDE devolver el mismo valor de ID de cliente de una de las dos maneras siguientes:
El webhook se registrará correctamente solo en una respuesta correcta (código de respuesta 2XX) y validación del ID de cliente en el encabezado o el cuerpo de la respuesta. El propósito de esta solicitud de verificación es demostrar que la dirección URL de webhook realmente desea recibir notificaciones en esa dirección URL. Si introduce accidentalmente la dirección URL incorrecta, esta no responderá correctamente a la solicitud de verificación de la intención y Acrobat Sign no enviará ninguna notificación a dicha dirección URL. Además, la dirección URL de webhook también puede validar que recibiría notificaciones solo a través de los webhooks registrados por una aplicación específica. Esto se puede hacer validando el ID de cliente de la aplicación pasada en el encabezado X-AdobeSign-ClientId. Si la dirección URL de webhook no reconoce ese ID de cliente, NO DEBE responder con el código de respuesta correcta y Acrobat Sign se encargará de que la dirección URL no esté registrada como webhook.
La verificación de la llamada URL de webhook se realizará en los siguientes escenarios:
Acrobat Sign realiza una verificación implícita de la intención en cada solicitud de notificación de webhook que se envía a la URL de webhook. Por lo tanto, cada solicitud HTTPS de notificación de webhook también contiene el encabezado HTTP personalizado denominado X-AdobeSign-ClientId. El valor de este encabezado es el ID de cliente (ID de aplicación) de la aplicación que creó el webhook. Consideraremos que la notificación de webhook se ha enviado correctamente si, y solo si, se devuelve una respuesta de éxito (código de respuesta 2XX) y se envía el ID de cliente en el encabezado HTTP (X-AdobeSign-ClientId) o en un cuerpo de la respuesta de JSON con una clave como xAdobeSignClientId y un valor como el mismo ID de cliente. De lo contrario, intentaremos volver a entregar la notificación a la URL de webhook hasta que se agoten los reintentos.
Como se ha mencionado anteriormente, el encabezado “X-AdobeSign-ClientId” se incluye en todas las solicitudes de notificación de Sign y el valor de este encabezado (ID de cliente) se debe repetir como respuesta de dos formas:
Código JavaScript de muestra para obtener el ID de cliente, validarlo y devolverlo en el encabezado de respuesta |
---|
// Recuperar ID de cliente var clientid = request.headers['X-ADOBESIGN-CLIENTID'];
//Validarlo if (clientid ==="BGBQIIE7H253K6") //Reemplace “BGBQIIE7H253K6” por el ID de cliente de la aplicación que utiliza para crear el webhook { //Devuélvalo en el encabezado de respuesta response.headers['X-AdobeSign-ClientId'] = clientid; response.status = 200; // valor predeterminado } |
Código PHP de muestra para obtener el ID de cliente, validarlo y devolverlo en el encabezado de respuesta |
---|
<?php // Recuperar ID de cliente $clientid = $_SERVER['HTTP_X_ADOBESIGN_CLIENTID']; //Validarlo if($clientid == "BGBQIIE7H253K6") //Reemplace 'BGBQIIE7H253K6' por el ID de cliente de la aplicación que usa el webhook para su creación { //Devuélvalo en el encabezado de respuesta header("X-AdobeSign-ClientId:$clientid"); header("HTTP/1.1 200 OK"); // valor predeterminado } ?>
|
Código JavaScript de muestra para obtener el ID de cliente, validarlo y devolverlo en el cuerpo de la respuesta |
---|
// Recuperar ID de cliente var clientid = request.headers['X-ADOBESIGN-CLIENTID'];
//Validarlo if (clientid ==="BGBQIIE7H253K6") //Reemplace “BGBQIIE7H253K6” por el ID de cliente de la aplicación que utiliza para crear el webhook { var responseBody = { "xAdobeSignClientId" : clientid // Devuelva el ID de cliente en el cuerpo }; response.headers['Content-Type'] = 'application/json'; response.body = responseBody; response.status = 200; } |
Código PHP de ejemplo para obtener el ID de cliente, validarlo y devolverlo en el cuerpo de la respuesta |
---|
<?php // Recuperar ID de cliente $clientid = $_SERVER['HTTP_X_ADOBESIGN_CLIENTID']; //Validarlo if($clientid == "BGBQIIE7H253K6") //Reemplace 'BGBQIIE7H253K6' por el ID de cliente de la aplicación que usa el webhook para su creación { //Devolverlo en el cuerpo de la respuesta header("Content-Type: application/json"); $body = array('xAdobeSignClientId' => $clientid); echo json_encode($body); header("HTTP/1.1 200 OK"); // valor predeterminado } ?> |
Cuerpo JSON de muestra de la respuesta |
---|
{ "xAdobeSignClientId": "BGBQIIE7H253K6" } |
Necesitará lo siguiente:
Para crear una función de activación de HTTP de Javascript:
1. Inicie sesión a través de su cuenta de Microsoft https://portal.azure.com/
2. Abra la aplicación de funciones de Azure que se muestra en la pestaña Aplicaciones de funciones.
Se abrirá la lista de aplicaciones de funciones de Azure:
3. Elija la aplicación en la que desea crear esta nueva función
4. Haga clic en el botón Crear (+) para crear una nueva función de Azure
5. Seleccione Webhook + API como escenario y Javascript como idioma
6. Haga clic en Crear esta función
Se crea una nueva función que tiene la capacidad de gestionar una solicitud de API entrante.
Antes de registrar un webhook correctamente, Acrobat Sign verifica que la dirección URL de webhook proporcionada en la solicitud de registro tenga realmente la intención de recibir notificaciones o no. Para ello, cuando Acrobat Sign recibe una nueva solicitud de registro de webhook, primero realiza una solicitud de verificación a la dirección URL de webhook. Esta solicitud de verificación es una petición GET HTTPS enviada a la dirección URL de webhook con un encabezado HTTP personalizado X-AdobeSign-ClientId. El valor de este encabezado se establece en el ID de cliente de la aplicación que solicita crear o registrar el webhook. Para registrar correctamente un webhook, la URL de webhook responde a esta solicitud de verificación con un código de respuesta 2XX Y, además, puede devolver el mismo valor de ID de cliente de una de las dos maneras siguientes.
Hay dos opciones que puede seguir:
Transfiera X-AdobeSign-ClientId en el encabezado de la respuesta. Es el mismo encabezado, que se transfiere en la solicitud y debe reproducirse en la respuesta.
Reemplace el archivo Index.js con lo siguiente:
module.exports = function (context, req) {
var clientId = req.headers['x-adobesign-clientid'];
// Validar que el ClientID entrante sea genuino
if (clientId === '123XXX456') {
context.res = {
// status: 200, /* El valor predeterminado es 200 */ // Cualquier respuesta 2XX es aceptable
body: "Notificación aceptada",
headers : {
'x-adobesign-clientid' : req.headers['x-adobesign-clientid']
}
};
}
else {
context.res = {
status: 400,
body: "¡Vaya! Llamada ilegítima identificada"
};
}
context.done();
};
Pruebe el comportamiento simulando la solicitud:
1. Haga clic en el botón de Prueba en la esquina derecha
2. Simular la solicitud ficticia
Aunque los encabezados de respuesta no se muestran arriba, pero se puede observar a través de la simulación por postman/DHC o cualquier otro servicio.
En el cuerpo de la respuesta de JSON con la clave de xAdobeSignClientId y su valor es el mismo ID de cliente que se envía en la solicitud.
Reemplace el archivo Index.js con lo siguiente:
module.exports = function (context, req) {
var clientId = req.headers['x-adobesign-clientid'];
// Validar que el ClientID entrante sea genuino
if (clientId === '123XXX456') {
context.res = {
// status: 200, /* El valor predeterminado es 200 */ // Cualquier respuesta 2XX es aceptable
body: {
'xAdobeSignClientId' : clientId
},
headers : {
'Tipo de contenido' : 'application/json'
}
};
}
else {
context.res = {
status: 400,
body: "¡Vaya! Llamada ilegítima identificada"
};
}
context.done();
};
Pruebe el comportamiento simulando la solicitud
1. Haga clic en el botón de Prueba en la esquina derecha
2. Simular la solicitud ficticia
Tenga en cuenta también que se espera el mismo comportamiento para clientID cuando la URL de webhook recibe notificaciones del POST.
Una vez que haya verificado el comportamiento, la URL del webhook funciona según los estándares de Acrobat Sign. Puede actualizar aún más la lógica personalizada según sus requisitos.
Obtener la URL de función
Copie la URL y utilícela para crear webhooks en Acrobat Sign.
Para crear una función AWS Lambda, inicie sesión en su AWS Management Console y seleccione el servicio AWS Lambda en la lista de servicios.
Antes de registrar un webhook correctamente, Acrobat Sign verifica que la dirección URL de webhook proporcionada en la solicitud de registro tenga realmente la intención de recibir notificaciones o no. Para ello, cuando Acrobat Sign recibe una nueva solicitud de registro de webhook, primero realiza una solicitud de verificación a la dirección URL de webhook. Esta solicitud de verificación es una petición GET HTTPS enviada a la dirección URL de webhook con un encabezado HTTP personalizado X-AdobeSign-ClientId. El valor de este encabezado se establece en el ID de cliente de la aplicación que solicita crear o registrar el webhook. Para registrar correctamente un webhook, la URL de webhook responde a esta solicitud de verificación con un código de respuesta 2XX Y, además, puede devolver el mismo valor de ID de cliente de una de las dos maneras siguientes. Tenga en cuenta también que se espera el mismo comportamiento para clientID cuando la URL de webhook recibe notificaciones del POST.
Siga uno de los dos casos:
El código JS de nodo de ejemplo para obtener el ID de cliente, validarlo y, a continuación, devolverlo en el encabezado de respuesta |
---|
exports.handler = function index(event, context, callback) { // Recuperar ID de cliente var clientid = event.headers['X-AdobeSign-ClientId'];
//Validarlo if (clientid =="BGBQIIE7H253K6") //Reemplace 'BGBQIIE7H253K6' por el ID de cliente de la aplicación que utiliza para crear el webhook { var response = { statusCode: 200, headers: { "X-AdobeSign-ClientId": clientid } }; callback(null,response); } else { callback("¡Vaya! llamada ilegítima"); } } |
En el cuerpo de la respuesta de JSON con la clave de xAdobeSignClientId y su valor es el mismo ID de cliente que se envía en la solicitud.
Fragmento de código
Reemplace el archivo Index.js con lo siguiente:
El código JS de nodo de ejemplo para obtener el ID de cliente, validarlo y, a continuación, devolverlo en el encabezado de respuesta |
---|
exports.handler = function index(event, context, callback) { // Recuperar ID de cliente var clientid = event.headers['X-AdobeSign-ClientId'];
//Validarlo if (clientid =="BGBQIIE7H253K6") //Reemplace 'BGBQIIE7H253K6' por el ID de cliente de la aplicación que utiliza para crear el webhook { var responseBody = { xAdobeSignClientId : clientid };
var response = { statusCode: 200, body: JSON.stringify(responseBody) };
callback(null,response); } else { callback("¡Vaya! llamada ilegítima"); } } |
Para que esta lambda sea accesible públicamente a través de un método HTTP, necesitamos configurar AWS API Gateway usando nuestra función (creada anteriormente) como back-end para la API.
En AWS Management Console, seleccione la API Gateway en los servicios de AWS y haga clic en el botón Crear API
Si todos los pasos anteriores se ejecutan correctamente, verá algo como esto:
El siguiente paso es implementar esta API para que esté lista para usarse.
La API ya está lista para usarse y puede encontrar la URL de invocación en el cuadro azul, como se muestra a continuación:
Tome nota de esta URL, ya que tendrá que introducirla como su URL de webhook en tiempo real.
Ya está hecho. Utilice esta URL anterior con "/{nodeJSfunctionName}"POST /webhooks. Una vez que haya verificado el comportamiento, la URL del webhook funciona según los
estándares de Acrobat Sign. Puede actualizar o añadir la lógica personalizada según sus necesidades.
La configuración del webhook requiere que se definan cinco elementos:
Cuando el webhook esté completamente definido, haga clic en Guardar y el nuevo webhook empezará a reaccionar para activar los eventos inmediatamente.
Configure su URL de webhook para responder a las solicitudes de verificación y notificación de webhook según el protocolo de verificación explicado anteriormente. El ID de cliente (ID de aplicación) que se enviará a webhooks creados desde la aplicación web de Acrobat Sign será - UB7E5BXCXY
Una URL de webhook es un servidor que escucha los mensajes de notificación de POST HTTPS entrantes que se activan cuando se producen eventos.
Necesita esta dirección URL para suscribirse a su webhook para eventos.
A continuación, se muestran los eventos que pueden desencadenar una inclusión en la URL de webhook, agrupados por el objeto.
Cada evento tiene una plantilla de la carga útil JSON que se puede entregar. (Haga clic en el nombre del evento para ver los detalles de la carga útil):
Los parámetros de notificación permiten personalizar la carga de JSON a elementos específicos del evento.
Por ejemplo, en un evento del Participante del acuerdo sustituido, puede que solo desee la Información del acuerdo y la Información del participante, dejando fuera la Información del documento, y reduciendo el volumen total en la URL de webhook
SSL bidireccional, a menudo llamado SSL del lado del cliente o TLS mutuo, es un modo de SSL en el que tanto el servidor como el cliente (explorador web) presentan certificados para identificarse.
Los administradores de cuentas pueden configurar un certificado del lado del cliente en la página de Configuración de seguridad.
Acrobat Sign verifica los certificados SSL al entregar cargas a la URL de webhook. Los webhooks que no superen la verificación del certificado SSL no entregarán correctamente la carga útil de JSON.
Utilice SSL bidireccional para autenticar el cliente (Acrobat Sign) y el servicio de escucha para garantizar que solo Acrobat Sign pueda alcanzar la URL de webhook.
Si el webhook fue creado por una Aplicación para socios, el webhook utilizará un certificado de cliente (si está disponible) de la cuenta de la aplicación asociada para identificarse a sí mismo al realizar devoluciones de llamada webhook.
A continuación, se muestran las preguntas más comunes relativas al proceso de verificación del servidor web y a la verificación de la certificación del cliente.
Durante el registro de un webhook, Acrobat Sign verifica la URL del servidor webhook.
Los clientes no podrán registrar el webhook si la conexión con la URL de devolución de llamada webhook no se puede completar desde Acrobat Sign.
No.
La URL de devolución de llamada webhook solo puede ser HTTPS en el puerto 443.
Acrobat Sign bloquea el tráfico HTTPS saliente para todos los demás puertos.
Una buena forma de comprobar el certificado de servidor es utilizar la herramienta DigiCert® SSL Installation Diagnostics Tool.
Introduzca solo el nombre de host, por ejemplo, www.digicert.com
Estos son algunos problemas comunes:
Solución: utilice un certificado SSL emitido por una autoridad de certificación pública para el servidor de devolución de llamada webhook.
Solución: instale los certificados intermedios en el servidor de devolución de llamada webhook.
Consulte https://www.digicert.com/kb/ssl-certificate-installation.htm para obtener información detallada.
Para configurar un SSL bidireccional de webhook, se requiere que el administrador cargue un archivo .p12 (o .pfx) que contenga la clave privada. El archivo se almacena de forma segura en la cuenta del cliente y el administrador tiene control total para eliminarlo en cualquier momento.
En una configuración de webhook bidireccional, Acrobat Sign es quien llama/el cliente y necesita la clave privada para demostrar que Acrobat Sign realiza la llamada en nombre de la cuenta del cliente.
Compruebe que SSL bidireccional está activado
SSL bidireccional debe estar habilitado en el servidor de devolución de llamada webhook.
Con cualquier navegador web, conéctese a la URL de devolución de llamada webhook. Debería obtener:
400 Solicitud incorrecta No se ha enviado el certificado SSL obligatorio
Esto significa que el servidor espera que el cliente envíe certificados de cliente (es decir, SSL bidireccional está habilitado para el servidor).
Si no ve el mensaje anterior, SSL bidireccional no está habilitado.
Puede utilizar Postman y realizar una solicitud POST a la URL de devolución de llamada webhook. Debería obtener un resultado similar.
Las credenciales del cliente pueden ser un certificado autofirmado o uno emitido por una autoridad de certificación. Sin embargo, debe cumplir como mínimo con las siguientes extensiones X.509 v3:
Extensión X.509 v3 |
Valor |
---|---|
ExtendedKeyUsage |
clientAuth (OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
El certificado de cliente debe ser un archivo PKCS12 con extensión .p12 o .pfx, y debe incluir tanto el certificado de cliente (para que el servidor pueda verificar su identidad) como la clave privada del cliente (para que el cliente pueda firmar digitalmente los mensajes, de modo que el servidor los verifique durante el protocolo de enlace SSL).
Utilice el comando openssl para verificar el archivo p12 (pfx):
openssl pkcs12 -info -in outfile.p12
Debe solicitarse la contraseña de la clave privada. La salida debe contener ambos certificados y una clave privada cifrada, como:
Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB subject=/C=US/ST=California/L=San Jose/O=Adobe Inc./CN=sp.adobesignpreview.com issuer=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 -----BEGIN CERTIFICATE----- MIIGwDCCBaigAwIBAgIQAhJSKDdyQZjlbYO5MJAYOTANBgkqhkiG9w0BAQsFADBP MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE ... JAKQLQ== -----END CERTIFICATE----- Bag Attributes: <No Attributes> subject=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA -----BEGIN CERTIFICATE----- MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 ... -----END CERTIFICATE----- Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB Key Attributes: <No Attributes> -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI7eNh2qlsLPkCAggA ... FHE= -----END ENCRYPTED PRIVATE KEY-----
Los certificados deben incluir como mínimo el certificado de entidad final y los certificados intermedios. Lo ideal sería incluir también el certificado raíz de la autoridad de certificación.
Asegúrese de que el archivo .p12 o .pfx esté protegido con contraseña.
Crear un certificado de cliente autofirmado (opcional)
Los certificados de cliente pueden emitirlos autoridades de certificación o ser autofirmados, según sus necesidades.
Para generar un certificado de cliente autofirmado, utilice el siguiente comando openssl:
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Mantenga en secreto los archivos resultantes, ya que son sus certificados de autoridad de certificación autofirmados.
A continuación, genere el archivo .p12 del cliente:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.req
openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
rm client.key client.cer client.req
Una vez realizada la configuración, envíe una petición POST a la URL de devolución de llamada webhook.
Debería obtener la respuesta 200.
¿Por qué Acrobat Sign rechaza mi archivo .pfx incluso después de haberlo verificado con Postman?
Si ha seguido el proceso anterior para la verificación del archivo pfx y Acrobat Sign sigue rechazándolo, es probable que el archivo se haya generado mediante una herramienta de Microsoft capaz de producir archivos PKCS12 no estándar.
En ese caso, utilice los siguientes comandos openssl para extraer los certificados y la clave privada del archivo .pfx y, a continuación, genere un archivo PKCS12 con el formato correcto:
// Extraer certificados y clave privada del archivo .pfx openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.crt -nokeys openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.key -nodes -nocerts // Crear nuevo archivo PKCS12 openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx
El acceso a la función Webhooks está habilitado de forma predeterminada para las cuentas del plan Enterprise.
Los administradores de nivel de grupo pueden crear o controlar los webhooks que solo funcionan dentro de su grupo.
El acceso a la página Webhooks se encuentra en el carril izquierdo del menú Administración: Cuenta > Webhooks
Cuando se crea un webhook por primera vez, se crea en estado Activo.
En la página Webhooks de Acrobat Sign, verá los webhooks activos de forma predeterminada.
Para activar un webhook inactivo:
El webhook activo comenzará a enviar datos a la dirección URL de destino tan pronto como se active el siguiente evento.
La desactivación de un webhook solo requiere que usted
Los webhooks se pueden editar y guardar en cualquier momento y, al guardar una nueva configuración, ese cambio surte efecto inmediatamente.
Solo los Eventos y Parámetros de notificación se puede editar.
Si el Nombre, Ámbito o URL se tiene que cambiar, tendrá que crearse un nuevo webhook.
Para editar los parámetros de un webhook:
Un webhook se puede eliminar en cualquier momento.
Al eliminar un webhook, se destruye en el sistema, por lo que no se puede recuperar un webhook eliminado.
No es necesario desactivar primero los webhooks.
Para eliminar un webhook:
Por ejemplo, si necesita procesar y almacenar documentos firmados. Para asegurarse de que siempre puede responder en diez segundos, siempre debe realizar su trabajo en un hilo independiente o de forma asincrónica mediante una cola.
1. ¿Qué datos desea devolver en la carga útil?
2. ¿Quién accederá a esta información?
3. ¿Qué decisiones o informes se generarán?
Si bien es perfectamente aceptable seleccionar el Documento firmado del acuerdo al crear un webhook, puede que le interese utilizar la API de Acrobat Sign para recuperar los documentos cuando se reciba un evento de activación (como el estado Completado del acuerdo).
El tamaño de la carga útil de JSON está limitado a 10 MB.
Si un evento genera una carga más grande, se activará un webhook, pero se eliminarán los atributos de parámetro condicional, si están en la solicitud, para reducir el tamaño de la carga.
ConditionalParametersTrimmed se devolverá en la respuesta cuando esto ocurra para informar al cliente de que el conditionalParameters se ha eliminado la información.
conditionalParametersTrimmed es un objeto de matriz que contiene la información sobre las claves que se han recortado.
El truncamiento se realizará en el orden siguiente:
Los documentos firmados se truncarán primero, seguidos de la información del participante, la información del documento y, por último, la información detallada.
Esto puede ocurrir, por ejemplo, en un evento de finalización de acuerdo si incluye también un documento firmado (codificado en base 64) o en un acuerdo con varios campos de formulario
Los webhooks de Acrobat Sign envían notificaciones que son aplicables a todos los participantes de un acuerdo si hay un webhook configurado para ese usuario, su grupo o su cuenta.
Los eventos del acuerdo se procesan de forma que, si hay un webhook configurado para el participante aplicable de ese evento, se envíe una notificación a esa dirección URL de webhook. En otras palabras, los webhooks se activan para eventos en todos los acuerdos aplicables, incluso los que están fuera del grupo o cuenta en los que está configurado el webhook.
Las notificaciones se entregan solo para los eventos en los que participa el participante. Por ejemplo, el Remitente de un acuerdo recibe casi todas las notificaciones, mientras que los Destinatarios solo recibirán notificaciones desde el inicio de su participación en el acuerdo, y solo para aquellos eventos en los que estén involucrados.
Las notificaciones de webhook siguen el modelo actual de autenticación y visibilidad del propio Acrobat Sign, lo que significa que los usuarios solo tendrán acceso al acuerdo cuando se haya iniciado la participación del usuario en un acuerdo.
El Remitente envía un acuerdo para su firma a tres firmantes.
El Remitente envía un acuerdo: WebhookX se activa en Acuerdo creado y Acuerdo enviado mientras WebhookY se activa en Acuerdo enviado.
Firmante1 firma: WebhookX se activa en Participante del acuerdo completado y Acuerdo enviado, WebhookY se activa en Participante del acuerdo completado y WebhookZ se activa en Acuerdo enviado.
Firmante2 firma: WebhookX se activa en Participante del acuerdo completado y Acuerdo enviado mientras que WebhookZ envía una notificación para Participante del acuerdo completado.
Firmante3 firma: WebhookX se activa en Participante del acuerdo completado y Flujo de trabajo del acuerdo completado, WebhookY se activa en Flujo de trabajo del acuerdo completado, y WebhookZ se activa en Flujo de trabajo del acuerdo completado.
Si la dirección URL de destino de webhook está desactivada por cualquier motivo, Acrobat Sign pone el JSON en cola y vuelve a intentar la inclusión en un ciclo progresivo durante 72 horas.
Los eventos no entregados se conservan en una cola de reintentos y durante las siguientes 72 horas se intenta enviar las notificaciones en el orden en que se produjeron.
La estrategia para reintentar la entrega de notificaciones consiste en duplicar el tiempo entre intentos, comenzando con un intervalo de 1 minuto que aumenta a cada 12 horas, lo que se traduce en 15 reintentos en un lapso de 72 horas.
Si el receptor webhook no responde en un plazo de 72 horas y no se han realizado entregas de notificación correctas en los últimos siete días, el webhook se desactivará. No se enviarán notificaciones a esta dirección URL hasta que se active de nuevo el webhook.
Se perderán todas las notificaciones entre el momento en que se desactive el webhook y se active de nuevo posteriormente.
Inicia sesión en tu cuenta