Automattic\WooCommerce\Internal\Fulfillments
OrderFulfillmentsRestController::get_tracking_number_details
Get the tracking number details for a given tracking number, if possible.
Method of the class: OrderFulfillmentsRestController{}
Hooks from the method
Returns
WP_REST_Response. The tracking number details, or an error if the request fails.
Usage
$OrderFulfillmentsRestController = new OrderFulfillmentsRestController(); $OrderFulfillmentsRestController->get_tracking_number_details( $request );
- $request(WP_REST_Request) (required)
- The request object.
OrderFulfillmentsRestController::get_tracking_number_details() OrderFulfillmentsRestController::get tracking number details code WC 10.3.3
public function get_tracking_number_details( WP_REST_Request $request ) {
$order_id = (int) $request->get_param( 'order_id' );
$tracking_number = sanitize_text_field( $request->get_param( 'tracking_number' ) );
if ( empty( $tracking_number ) ) {
return $this->prepare_error_response(
'woocommerce_rest_tracking_number_missing',
__( 'Tracking number is required.', 'woocommerce' ),
array( 'status' => WP_Http::BAD_REQUEST )
);
}
if ( ! $order_id ) {
return $this->prepare_error_response(
'woocommerce_rest_order_id_missing',
__( 'Order ID is required.', 'woocommerce' ),
array( 'status' => WP_Http::BAD_REQUEST )
);
}
$order = wc_get_order( $order_id );
if ( ! $order || ! $order instanceof WC_Order ) {
return $this->prepare_error_response(
'woocommerce_rest_order_invalid_id',
__( 'Invalid order ID.', 'woocommerce' ),
array( 'status' => WP_Http::NOT_FOUND )
);
}
/**
* Parse the tracking number with additional parameters.
*
* @since 10.1.0
*/
$tracking_number_parse_result = apply_filters(
'woocommerce_fulfillment_parse_tracking_number',
$tracking_number,
WC()->countries->get_base_country(),
$order->get_shipping_country(),
);
return new WP_REST_Response( $tracking_number_parse_result, WP_Http::OK );
}