¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

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

Introducción

¿Quieres transmitir el ID de entrada a través del complemento 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 tus entradas de WPForms con un CRM externo para la referencia cruzada. En este tutorial, te guiaremos a través del proceso utilizando un simple fragmento de PHP.

Creación del formulario

Comencemos creando un formulario y agregando los campos necesarios. Si no estás seguro de cómo crear un formulario, puedes consultar esta documentación para obtener orientación.

crea el formulario y agrega tus campos.

Configuración del webhook

Para enviar el ID de entrada a través de webhooks, debemos comenzar habilitando el complemento Webhooks. Si necesitas ayuda para configurar el complemento Webhooks, consulta este artículo.

Para activar el complemento, ve al constructor de formularios, haz clic en Configuración y luego haz clic en Habilitar Webhooks. Podrás introducir tu URL de webhook y mapear los campos del formulario al Cuerpo de la solicitud, especificando la información que deseas incluir en el webhook.

mapea los campos de tu formulario a los nombres de tus variables e introduce la URL del webhook.

Para este tutorial, estamos utilizando Webhook.site para probar que nuestra información se está enviando a través de nuestro webhook. Cuando configures tu webhook, usarías la URL del webhook de la fuente externa a la que estás publicando y asignarías tus variables. Es importante recordar que cada fuente externa que acepta webhooks entrantes puede tener diferentes formas de configurar variables para enviar la información. Deberás investigar esta fuente externa para asegurarte de que no necesitas crear manualmente tus variables dentro de esa fuente para que los nombres de las variables coincidan 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.

Para cualquier ayuda sobre cómo y dónde agregar fragmentos a tu sitio, consulta 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 fragmento, vamos a agregar una variable adicional al webhook llamada entry_id y asignaremos este número de ID que WPForms crea cuando se envía el formulario, pero solo para el ID de formulario 1899. Necesitarás actualizar este número de ID de formulario para que coincida con el tuyo. Si no estás seguro de dónde encontrar tu número de ID de formulario, revisa este tutorial.

Ahora, cuando veas la información enviada desde el webhook, notarás que no solo están los nombres de tus campos mapeados, sino también el ID de entrada.

ahora puedes enviar el ID de la entrada a través de webhooks usando este fragmento

¡Y eso es todo! Ahora puedes pasar el ID de entrada a través de tu webhook. ¿Te gustaría también enviar la información de geolocalización en el webhook? Consulta nuestro artículo sobre Cómo enviar geolocalización a través de webhooks.