Automattic\WooCommerce\Internal\Fulfillments

OrderFulfillmentsRestController::register_routespublicWC 1.0

Register the routes for fulfillments.

Method of the class: OrderFulfillmentsRestController{}

No Hooks.

Returns

null. Nothing (null).

Usage

$OrderFulfillmentsRestController = new OrderFulfillmentsRestController();
$OrderFulfillmentsRestController->register_routes();

OrderFulfillmentsRestController::register_routes() code WC 10.3.3

public function register_routes() {
	// Register the route for getting and setting order fulfillments.
	register_rest_route(
		$this->route_namespace,
		$this->rest_base,
		array(
			array(
				'methods'             => \WP_REST_Server::READABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'get_fulfillments' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_get_fulfillments(),
				'schema'              => $this->get_schema_for_get_fulfillments(),
			),
			array(
				'methods'             => \WP_REST_Server::CREATABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'create_fulfillment' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_create_fulfillment(),
				'schema'              => $this->get_schema_for_create_fulfillment(),
			),
		),
	);

	// Register the route for getting a specific fulfillment.
	register_rest_route(
		$this->route_namespace,
		$this->rest_base . '/(?P<fulfillment_id>[\d]+)',
		array(
			array(
				'methods'             => \WP_REST_Server::READABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'get_fulfillment' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_get_fulfillment(),
				'schema'              => $this->get_schema_for_get_fulfillment(),
			),
			array(
				'methods'             => \WP_REST_Server::EDITABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'update_fulfillment' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_update_fulfillment(),
				'schema'              => $this->get_schema_for_update_fulfillment(),
			),
			array(
				'methods'             => \WP_REST_Server::DELETABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'delete_fulfillment' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_delete_fulfillment(),
				'schema'              => $this->get_schema_for_delete_fulfillment(),
			),
		),
	);

	// Register the route for fulfillment metadata.
	register_rest_route(
		$this->route_namespace,
		$this->rest_base . '/(?P<fulfillment_id>[\d]+)/metadata',
		array(
			array(
				'methods'             => \WP_REST_Server::READABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'get_fulfillment_meta' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_get_fulfillment_meta(),
				'schema'              => $this->get_schema_for_get_fulfillment_meta(),
			),
			array(
				'methods'             => \WP_REST_Server::EDITABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'update_fulfillment_meta' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_update_fulfillment_meta(),
				'schema'              => $this->get_schema_for_update_fulfillment_meta(),
			),
			array(
				'methods'             => \WP_REST_Server::DELETABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'delete_fulfillment_meta' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_delete_fulfillment_meta(),
				'schema'              => $this->get_schema_for_delete_fulfillment_meta(),
			),
		),
	);

	// Register the route for tracking number lookup.
	register_rest_route(
		$this->route_namespace,
		$this->rest_base . '/lookup',
		array(
			array(
				'methods'             => \WP_REST_Server::READABLE,
				'callback'            => fn( $request ) => $this->run( $request, 'get_tracking_number_details' ),
				'permission_callback' => fn( $request ) => $this->check_permission_for_fulfillments( $request ),
				'args'                => $this->get_args_for_get_tracking_number_details(),
				'schema'              => $this->get_schema_for_get_tracking_number_details(),
			),
		),
	);
}