Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Comment envoyer l'ID d'entrée via les Webhooks

Introduction

Voulez-vous transmettre l'ID d'entrée via le module complémentaire Webhooks ? L'ID d'entrée, qui est attribué une fois le formulaire soumis, joue un rôle essentiel dans la liaison de vos entrées WPForms avec un CRM externe pour le recoupement. Dans ce tutoriel, nous vous guiderons à travers le processus à l'aide d'un simple extrait de code 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 consulter cette documentation pour obtenir des instructions.

créez le formulaire et ajoutez vos champs.

Configuration du webhook

Afin d'envoyer l'ID d'entrée via les webhooks, nous devons commencer par activer le module complémentaire Webhooks. Si vous avez besoin d'aide pour configurer le module complémentaire Webhooks, veuillez consulter cet article.

Pour activer le module complémentaire, allez dans le constructeur de formulaire, cliquez sur Paramètres, puis cliquez sur Activer les Webhooks. Vous pourrez entrer votre URL de webhook et mapper les champs du formulaire au Corps de la requête, en spécifiant les informations que vous souhaitez inclure dans le webhook.

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

Pour ce tutoriel, nous utilisons Webhook.site pour tester l'envoi de nos informations via notre webhook. Lorsque vous configurez votre webhook, vous utiliseriez l'URL du webhook de la source externe à laquelle vous publiez et assigneriez vos variables. Il est important de se rappeler que chaque source externe qui accepte les webhooks entrants peut avoir différentes manières de configurer les variables pour envoyer les informations. Vous devrez rechercher cette source externe pour vous assurer que vous n'avez pas besoin de créer manuellement vos variables dans cette source pour que les noms des variables correspondent à ceux que vous assignez dans le constructeur de formulaire.

Ajout du snippet

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

Pour toute aide sur comment et où ajouter des extraits de code à 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 cet extrait de code, nous allons ajouter une variable supplémentaire au webhook appelée entry_id et attribuer cet ID numérique qui est créé par WPForms lors de la soumission du formulaire, mais uniquement pour l'ID de formulaire 1899. Vous devrez mettre à jour cet ID de formulaire pour qu'il corresponde au vôtre. Si vous ne savez pas où trouver votre numéro d'ID de formulaire, veuillez consulter ce tutoriel.

Maintenant, lorsque vous verrez les informations envoyées par le webhook, vous remarquerez non seulement vos noms de champs mappés, mais aussi l'ID d'entrée.

vous pouvez maintenant envoyer l'ID de l'entrée via les webhooks en utilisant cet extrait

Et voilà ! Vous pouvez maintenant passer l'ID d'entrée via votre webhook. Souhaitez-vous également envoyer les informations de géolocalisation dans le webhook ? Consultez notre article sur Comment envoyer la géolocalisation via les Webhooks.