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);
}