Changeset 2981815
- Timestamp:
- 10/20/2023 05:44:35 PM (2 years ago)
- Location:
- wooms
- Files:
-
- 2 deleted
- 36 edited
- 1 copied
-
tags/9.4 (copied) (copied from wooms/trunk)
-
tags/9.4/includes/OrderShipment.php (modified) (4 diffs)
-
tags/9.4/includes/OrderStatusesFromSite.php (modified) (2 diffs)
-
tags/9.4/includes/OrderUpdateFromMoySklad.php (modified) (15 diffs)
-
tags/9.4/includes/Orders.php (modified) (13 diffs)
-
tags/9.4/includes/ProductAttributes.php (modified) (4 diffs)
-
tags/9.4/includes/ProductGallery.php (modified) (2 diffs)
-
tags/9.4/includes/ProductGrouped.php (modified) (7 diffs)
-
tags/9.4/includes/ProductSingleSync.php (modified) (4 diffs)
-
tags/9.4/includes/ProductStocks.php (modified) (7 diffs)
-
tags/9.4/includes/ProductVariable.php (modified) (4 diffs)
-
tags/9.4/includes/ProductVariableImage.php (modified) (3 diffs)
-
tags/9.4/includes/ProductsCategories.php (modified) (1 diff)
-
tags/9.4/includes/ProductsExclusion.php (modified) (2 diffs)
-
tags/9.4/includes/ProductsServices.php (modified) (3 diffs)
-
tags/9.4/includes/SendWarehouse.php (modified) (1 diff)
-
tags/9.4/includes/SiteHealth.php (modified) (4 diffs)
-
tags/9.4/migrations (deleted)
-
tags/9.4/readme.txt (modified) (2 diffs)
-
tags/9.4/wooms.php (modified) (3 diffs)
-
trunk/includes/OrderShipment.php (modified) (4 diffs)
-
trunk/includes/OrderStatusesFromSite.php (modified) (2 diffs)
-
trunk/includes/OrderUpdateFromMoySklad.php (modified) (15 diffs)
-
trunk/includes/Orders.php (modified) (13 diffs)
-
trunk/includes/ProductAttributes.php (modified) (4 diffs)
-
trunk/includes/ProductGallery.php (modified) (2 diffs)
-
trunk/includes/ProductGrouped.php (modified) (7 diffs)
-
trunk/includes/ProductSingleSync.php (modified) (4 diffs)
-
trunk/includes/ProductStocks.php (modified) (7 diffs)
-
trunk/includes/ProductVariable.php (modified) (4 diffs)
-
trunk/includes/ProductVariableImage.php (modified) (3 diffs)
-
trunk/includes/ProductsCategories.php (modified) (1 diff)
-
trunk/includes/ProductsExclusion.php (modified) (2 diffs)
-
trunk/includes/ProductsServices.php (modified) (3 diffs)
-
trunk/includes/SendWarehouse.php (modified) (1 diff)
-
trunk/includes/SiteHealth.php (modified) (4 diffs)
-
trunk/migrations (deleted)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/wooms.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wooms/tags/9.4/includes/OrderShipment.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 defined('ABSPATH') || exit; … … 22 24 /** 23 25 * skip import service if the service is shipment 24 * 26 * 25 27 * issue https://github.com/wpcraft-ru/wooms/issues/314 26 28 */ … … 40 42 /** 41 43 * chg_order_data 42 * 44 * 43 45 * fix https://github.com/wpcraft-ru/wooms/issues/186 44 46 */ … … 78 80 public static function get_meta_for_shipment_item($order_shipment_item_code) 79 81 { 80 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/service';82 $url = 'entity/service'; 81 83 $url = add_query_arg('filter=code', $order_shipment_item_code, $url); 82 $data = wooms_request($url);84 $data = request($url); 83 85 84 86 if (empty($data['rows'][0]['meta'])) { -
wooms/tags/9.4/includes/OrderStatusesFromSite.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 /** … … 92 95 $statuses = get_transient('wooms_order_statuses'); 93 96 if (empty($statuses)) { 94 $url_statuses = ' https://online.moysklad.ru/api/remap/1.2/entity/customerorder/metadata';95 $statuses = wooms_request($url_statuses);97 $url_statuses = 'entity/customerorder/metadata'; 98 $statuses = request($url_statuses); 96 99 $statuses = $statuses["states"]; 97 100 set_transient('wooms_order_statuses', $statuses, 600); -
wooms/tags/9.4/includes/OrderUpdateFromMoySklad.php
r2826440 r2981815 4 4 5 5 use Exception; 6 7 use function WooMS\request; 8 6 9 7 10 /** … … 72 75 /** 73 76 * update_order_status 74 * 77 * 75 78 * use hook wooms_update_order_from_moysklad 76 * 79 * 77 80 * @param \WC_Order $order 78 * 81 * 79 82 * @return \WC_Order - order object 80 83 */ … … 86 89 87 90 $state_url = $data_api["state"]["meta"]["href"]; 88 $state_data = wooms_request($state_url);91 $state_data = request($state_url); 89 92 if (empty($state_data['name'])) { 90 93 return $order; … … 117 120 /** 118 121 * update_order_items 119 * 122 * 120 123 * @param \WC_Order $order 121 * 124 * 122 125 * @return \WC_Order - order object 123 126 */ … … 131 134 $url_api = $data_api['positions']['meta']['href']; 132 135 133 $data = wooms_request($url_api);136 $data = request($url_api); 134 137 135 138 … … 220 223 /** 221 224 * get item_id from order and wooms_id 222 * 225 * 223 226 * @param string $wooms_uuid 224 227 * @param \WC_Order $order … … 247 250 /** 248 251 * Get wooms id from line item 249 * 252 * 250 253 * @param \WC_Order_Item_Product $line_item 251 254 */ … … 272 275 /** 273 276 * Skip order update from site, if exist task to update from MoySklad 274 * 277 * 275 278 * @param bool $skip 276 279 * @param \WC_Order $order 277 * 280 * 278 281 * @return bool - skip or no 279 282 */ … … 304 307 } 305 308 306 $url_api = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/service?filter=code=%s', $code);307 308 $data = wooms_request($url_api);309 $url_api = sprintf('entity/service?filter=code=%s', $code); 310 311 $data = request($url_api); 309 312 310 313 if (empty($data['rows'][0]['meta']['href'])) { … … 384 387 } 385 388 386 $url_api = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/customerorder/%s', $wooms_id);387 388 $data = wooms_request($url_api);389 $url_api = sprintf('entity/customerorder/%s', $wooms_id); 390 391 $data = request($url_api); 389 392 390 393 $order = apply_filters('wooms_update_order_from_moysklad', $order, $data); … … 521 524 522 525 $check = self::check_webhooks_and_try_fix(); 523 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook?limit=50';524 $data = wooms_request($url);526 $url = 'entity/webhook?limit=50'; 527 $data = request($url); 525 528 526 529 $webhooks = array(); … … 569 572 { 570 573 571 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook';572 $data = wooms_request($url);574 $url = 'entity/webhook'; 575 $data = request($url); 573 576 574 577 $webhooks = array(); … … 600 603 //пытаемся удалить лишний хук 601 604 foreach ($webhooks as $id => $value) { 602 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook/' . $id;603 $check = wooms_request($url, null, 'DELETE');605 $url = 'entity/webhook/' . $id; 606 $check = request($url, null, 'DELETE'); 604 607 } 605 608 … … 616 619 "entityType" => "customerorder", 617 620 ); 618 $result = wooms_request($url, $data);621 $result = request($url, $data); 619 622 620 623 if (empty($result)) { … … 753 756 $url = $data["events"][0]["meta"]["href"]; 754 757 755 $data_order = wooms_request($url);758 $data_order = request($url); 756 759 if (empty($data_order['id'])) { 757 760 return; -
wooms/tags/9.4/includes/Orders.php
r2826597 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 defined('ABSPATH') || exit; … … 133 135 } 134 136 135 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/customerorder/' . $wooms_id; 136 137 $data = wooms_request($url); 137 $api_path = 'entity/customerorder/' . $wooms_id; 138 $data = request($api_path); 138 139 139 140 /** … … 167 168 168 169 169 $result = wooms_request($url, $data, 'PUT');170 $result = request($api_path, $data, 'PUT'); 170 171 171 172 if (empty($result["id"])) { … … 221 222 222 223 if (!$data = get_transient('wooms_currency_api')) { 223 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/currency/'; 224 $data = wooms_request($url); 224 $data = request('entity/currency/'); 225 225 set_transient('wooms_currency_api', $data, HOUR_IN_SECONDS); 226 226 } … … 443 443 $data = apply_filters('wooms_order_data', $data, $order_id, $order); 444 444 445 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/customerorder'; 446 447 $result = wooms_request($url, $data, 'POST'); 445 $result = request('entity/customerorder', $data, 'POST'); 448 446 449 447 if (empty($result['id']) || !isset($result['id']) || isset($result['errors'])) { … … 582 580 'assortment' => array( 583 581 'meta' => array( 584 "href" => "https://online.moysklad.ru/api/remap/1.2/entity/{$product_type}/" . $uuid,582 "href" => \WooMS\get_api_url("entity/{$product_type}/" . $uuid), 585 583 "type" => "{$product_type}", 586 584 "mediaType" => "application/json", … … 628 626 public static function get_data_organization() 629 627 { 630 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/organization'; 631 $data = wooms_request($url); 628 $data = request('entity/organization'); 632 629 633 630 if (empty($data['rows'][0]['meta'])) { … … 698 695 699 696 $url = $data_order['agent']['meta']['href']; 700 $result = wooms_request($url, $data, 'PUT');697 $result = request($url, $data, 'PUT'); 701 698 702 699 return $data_order; … … 729 726 730 727 $phone = self::phone_prepare($phone); 731 $url_search_agent = 'https://online.moysklad.ru/api/remap/1.2/entity/counterparty?search=' . $phone; 732 733 $data_agents = wooms_request($url_search_agent); 728 $data_agents = request('entity/counterparty?search=' . $phone); 734 729 if (isset($data_agents['rows'][0]['phone'])) { 735 730 $agent_meta = $data_agents['rows'][0]; … … 776 771 ); 777 772 778 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty';779 $result = wooms_request($url, $data, 'POST');773 $url = 'entity/counterparty'; 774 $result = request($url, $data, 'POST'); 780 775 781 776 if (empty($result["meta"])) { … … 821 816 822 817 if (!empty($data['email'])) { 823 $url_search_agent = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty?filter=email=' . $data['email'];824 $data_agents = wooms_request($url_search_agent);818 $url_search_agent = 'entity/counterparty?filter=email=' . $data['email']; 819 $data_agents = request($url_search_agent); 825 820 if (isset($data_agents['rows'][0]['email'])) { 826 821 $agent_meta = $data_agents['rows'][0]; … … 848 843 } 849 844 850 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty/' . $agent_uuid;851 $result = wooms_request($url);845 $url = 'entity/counterparty/' . $agent_uuid; 846 $result = request($url); 852 847 if (empty($result['id'])) { 853 848 return false; … … 992 987 public static function get_agent_meta_by_email($email = '') 993 988 { 994 $url_search_agent = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty?filter=email=' . $email;995 $data_agents = wooms_request($url_search_agent);989 $url_search_agent = 'entity/counterparty?filter=email=' . $email; 990 $data_agents = request($url_search_agent); 996 991 if (empty($data_agents['rows'][0]['meta'])) { 997 992 return false; -
wooms/tags/9.4/includes/ProductAttributes.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 if ( ! defined( 'ABSPATH' ) ) { … … 37 40 } 38 41 39 42 40 43 /** 41 44 * Update product … … 86 89 87 90 do_action( 'wooms_logger', __CLASS__, 88 sprintf('Артибуты Продукта: %s (%s) сохранены', $product->get_title(), $product->get_id()), 91 sprintf('Артибуты Продукта: %s (%s) сохранены', $product->get_title(), $product->get_id()), 89 92 $product_attributes 90 93 ); … … 208 211 } 209 212 210 $data_api = wooms_request($url);213 $data_api = request($url); 211 214 212 215 if(empty($data_api["name"])){ -
wooms/tags/9.4/includes/ProductGallery.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 if (!defined('ABSPATH')) { … … 245 247 $img_data_list = $imgages_url; 246 248 247 $images_data = wooms_request($imgages_url);249 $images_data = request($imgages_url); 248 250 249 251 if (empty($images_data['rows'])) { -
wooms/tags/9.4/includes/ProductGrouped.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 /** 6 9 * Products Bundle Managment 7 * 10 * 8 11 * issue https://github.com/wpcraft-ru/wooms/issues/313 9 12 */ … … 13 16 /** 14 17 * Save state in DB 15 * 18 * 16 19 * @var string 17 20 */ … … 85 88 $query_arg = self::get_state('query_arg'); 86 89 87 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/bundle';90 $url = 'entity/bundle'; 88 91 89 92 $url = add_query_arg($query_arg, $url); … … 106 109 ); 107 110 108 $data = wooms_request($url);111 $data = request($url); 109 112 110 113 //Check for errors and send message to UI … … 133 136 self::set_state('count', self::get_state('count') + $i); 134 137 135 //update offset 138 //update offset 136 139 $query_arg['offset'] = $query_arg['offset'] + count($data['rows']); 137 140 … … 289 292 $url_api = $value["components"]["meta"]["href"]; 290 293 291 $data_components = wooms_request($url_api);294 $data_components = request($url_api); 292 295 293 296 // dd($data_components); … … 314 317 foreach ($data_components["rows"] as $row_component) { 315 318 $product_uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $row_component["assortment"]["meta"]["href"]); 319 $product_uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $row_component["assortment"]["meta"]["href"]); 316 320 $subproduct_id = self::get_product_id_by_uuid($product_uuid); 317 321 -
wooms/tags/9.4/includes/ProductSingleSync.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 if (!defined('ABSPATH')) { … … 136 138 } 137 139 138 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/variant/?filter=productid=' . $wooms_id;140 $url = 'entity/variant/?filter=productid=' . $wooms_id; 139 141 $url = add_query_arg($url_args, $url); 140 142 … … 145 147 ); 146 148 147 $data_api = wooms_request($url);149 $data_api = request($url); 148 150 149 151 if (empty($data_api['rows'])) { … … 243 245 } 244 246 245 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/assortment?filter=id=' . $uuid;246 247 $data = wooms_request($url);247 $url = 'entity/assortment?filter=id=' . $uuid; 248 249 $data = request($url); 248 250 249 251 if (!isset($data['rows'][0])) { -
wooms/tags/9.4/includes/ProductStocks.php
r2842491 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 defined('ABSPATH') || exit; // Exit if accessed directly … … 87 90 } 88 91 89 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/assortment';92 $url = 'entity/assortment'; 90 93 91 94 $filters = apply_filters('wooms_assortment_sync_filters', $filters); … … 101 104 ); 102 105 103 $data_api = wooms_request($url);106 $data_api = request($url); 104 107 105 108 if (empty($data_api['rows'])) { … … 349 352 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.1/entity/product/', '', $uuid); 350 353 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 354 $uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 351 355 } 352 356 … … 384 388 385 389 if (!$wh_name = get_transient('wooms_warehouse_name')) { 386 $url = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/store/%s', $warehouse_id);387 $data = wooms_request($url);390 $url = sprintf('entity/store/%s', $warehouse_id); 391 $data = request($url); 388 392 if (isset($data["name"])) { 389 393 $wh_name = $data["name"]; … … 406 410 } 407 411 408 $filter[] = 'stockStore=' . sprintf('https://online.moysklad.ru/api/remap/1.2/entity/store/%s', $warehouse_id);412 $filter[] = 'stockStore=' . \WooMS\get_api_url(sprintf('entity/store/%s', $warehouse_id)); 409 413 410 414 return $filter; … … 527 531 $callback = function ($args) { 528 532 529 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/store';530 $data = wooms_request($url);533 $url = 'entity/store'; 534 $data = request($url); 531 535 if (empty($data['rows'])) { 532 536 echo 'Система не смогла получить список складов из МойСклад'; -
wooms/tags/9.4/includes/ProductVariable.php
r2842491 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 // Exit if accessed directly … … 76 79 * issue https://github.com/wpcraft-ru/wooms/issues/296 77 80 */ 78 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/variant';81 $url = 'entity/variant'; 79 82 80 83 $url = add_query_arg($state['query_arg'], $url); … … 97 100 ); 98 101 99 $data = wooms_request($url);102 $data = request($url); 100 103 101 104 //Check for errors and send message to UI … … 394 397 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.1/entity/product/', '', $uuid); 395 398 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 399 $uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 396 400 } 397 401 -
wooms/tags/9.4/includes/ProductVariableImage.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 … … 99 101 100 102 $href = $variant_data['images']['meta']['href']; 101 $img_metadata = wooms_request($href);103 $img_metadata = request($href); 102 104 103 105 if (empty($img_metadata['rows'][0])) { … … 127 129 return; 128 130 } 129 131 130 132 // Adding schedule hook 131 133 as_schedule_single_action( -
wooms/tags/9.4/includes/ProductsCategories.php
r2854597 r2981815 106 106 //if uuid as url - get uuid only 107 107 $id = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/productfolder/', '', $id); 108 $id = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/productfolder/', '', $id); 108 109 109 110 $terms = get_terms(array( -
wooms/tags/9.4/includes/ProductsExclusion.php
r2826440 r2981815 22 22 23 23 $flag = get_option( OPTION_KEY ); 24 $attr_url = 'https://online.moysklad.ru/api/remap/1.2/entity/product/metadata/attributes/';24 $attr_url = \WooMS\get_api_url('entity/product/metadata/attributes/'); 25 25 26 26 if ( $flag ) { … … 32 32 33 33 34 function add_settings() 34 function add_settings() 35 35 { 36 36 register_setting( 'mss-settings', OPTION_KEY ); -
wooms/tags/9.4/includes/ProductsServices.php
r2826597 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 if (!defined('ABSPATH')) { … … 91 94 $query_arg = self::get_state('query_arg'); 92 95 93 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/service';96 $url = 'entity/service'; 94 97 95 98 $url = add_query_arg($query_arg, $url); … … 110 113 ); 111 114 112 $data = wooms_request($url);115 $data = request($url); 113 116 114 117 //Check for errors and send message to UI -
wooms/tags/9.4/includes/SendWarehouse.php
r2826440 r2981815 35 35 36 36 $data['store']['meta'] = array( 37 'href' => 'https://online.moysklad.ru/api/remap/1.2/entity/store/' . $warehouse_id,37 'href' => \WooMS\get_api_url('entity/store/' . $warehouse_id), 38 38 "type" => "store", 39 39 ); -
wooms/tags/9.4/includes/SiteHealth.php
r2826440 r2981815 2 2 3 3 namespace WooMS\SiteHealth; 4 5 use function WooMS\request; 6 4 7 5 8 if (!defined('ABSPATH')) { … … 13 16 14 17 }); 15 16 17 18 18 19 /** … … 32 33 'value' => sprintf('Для корректной работы плагина нужно сменить тариф %s', '❌'), 33 34 ]; 34 35 35 36 36 37 return $debug_info; … … 106 107 } 107 108 108 $url = ' https://online.moysklad.ru/api/remap/1.2/security/token';109 $data_api = wooms_request($url, [], 'POST');109 $url = 'security/token'; 110 $data_api = request($url, [], 'POST'); 110 111 111 112 $result = [ -
wooms/tags/9.4/readme.txt
r2979725 r2981815 34 34 Страница плагина: [https://wpcraft.ru/wooms/](https://wpcraft.ru/wooms/) 35 35 36 Статус задач по разработке: [https://github.com/orgs/wpcraft-ru/projects/2](roadmap)37 38 36 Плагин спроектирован таким образом, что относительно просто позволяет дорабатывать механику под задачи и автоматизацию конкретного магазина/каталога. 39 37 … … 78 76 79 77 == Changelog == 78 79 = 9.4 = 80 - Тест совместимости WooCommerce 8.2.1 81 - Реализация новой версии REST API MoySklad 80 82 81 83 = 9.3 = -
wooms/tags/9.4/wooms.php
r2979725 r2981815 20 20 * WC tested up to: 7.2.2 21 21 * 22 * Version: 9. 322 * Version: 9.4 23 23 */ 24 24 … … 121 121 } 122 122 123 124 125 function get_api_url($path){ 126 return $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 127 } 128 123 129 function request($path = '', $data = array(), $type = 'GET'){ 124 130 // https://api.moysklad.ru/api/remap/1.2/ … … 129 135 } 130 136 131 $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 137 if(str_contains($path, 'https://api.moysklad.ru/api/remap/1.2/')){ 138 $url = $path; 139 } else { 140 $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 141 } 142 132 143 133 144 -
wooms/trunk/includes/OrderShipment.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 defined('ABSPATH') || exit; … … 22 24 /** 23 25 * skip import service if the service is shipment 24 * 26 * 25 27 * issue https://github.com/wpcraft-ru/wooms/issues/314 26 28 */ … … 40 42 /** 41 43 * chg_order_data 42 * 44 * 43 45 * fix https://github.com/wpcraft-ru/wooms/issues/186 44 46 */ … … 78 80 public static function get_meta_for_shipment_item($order_shipment_item_code) 79 81 { 80 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/service';82 $url = 'entity/service'; 81 83 $url = add_query_arg('filter=code', $order_shipment_item_code, $url); 82 $data = wooms_request($url);84 $data = request($url); 83 85 84 86 if (empty($data['rows'][0]['meta'])) { -
wooms/trunk/includes/OrderStatusesFromSite.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 /** … … 92 95 $statuses = get_transient('wooms_order_statuses'); 93 96 if (empty($statuses)) { 94 $url_statuses = ' https://online.moysklad.ru/api/remap/1.2/entity/customerorder/metadata';95 $statuses = wooms_request($url_statuses);97 $url_statuses = 'entity/customerorder/metadata'; 98 $statuses = request($url_statuses); 96 99 $statuses = $statuses["states"]; 97 100 set_transient('wooms_order_statuses', $statuses, 600); -
wooms/trunk/includes/OrderUpdateFromMoySklad.php
r2826440 r2981815 4 4 5 5 use Exception; 6 7 use function WooMS\request; 8 6 9 7 10 /** … … 72 75 /** 73 76 * update_order_status 74 * 77 * 75 78 * use hook wooms_update_order_from_moysklad 76 * 79 * 77 80 * @param \WC_Order $order 78 * 81 * 79 82 * @return \WC_Order - order object 80 83 */ … … 86 89 87 90 $state_url = $data_api["state"]["meta"]["href"]; 88 $state_data = wooms_request($state_url);91 $state_data = request($state_url); 89 92 if (empty($state_data['name'])) { 90 93 return $order; … … 117 120 /** 118 121 * update_order_items 119 * 122 * 120 123 * @param \WC_Order $order 121 * 124 * 122 125 * @return \WC_Order - order object 123 126 */ … … 131 134 $url_api = $data_api['positions']['meta']['href']; 132 135 133 $data = wooms_request($url_api);136 $data = request($url_api); 134 137 135 138 … … 220 223 /** 221 224 * get item_id from order and wooms_id 222 * 225 * 223 226 * @param string $wooms_uuid 224 227 * @param \WC_Order $order … … 247 250 /** 248 251 * Get wooms id from line item 249 * 252 * 250 253 * @param \WC_Order_Item_Product $line_item 251 254 */ … … 272 275 /** 273 276 * Skip order update from site, if exist task to update from MoySklad 274 * 277 * 275 278 * @param bool $skip 276 279 * @param \WC_Order $order 277 * 280 * 278 281 * @return bool - skip or no 279 282 */ … … 304 307 } 305 308 306 $url_api = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/service?filter=code=%s', $code);307 308 $data = wooms_request($url_api);309 $url_api = sprintf('entity/service?filter=code=%s', $code); 310 311 $data = request($url_api); 309 312 310 313 if (empty($data['rows'][0]['meta']['href'])) { … … 384 387 } 385 388 386 $url_api = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/customerorder/%s', $wooms_id);387 388 $data = wooms_request($url_api);389 $url_api = sprintf('entity/customerorder/%s', $wooms_id); 390 391 $data = request($url_api); 389 392 390 393 $order = apply_filters('wooms_update_order_from_moysklad', $order, $data); … … 521 524 522 525 $check = self::check_webhooks_and_try_fix(); 523 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook?limit=50';524 $data = wooms_request($url);526 $url = 'entity/webhook?limit=50'; 527 $data = request($url); 525 528 526 529 $webhooks = array(); … … 569 572 { 570 573 571 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook';572 $data = wooms_request($url);574 $url = 'entity/webhook'; 575 $data = request($url); 573 576 574 577 $webhooks = array(); … … 600 603 //пытаемся удалить лишний хук 601 604 foreach ($webhooks as $id => $value) { 602 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/webhook/' . $id;603 $check = wooms_request($url, null, 'DELETE');605 $url = 'entity/webhook/' . $id; 606 $check = request($url, null, 'DELETE'); 604 607 } 605 608 … … 616 619 "entityType" => "customerorder", 617 620 ); 618 $result = wooms_request($url, $data);621 $result = request($url, $data); 619 622 620 623 if (empty($result)) { … … 753 756 $url = $data["events"][0]["meta"]["href"]; 754 757 755 $data_order = wooms_request($url);758 $data_order = request($url); 756 759 if (empty($data_order['id'])) { 757 760 return; -
wooms/trunk/includes/Orders.php
r2826597 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 defined('ABSPATH') || exit; … … 133 135 } 134 136 135 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/customerorder/' . $wooms_id; 136 137 $data = wooms_request($url); 137 $api_path = 'entity/customerorder/' . $wooms_id; 138 $data = request($api_path); 138 139 139 140 /** … … 167 168 168 169 169 $result = wooms_request($url, $data, 'PUT');170 $result = request($api_path, $data, 'PUT'); 170 171 171 172 if (empty($result["id"])) { … … 221 222 222 223 if (!$data = get_transient('wooms_currency_api')) { 223 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/currency/'; 224 $data = wooms_request($url); 224 $data = request('entity/currency/'); 225 225 set_transient('wooms_currency_api', $data, HOUR_IN_SECONDS); 226 226 } … … 443 443 $data = apply_filters('wooms_order_data', $data, $order_id, $order); 444 444 445 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/customerorder'; 446 447 $result = wooms_request($url, $data, 'POST'); 445 $result = request('entity/customerorder', $data, 'POST'); 448 446 449 447 if (empty($result['id']) || !isset($result['id']) || isset($result['errors'])) { … … 582 580 'assortment' => array( 583 581 'meta' => array( 584 "href" => "https://online.moysklad.ru/api/remap/1.2/entity/{$product_type}/" . $uuid,582 "href" => \WooMS\get_api_url("entity/{$product_type}/" . $uuid), 585 583 "type" => "{$product_type}", 586 584 "mediaType" => "application/json", … … 628 626 public static function get_data_organization() 629 627 { 630 $url = 'https://online.moysklad.ru/api/remap/1.2/entity/organization'; 631 $data = wooms_request($url); 628 $data = request('entity/organization'); 632 629 633 630 if (empty($data['rows'][0]['meta'])) { … … 698 695 699 696 $url = $data_order['agent']['meta']['href']; 700 $result = wooms_request($url, $data, 'PUT');697 $result = request($url, $data, 'PUT'); 701 698 702 699 return $data_order; … … 729 726 730 727 $phone = self::phone_prepare($phone); 731 $url_search_agent = 'https://online.moysklad.ru/api/remap/1.2/entity/counterparty?search=' . $phone; 732 733 $data_agents = wooms_request($url_search_agent); 728 $data_agents = request('entity/counterparty?search=' . $phone); 734 729 if (isset($data_agents['rows'][0]['phone'])) { 735 730 $agent_meta = $data_agents['rows'][0]; … … 776 771 ); 777 772 778 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty';779 $result = wooms_request($url, $data, 'POST');773 $url = 'entity/counterparty'; 774 $result = request($url, $data, 'POST'); 780 775 781 776 if (empty($result["meta"])) { … … 821 816 822 817 if (!empty($data['email'])) { 823 $url_search_agent = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty?filter=email=' . $data['email'];824 $data_agents = wooms_request($url_search_agent);818 $url_search_agent = 'entity/counterparty?filter=email=' . $data['email']; 819 $data_agents = request($url_search_agent); 825 820 if (isset($data_agents['rows'][0]['email'])) { 826 821 $agent_meta = $data_agents['rows'][0]; … … 848 843 } 849 844 850 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty/' . $agent_uuid;851 $result = wooms_request($url);845 $url = 'entity/counterparty/' . $agent_uuid; 846 $result = request($url); 852 847 if (empty($result['id'])) { 853 848 return false; … … 992 987 public static function get_agent_meta_by_email($email = '') 993 988 { 994 $url_search_agent = ' https://online.moysklad.ru/api/remap/1.2/entity/counterparty?filter=email=' . $email;995 $data_agents = wooms_request($url_search_agent);989 $url_search_agent = 'entity/counterparty?filter=email=' . $email; 990 $data_agents = request($url_search_agent); 996 991 if (empty($data_agents['rows'][0]['meta'])) { 997 992 return false; -
wooms/trunk/includes/ProductAttributes.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 if ( ! defined( 'ABSPATH' ) ) { … … 37 40 } 38 41 39 42 40 43 /** 41 44 * Update product … … 86 89 87 90 do_action( 'wooms_logger', __CLASS__, 88 sprintf('Артибуты Продукта: %s (%s) сохранены', $product->get_title(), $product->get_id()), 91 sprintf('Артибуты Продукта: %s (%s) сохранены', $product->get_title(), $product->get_id()), 89 92 $product_attributes 90 93 ); … … 208 211 } 209 212 210 $data_api = wooms_request($url);213 $data_api = request($url); 211 214 212 215 if(empty($data_api["name"])){ -
wooms/trunk/includes/ProductGallery.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 if (!defined('ABSPATH')) { … … 245 247 $img_data_list = $imgages_url; 246 248 247 $images_data = wooms_request($imgages_url);249 $images_data = request($imgages_url); 248 250 249 251 if (empty($images_data['rows'])) { -
wooms/trunk/includes/ProductGrouped.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 /** 6 9 * Products Bundle Managment 7 * 10 * 8 11 * issue https://github.com/wpcraft-ru/wooms/issues/313 9 12 */ … … 13 16 /** 14 17 * Save state in DB 15 * 18 * 16 19 * @var string 17 20 */ … … 85 88 $query_arg = self::get_state('query_arg'); 86 89 87 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/bundle';90 $url = 'entity/bundle'; 88 91 89 92 $url = add_query_arg($query_arg, $url); … … 106 109 ); 107 110 108 $data = wooms_request($url);111 $data = request($url); 109 112 110 113 //Check for errors and send message to UI … … 133 136 self::set_state('count', self::get_state('count') + $i); 134 137 135 //update offset 138 //update offset 136 139 $query_arg['offset'] = $query_arg['offset'] + count($data['rows']); 137 140 … … 289 292 $url_api = $value["components"]["meta"]["href"]; 290 293 291 $data_components = wooms_request($url_api);294 $data_components = request($url_api); 292 295 293 296 // dd($data_components); … … 314 317 foreach ($data_components["rows"] as $row_component) { 315 318 $product_uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $row_component["assortment"]["meta"]["href"]); 319 $product_uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $row_component["assortment"]["meta"]["href"]); 316 320 $subproduct_id = self::get_product_id_by_uuid($product_uuid); 317 321 -
wooms/trunk/includes/ProductSingleSync.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 if (!defined('ABSPATH')) { … … 136 138 } 137 139 138 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/variant/?filter=productid=' . $wooms_id;140 $url = 'entity/variant/?filter=productid=' . $wooms_id; 139 141 $url = add_query_arg($url_args, $url); 140 142 … … 145 147 ); 146 148 147 $data_api = wooms_request($url);149 $data_api = request($url); 148 150 149 151 if (empty($data_api['rows'])) { … … 243 245 } 244 246 245 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/assortment?filter=id=' . $uuid;246 247 $data = wooms_request($url);247 $url = 'entity/assortment?filter=id=' . $uuid; 248 249 $data = request($url); 248 250 249 251 if (!isset($data['rows'][0])) { -
wooms/trunk/includes/ProductStocks.php
r2842491 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 defined('ABSPATH') || exit; // Exit if accessed directly … … 87 90 } 88 91 89 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/assortment';92 $url = 'entity/assortment'; 90 93 91 94 $filters = apply_filters('wooms_assortment_sync_filters', $filters); … … 101 104 ); 102 105 103 $data_api = wooms_request($url);106 $data_api = request($url); 104 107 105 108 if (empty($data_api['rows'])) { … … 349 352 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.1/entity/product/', '', $uuid); 350 353 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 354 $uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 351 355 } 352 356 … … 384 388 385 389 if (!$wh_name = get_transient('wooms_warehouse_name')) { 386 $url = sprintf(' https://online.moysklad.ru/api/remap/1.2/entity/store/%s', $warehouse_id);387 $data = wooms_request($url);390 $url = sprintf('entity/store/%s', $warehouse_id); 391 $data = request($url); 388 392 if (isset($data["name"])) { 389 393 $wh_name = $data["name"]; … … 406 410 } 407 411 408 $filter[] = 'stockStore=' . sprintf('https://online.moysklad.ru/api/remap/1.2/entity/store/%s', $warehouse_id);412 $filter[] = 'stockStore=' . \WooMS\get_api_url(sprintf('entity/store/%s', $warehouse_id)); 409 413 410 414 return $filter; … … 527 531 $callback = function ($args) { 528 532 529 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/store';530 $data = wooms_request($url);533 $url = 'entity/store'; 534 $data = request($url); 531 535 if (empty($data['rows'])) { 532 536 echo 'Система не смогла получить список складов из МойСклад'; -
wooms/trunk/includes/ProductVariable.php
r2842491 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 // Exit if accessed directly … … 76 79 * issue https://github.com/wpcraft-ru/wooms/issues/296 77 80 */ 78 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/variant';81 $url = 'entity/variant'; 79 82 80 83 $url = add_query_arg($state['query_arg'], $url); … … 97 100 ); 98 101 99 $data = wooms_request($url);102 $data = request($url); 100 103 101 104 //Check for errors and send message to UI … … 394 397 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.1/entity/product/', '', $uuid); 395 398 $uuid = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 399 $uuid = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/product/', '', $uuid); 396 400 } 397 401 -
wooms/trunk/includes/ProductVariableImage.php
r2826440 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 4 6 5 7 … … 99 101 100 102 $href = $variant_data['images']['meta']['href']; 101 $img_metadata = wooms_request($href);103 $img_metadata = request($href); 102 104 103 105 if (empty($img_metadata['rows'][0])) { … … 127 129 return; 128 130 } 129 131 130 132 // Adding schedule hook 131 133 as_schedule_single_action( -
wooms/trunk/includes/ProductsCategories.php
r2854597 r2981815 106 106 //if uuid as url - get uuid only 107 107 $id = str_replace('https://online.moysklad.ru/api/remap/1.2/entity/productfolder/', '', $id); 108 $id = str_replace('https://api.moysklad.ru/api/remap/1.2/entity/productfolder/', '', $id); 108 109 109 110 $terms = get_terms(array( -
wooms/trunk/includes/ProductsExclusion.php
r2826440 r2981815 22 22 23 23 $flag = get_option( OPTION_KEY ); 24 $attr_url = 'https://online.moysklad.ru/api/remap/1.2/entity/product/metadata/attributes/';24 $attr_url = \WooMS\get_api_url('entity/product/metadata/attributes/'); 25 25 26 26 if ( $flag ) { … … 32 32 33 33 34 function add_settings() 34 function add_settings() 35 35 { 36 36 register_setting( 'mss-settings', OPTION_KEY ); -
wooms/trunk/includes/ProductsServices.php
r2826597 r2981815 2 2 3 3 namespace WooMS; 4 5 use function WooMS\request; 6 4 7 5 8 if (!defined('ABSPATH')) { … … 91 94 $query_arg = self::get_state('query_arg'); 92 95 93 $url = ' https://online.moysklad.ru/api/remap/1.2/entity/service';96 $url = 'entity/service'; 94 97 95 98 $url = add_query_arg($query_arg, $url); … … 110 113 ); 111 114 112 $data = wooms_request($url);115 $data = request($url); 113 116 114 117 //Check for errors and send message to UI -
wooms/trunk/includes/SendWarehouse.php
r2826440 r2981815 35 35 36 36 $data['store']['meta'] = array( 37 'href' => 'https://online.moysklad.ru/api/remap/1.2/entity/store/' . $warehouse_id,37 'href' => \WooMS\get_api_url('entity/store/' . $warehouse_id), 38 38 "type" => "store", 39 39 ); -
wooms/trunk/includes/SiteHealth.php
r2826440 r2981815 2 2 3 3 namespace WooMS\SiteHealth; 4 5 use function WooMS\request; 6 4 7 5 8 if (!defined('ABSPATH')) { … … 13 16 14 17 }); 15 16 17 18 18 19 /** … … 32 33 'value' => sprintf('Для корректной работы плагина нужно сменить тариф %s', '❌'), 33 34 ]; 34 35 35 36 36 37 return $debug_info; … … 106 107 } 107 108 108 $url = ' https://online.moysklad.ru/api/remap/1.2/security/token';109 $data_api = wooms_request($url, [], 'POST');109 $url = 'security/token'; 110 $data_api = request($url, [], 'POST'); 110 111 111 112 $result = [ -
wooms/trunk/readme.txt
r2979725 r2981815 34 34 Страница плагина: [https://wpcraft.ru/wooms/](https://wpcraft.ru/wooms/) 35 35 36 Статус задач по разработке: [https://github.com/orgs/wpcraft-ru/projects/2](roadmap)37 38 36 Плагин спроектирован таким образом, что относительно просто позволяет дорабатывать механику под задачи и автоматизацию конкретного магазина/каталога. 39 37 … … 78 76 79 77 == Changelog == 78 79 = 9.4 = 80 - Тест совместимости WooCommerce 8.2.1 81 - Реализация новой версии REST API MoySklad 80 82 81 83 = 9.3 = -
wooms/trunk/wooms.php
r2979725 r2981815 20 20 * WC tested up to: 7.2.2 21 21 * 22 * Version: 9. 322 * Version: 9.4 23 23 */ 24 24 … … 121 121 } 122 122 123 124 125 function get_api_url($path){ 126 return $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 127 } 128 123 129 function request($path = '', $data = array(), $type = 'GET'){ 124 130 // https://api.moysklad.ru/api/remap/1.2/ … … 129 135 } 130 136 131 $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 137 if(str_contains($path, 'https://api.moysklad.ru/api/remap/1.2/')){ 138 $url = $path; 139 } else { 140 $url = 'https://api.moysklad.ru/api/remap/1.2/' . $path; 141 } 142 132 143 133 144
Note: See TracChangeset
for help on using the changeset viewer.