Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Webhooks::process_action( $user_id, $action_data, $recipe_id, $args, $parsed )
Common function to run action on all outgoing webhooks
Contents
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Parameters Parameters
- $user_id
(Required)
- $action_data
(Required)
- $recipe_id
(Required)
- $args
(Required)
- $parsed
(Required)
Return Return
(void)
Source Source
File: src/core/lib/recipe-parts/trait-webhooks.php
protected function process_action( $user_id, $action_data, $recipe_id, $args, $parsed ) { $legacy = false; if ( isset( $action_data['meta']['WEBHOOKURL'] ) ) { $legacy = true; } $parsing_args = array( 'recipe_id' => $recipe_id, 'user_id' => $user_id, 'args' => $args, ); $data = $action_data['meta']; $data_type = Automator()->send_webhook->get_data_type( $data ); $headers = Automator()->send_webhook->get_headers( $data, $parsing_args ); $webhook_url = Automator()->send_webhook->get_url( $data, $legacy, $parsing_args ); $fields = Automator()->send_webhook->get_fields( $data, $legacy, $data_type, $parsing_args ); $request_type = Automator()->send_webhook->request_type( $data ); $headers = Automator()->send_webhook->get_content_type( $data_type, $headers ); if ( empty( $webhook_url ) ) { /* translators: 1. Webhook URL */ $error_message = esc_attr__( 'Webhook URL is empty.', 'uncanny-automator' ); $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); return; } if ( empty( $fields ) ) { $error_message = esc_attr__( 'Webhook payload is empty.', 'uncanny-automator' ); $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); return; } $args = apply_filters( 'automator_send_webhook_remote_args', array( 'method' => $request_type, 'body' => $fields, 'timeout' => '30', ), $data, $this ); if ( ! empty( $headers ) ) { $args['headers'] = apply_filters( 'automator_send_webhook_remote_headers', $headers, $data, $this ); } $response = Automator_Send_Webhook::call_webhook( $webhook_url, $args, $request_type ); $response_code = wp_remote_retrieve_response_code( $response ); // Server return invalid response. if ( 200 !== $response_code ) { /* translators: Error message */ $error_message = sprintf( esc_html__( 'An error has been encountered with response code: %s', 'uncanny-automator' ), $response_code ); $response = json_decode( wp_remote_retrieve_body( $response ) ); if ( isset( $response->message ) && ! empty( $response->message ) ) { $error_message = $response->message; } $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); return; } // The client return an invalid response. Failed to send data to webhook url server. if ( is_wp_error( $response ) ) { /* translators: 1. Webhook URL */ $error_message = sprintf( esc_attr__( 'An error was found in the webhook (%1$s) response.', 'uncanny-automator' ), $response->get_error_message() ); if ( ! empty( $response->get_error_message() ) ) { $error_message = $response->get_error_message(); } $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); return; } // All good. Completing action. Automator()->complete->action( $user_id, $action_data, $recipe_id ); }
Expand full source code Collapse full source code View on Github