Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado.

Ignorar

Como Enviar o ID da Entrada Através de Webhooks

Introdução

Pretende transmitir o ID da entrada através do complemento Webhooks? O ID da entrada, que é atribuído assim que o formulário é submetido, desempenha um papel vital na ligação das suas entradas WPForms com um CRM externo para referências cruzadas. Neste tutorial, vamos guiá-lo através do processo utilizando um simples trecho de código PHP.

Criação do formulário

Vamos começar por criar um formulário e adicionar os campos necessários. Se não tiver a certeza de como criar um formulário, pode consultar esta documentação para obter orientação.

crie o formulário e adicione os seus campos.

Configuração do webhook

Para enviar o ID da entrada através de webhooks, precisamos de começar por ativar o complemento Webhooks. Se precisar de assistência na configuração do complemento Webhooks, consulte este artigo.

Para ativar o complemento, vá ao construtor de formulários, clique em Definições e, em seguida, clique em Ativar Webhooks. Poderá introduzir o seu URL de webhook e mapear os campos do formulário para o Corpo do Pedido, especificando as informações que pretende incluir no webhook.

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

Para efeitos deste tutorial, estamos a usar o Webhook.site para testar se as nossas informações estão a ser enviadas através do nosso webhook. Ao configurar o seu webhook, utilizaria o URL do webhook para a fonte externa para a qual está a publicar e atribuiria as suas variáveis. É importante lembrar que cada fonte externa que aceita webhooks de entrada pode ter formas diferentes de configurar variáveis para enviar as informações. Terá de pesquisar esta fonte externa para garantir que não precisa de criar manualmente as suas variáveis dentro dessa fonte para garantir que os nomes das variáveis correspondem ao que está a atribuir no construtor de formulários.

Adição do trecho de código

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

Para qualquer assistência sobre como e onde adicionar trechos 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 este trecho, vamos adicionar uma variável adicional ao webhook chamada entry_id e atribuir este número de ID que é criado pelo WPForms quando o formulário é submetido, mas apenas para o ID de formulário 1899, terá de atualizar este número de ID de formulário para corresponder ao seu próprio ID. Se não tiver a certeza de onde encontrar o seu número de ID de formulário, reveja este tutorial.

Agora, quando vir as informações enviadas do webhook, notará não só os nomes dos seus campos mapeados, mas também o ID da entrada.

pode agora enviar o ID da entrada através de webhooks usando este trecho

E é tudo! Agora pode passar o ID da entrada através do seu webhook. Gostaria também de enviar as informações de geolocalização no webhook? Consulte o nosso artigo sobre Como Enviar Geolocalização Através de Webhooks.