api = $api; } /** * @param string $type . * * @return array * @throws Exception . * @throws WPDesk_Paczkomaty_ShipX_Exception . */ public function get_dispatch_points_from_api( $type = '' ) { $params = $this->api->add_per_page_parameter( [] ); $dispatch_points = []; if ( $type ) { $params['type'] = $type; } $get_dispatch_points = true; while ( $get_dispatch_points ) { $get_dispatch_points = false; $api_dispatch_points = $this->api->get_dispatch_points( $params ); if ( isset( $api_dispatch_points->items ) && is_array( $api_dispatch_points->items ) ) { foreach ( $api_dispatch_points->items as $item ) { $dispatch_points[ $item->name ] = $item; } } if ( isset( $api_dispatch_points->page ) && isset( $api_dispatch_points->total_pages ) && $api_dispatch_points->page < $api_dispatch_points->total_pages ) { $get_dispatch_points = true; $params['page'] = intval( $api_dispatch_points->page ) + 1; } } return $dispatch_points; } /** * @param object $dispatch_point . * * @return mixed */ public function get_dispatch_point_label( $dispatch_point ) { $label = $dispatch_point->name; return $label; } }