Como enviar o ID de entrada por meio de webhooks

Introdução

Deseja transmitir o ID de entrada por meio do complemento Webhooks? O ID de entrada, que é atribuído assim que o formulário é enviado, desempenha um papel fundamental na vinculação de suas entradas do WPForms a um CRM externo para referência cruzada. Neste tutorial, vamos guiá-lo pelo processo usando um simples snippet de PHP.

Criando o formulário

Vamos começar criando um formulário e adicionando os campos necessários. Se você não tiver certeza de como criar um formulário, consulte esta documentação para obter orientação.

crie o formulário e adicione seus campos.

Configuração do webhook

Para enviar o ID da entrada por meio de webhooks, precisamos começar ativando o complemento Webhooks. Se precisar de ajuda para configurar o complemento Webhooks, consulte este artigo.

Para ativar o complemento, vá para o construtor de formulários, clique em Configurações e, em seguida, clique em Ativar webhooks. Você poderá inserir o URL do webhook e mapear os campos do formulário para o Request Body, especificando as informações que deseja incluir no webhook.

mapeie os campos do formulário para os nomes das variáveis e insira o URL do webhook.

Para os fins deste tutorial, estamos usando o Webhook.site para testar se nossas informações estão sendo enviadas por meio do webhook. Ao configurar o webhook, você deve usar o URL do webhook para a fonte externa na qual está postando e atribuir suas variáveis. É importante lembrar que cada fonte externa que aceita webhooks de entrada pode ter maneiras diferentes de configurar variáveis para enviar as informações. Você precisará pesquisar essa fonte externa para ter certeza de que não precisará criar manualmente as variáveis dentro dessa fonte para garantir que os nomes das variáveis correspondam ao que você está atribuindo no construtor de formulários.

Adicionando o snippet

Em seguida, é hora de copiar o snippet para o nosso site.

Para obter ajuda sobre como e onde adicionar snippets ao seu site, 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);

Com esse snippet, adicionaremos uma variável adicional ao webhook chamada entry_id e atribuiremos esse número de ID que é criado pelo WPForms quando o formulário é enviado, mas somente para o ID do formulário 1899. Se não tiver certeza de onde encontrar o número de ID do formulário, consulte este tutorial.

Agora, ao ver as informações enviadas pelo webhook, você notará que não apenas os nomes dos campos mapeados estão lá, mas também o ID da entrada.

Agora você pode enviar o ID da entrada por meio de webhooks usando este snippet

E é isso! Agora você pode passar o ID da entrada pelo seu webhook. Gostaria de enviar também as informações de geolocalização no webhook? Confira nosso artigo sobre Como enviar geolocalização por meio de webhooks.