AC_ANNON_ADD::process_action( int $user_id, array $action_data, int $recipe_id, array $args, $parsed )
Proccess our action.
Contents
Parameters Parameters
- $user_id
-
(Required)
- $action_data
-
(Required)
- $recipe_id
-
(Required)
- $args
-
(Required)
- $parsed
-
(Required)
Return Return
(Uncanny_Automatorvoid.)
Source Source
File: src/integrations/active-campaign/actions/ac-annon-add.php
protected function process_action( $user_id, $action_data, $recipe_id, $args, $parsed ) { $email = isset( $parsed[ $this->get_action_meta() ] ) ? sanitize_text_field( $parsed[ $this->get_action_meta() ] ) : 0; $firstname = isset( $parsed[ $this->prefix . '_FIRST_NAME' ] ) ? sanitize_text_field( $parsed[ $this->prefix . '_FIRST_NAME' ] ) : 0; $lastname = isset( $parsed[ $this->prefix . '_LAST_NAME' ] ) ? sanitize_text_field( $parsed[ $this->prefix . '_LAST_NAME' ] ) : 0; $phone = isset( $parsed[ $this->prefix . '_PHONE' ] ) ? sanitize_text_field( $parsed[ $this->prefix . '_PHONE' ] ) : 0; $form_data = array( 'action' => 'add_contact', 'url' => get_option( 'uap_active_campaign_api_url', '' ), 'token' => get_option( 'uap_active_campaign_api_key', '' ), 'email' => $email, 'firstName' => $firstname, 'lastName' => $lastname, 'phone' => $phone, ); $response = wp_remote_post( $this->ac_endpoint_uri, array( 'body' => $form_data, ) ); if ( is_wp_error( $response ) ) { // Something happened with the response. // Or, there's an error with with WordPress. etc. $error_message = $response->get_error_message(); $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); } else { // Decode the response, if everythins is fine. $body = json_decode( wp_remote_retrieve_body( $response ) ); if ( 200 === $body->statusCode ) { // If there are any errors. $errors = isset( $body->data->errors ) ? $body->data->errors : ''; if ( ! empty( $errors ) ) { $error_message = array(); foreach ( $errors as $error ) { $error_message[] = $error->title; } $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, implode( ',', $error_message ) ); } else { // All good. Complete the action. Automator()->complete->action( $user_id, $action_data, $recipe_id ); } } else { // If status code is not 200. /* translators: Last name */ $error_message = sprintf( esc_html__( 'Request to ActiveCampaign returned with status: %s', 'uncanny-automator' ), $body->statusCode ); $action_data['complete_with_errors'] = true; Automator()->complete->action( $user_id, $action_data, $recipe_id, $error_message ); } } }
Expand full source code Collapse full source code View on Github