WC_Connect_API_Client::send_shipping_label_request PHP Method

send_shipping_label_request() public method

public send_shipping_label_request ( $body )
        public function send_shipping_label_request($body)
        {
            return $this->request('POST', '/shipping/label', $body);
        }

Usage Example

 public function update_items($request)
 {
     $request_body = $request->get_body();
     $settings = json_decode($request_body, true, WOOCOMMERCE_CONNECT_MAX_JSON_DECODE_DEPTH);
     $order_id = $settings['order_id'];
     $settings['payment_method_id'] = $this->settings_store->get_selected_payment_method_id();
     $settings['carrier'] = 'usps';
     $settings['label_size'] = 'default';
     $settings['ship_date'] = date('Y-m-d', time() + 86400);
     // tomorrow
     $service_names = array();
     foreach ($settings['packages'] as $index => $package) {
         $service_names[] = $package['service_name'];
         unset($package['service_name']);
         $settings['packages'][$index] = $package;
     }
     $response = $this->api_client->send_shipping_label_request($settings);
     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;
     }
     $labels_order_meta = array();
     $labels_data = array();
     foreach ($response->labels as $index => $label_data) {
         if (isset($label_data->error)) {
             $error = new WP_Error($label_data->error->code, $label_data->error->message, array('message' => $label_data->error->message));
             $this->logger->log($error, __CLASS__);
             return $error;
         }
         $labels_data[] = $label_data->label;
         $labels_order_meta[] = array('label_id' => $label_data->label->label_id, 'tracking' => $label_data->label->tracking_id, 'refundable_amount' => $label_data->label->refundable_amount, 'created' => $label_data->label->created, 'carrier_id' => $settings['carrier'], 'service_name' => $service_names[$index]);
     }
     update_post_meta($order_id, 'wc_connect_labels', json_encode($labels_order_meta));
     return array('labels' => $labels_order_meta, 'success' => true);
 }