Comment envoyer l'identifiant d'entrée par le biais de Webhooks ?

Introduction

Voulez-vous transmettre l'ID de l'entrée à travers l'addon Webhooks? L'ID de l'entrée, qui est assigné une fois que le formulaire est soumis, joue un rôle vital dans la liaison de vos entrées WPForms avec un CRM externe pour les références croisées. Dans ce tutoriel, nous allons vous guider à travers le processus en utilisant un simple snippet PHP.

Création du formulaire

Commençons par créer un formulaire et ajouter les champs nécessaires. Si vous ne savez pas comment créer un formulaire, vous pouvez vous référer à cette documentation pour obtenir des conseils.

créez le formulaire et ajoutez vos champs.

Mise en place du webhook

Afin d'envoyer l'identifiant de l'entrée par l'intermédiaire de webhooks, nous devons commencer par activer l'addon Webhooks. Si vous avez besoin d'aide pour configurer l'addon Webhooks, veuillez consulter cet article.

Pour activer le module complémentaire, allez dans le générateur de formulaires, cliquez sur Paramètres, puis sur Activer les webhooks. Vous pourrez alors saisir l'URL de votre webhook et associer les champs du formulaire au corps de la requête, en spécifiant les informations que vous souhaitez inclure dans le webhook.

associez les champs de votre formulaire à vos noms de variables et saisissez l'URL du webhook.

Dans le cadre de ce tutoriel, nous utilisons Webhook.site pour vérifier que nos informations sont bien envoyées via notre webhook. Lorsque vous configurez votre webhook, vous devez utiliser l'URL du webhook de la source externe à laquelle vous envoyez des messages et assigner vos variables. Il est important de se rappeler que chaque source externe qui accepte les webhooks entrants peut avoir différentes façons de configurer les variables pour envoyer l'information. Vous devrez faire des recherches sur cette source externe pour vous assurer que vous n'avez pas besoin de créer manuellement vos variables à l'intérieur de cette source pour vous assurer que les noms de variables correspondent à ce que vous assignez dans le générateur de formulaires.

Ajout du snippet

Ensuite, il est temps de copier l'extrait sur notre site.

Si vous avez besoin d'aide pour savoir comment et où ajouter des snippets à votre site, veuillez consulter ce tutoriel.

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

Avec ce snippet, nous allons ajouter une variable supplémentaire au webhook appelée entry_id et assigner ce numéro d'identification qui est créé à partir de WPForms lorsque le formulaire est soumis, mais seulement pour le formulaire ID 1899, vous aurez besoin de mettre à jour ce numéro d'identification du formulaire pour correspondre à votre propre ID. Si vous n'êtes pas sûr de savoir où trouver votre numéro d'identification de formulaire, veuillez consulter ce tutoriel.

Maintenant, lorsque vous voyez les informations envoyées par le webhook, vous remarquerez que non seulement les noms des champs mappés sont présents, mais aussi l'identifiant de l'entrée.

vous pouvez maintenant envoyer l'ID de l'entrée par l'intermédiaire de webhooks en utilisant ce snippet

Et le tour est joué ! Vous pouvez maintenant transmettre l'identifiant de l'entrée à votre webhook. Vous souhaitez également transmettre les informations de géolocalisation dans le webhook ? Consultez notre article sur l'envoi de la géolocalisation via les webhooks.