Cómo enviar el ID de entrada a través de Webhooks

Introducción

¿Desea transmitir el ID de entrada a través del addon Webhooks? El ID de entrada, que se asigna una vez que se envía el formulario, juega un papel vital en la vinculación de sus entradas WPForms con un CRM externo para referencias cruzadas. En este tutorial, le guiaremos a través del proceso utilizando un simple fragmento de PHP.

Creación del formulario

Empecemos creando un formulario y añadiendo los campos necesarios. Si no está seguro de cómo crear un formulario, puede consultar esta documentación como guía.

cree el formulario y añada sus campos.

Configuración del webhook

Para enviar el ID de entrada a través de webhooks, tenemos que empezar por habilitar el addon Webhooks. Si necesitas ayuda para configurar el complemento Webhooks, consulta este artículo.

Para activar el complemento, ve al creador de formularios, haz clic en Configuración y, a continuación, en Activar webhooks. Podrás introducir la URL de tu webhook y asignar los campos del formulario al cuerpo de la solicitud, especificando la información que deseas incluir en el webhook.

asigna los campos del formulario a los nombres de las variables e introduce la URL del webhook.

Para el propósito de este tutorial, estamos usando el Webhook. site para probar que nuestra información está siendo enviada a través de nuestro webhook. Cuando estés configurando tu webhook, deberías usar la URL del webhook de la fuente externa a la que estás enviando y asignar tus variables. Es importante recordar que cada fuente externa que acepta webhooks entrantes puede tener diferentes formas de configurar las variables para enviar la información. Tendrás que investigar esta fuente externa para asegurarte de que no necesitas crear manualmente tus variables dentro de esa fuente para asegurarte de que los nombres de las variables coinciden con lo que estás asignando en el constructor de formularios.

Añadir el fragmento

A continuación, es hora de copiar el fragmento en nuestro sitio.

Si necesita ayuda sobre cómo y dónde añadir fragmentos a su sitio, consulte este tutorial.

/**
 * Send the entry id through webhooks request.
 *
 * @link https://wpforms.com/developers/how-to-send-the-entry-id-through-webhooks/
 */

function wpf_dev_webhooks_process_delivery_request_options( $options, $webhook_data, $fields, $form_data, $entry_id ) {
    
	// Optional, you can limit to specific forms. Below, we restrict output to
    // form #1899.
    if ( absint( $form_data[ 'id' ] ) !== 1899 ) {
        return $options;
    }
	
	$body = ! is_array( $options[ 'body' ] ) ? json_decode( $options[ 'body' ], true ) : $options[ 'body' ];
	
	// Create a new entry and assign the entry_id
	$body[ 'entry_id' ] = $entry_id;
	
	// Format request data.
	if ( !empty( $options[ 'method' ] ) && $options[ 'method' ] !== 'GET' && $webhook_data[ 'format' ] === 'json' ) {
		
		// Encode request body.
		$options[ 'body' ] = wp_json_encode( $body );
	}
	
	return $options;
}

add_filter( 'wpforms_webhooks_process_delivery_request_options', 'wpf_dev_webhooks_process_delivery_request_options', 100, 5);

Con este snippet, vamos a agregar una variable adicional al webhook llamada entry_id y asignar este número ID que es creado desde WPForms cuando el formulario es enviado pero solo para el formulario ID 1899, necesitarás actualizar este número ID del formulario para que coincida con tu propio ID. Si no está seguro donde encontrar su número de ID de formulario, por favor revise este tutorial.

Ahora, cuando vea la información enviada desde el webhook, notará que no sólo están los nombres de los campos asignados, sino también el ID de la entrada.

ahora puede enviar el ID de entrada a través de webhooks utilizando este fragmento

Y ya está. Ya puedes pasar el ID de entrada a través de tu webhook. ¿Quieres enviar también la información de geolocalización en el webhook? Echa un vistazo a nuestro artículo sobre Cómo enviar geolocalización a través de webhooks.