public function update_items($request) { $request = json_decode($request->get_body(), false, WOOCOMMERCE_CONNECT_MAX_JSON_DECODE_DEPTH); $name = $request->address->name; unset($request->address->name); $company = $request->address->company; unset($request->address->company); $phone = $request->address->phone; unset($request->address->phone); $body = array('destination' => $request->address, 'carrier' => 'usps'); $response = $this->api_client->send_address_normalization_request($body); if (is_wp_error($response)) { $error = new WP_Error($response->get_error_code(), $response->get_error_message(), array('message' => $response->get_error_message())); $this->logger->log($error, __CLASS__); return $error; } if (isset($response->error)) { $error = new WP_Error($response->error->code, $response->error->message, array('message' => $response->error->message)); $this->logger->log($error, __CLASS__); return $error; } $response->normalized->name = $name; $response->normalized->company = $company; $response->normalized->phone = $phone; if ('origin' === $request->type) { $this->settings_store->update_origin_address($response->normalized); } return array('success' => true, 'normalized' => $response->normalized); }