PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.19
ووسلام – همگام سازی ووکامرس و باسلام v1.10.19
1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 1.9.1 1.9.0 1.8.8 1.8.5 1.8.6 All 53 releases
← All changes | includes/Config/Endpoints.php +40 -4 1.8.61.10.19 View file →
@@ -29,8 +29,11 @@
29 29
30 30 /** PATCH update an existing product — sprintf($url, $basalamProductId) */
31 31 const PRODUCT_UPDATE = self::OPENAPI_BASE . '/v1/products/%d';
32 32
33 + /** PATCH update a single variation of a product — sprintf($url, $basalamProductId, $basalamVariationId) */
34 + const PRODUCT_VARIATION_UPDATE = self::CORE_BASE . '/v4/products/%d/variations/%d';
35 +
33 36 /** POST batch-update products for a vendor */
34 37 const PRODUCT_BATCH_UPDATE = self::OPENAPI_BASE . '/v1/vendors/%d/products/batch-updates?continue_on_error=true';
35 38
36 39 /** GET vendor information — sprintf($url, $vendorId) */
@@ -36,13 +39,19 @@
36 39 /** GET vendor information — sprintf($url, $vendorId) */
37 40 const VENDOR_INFO = self::OPENAPI_BASE . '/v1/vendors/%d';
38 41
39 42 /** GET category-detection prediction — append encoded title as query param */
40 - const CATEGORY_DETECT = self::CATEGORY_BASE . '/category_detection/api_v1.0/predict/';
43 + const CATEGORY_DETECT = self::CATEGORY_BASE . '/category_detection/api_v2.0/predict/';
41 44
42 - /** POST / PUT file upload */
43 - const FILE_UPLOAD = self::UPLOAD_BASE . '/v3/files';
45 + /** POST initialize a product media upload */
46 + const MEDIA_UPLOAD_REQUEST = self::UPLOAD_BASE . '/v3/media/upload-request';
44 47
48 + /** POST complete a product media upload */
49 + const MEDIA_UPLOAD_COMPLETE = self::UPLOAD_BASE . '/v3/media/complete';
50 +
51 + /** GET product media upload status — sprintf($url, $fileId) */
52 + const MEDIA_UPLOAD_STATUS = self::UPLOAD_BASE . '/v3/media/status/%s';
53 +
45 54 /** GET product data list */
46 55 const PRODUCTS_DATA = self::CORE_BASE . '/v4/products';
47 56
48 57 /** GET commission percentage */
@@ -47,8 +56,11 @@
47 56
48 57 /** GET commission percentage */
49 58 const COMMISSION = self::CORE_BASE . '/api_v2/commission/get_percent';
50 59
60 + /** GET full category tree with max preparation days (core v3) */
61 + const CATEGORIES_PREPARATION = self::CORE_BASE . '/v3/categories';
62 +
51 63 /** GET/POST/PATCH/DELETE webhooks */
52 64 const WEBHOOKS = self::OPENAPI_BASE . '/v1/webhooks';
53 65
54 66 /** GET vendor parcels (orders) */
@@ -115,15 +127,39 @@
115 127
116 128 /** POST ticket reply items — sprintf($url, $ticketId) */
117 129 const TICKET_ITEMS = self::HAMSALAM_BASE . '/tickets/%d/ticket-items';
118 130
131 + /** PUT encrypted business site access — sprintf($url, $businessId) */
132 + const BUSINESS_SITE_ACCESS = self::HAMSALAM_BASE . '/businesses/%d/site-access';
133 +
119 134 /** POST upload ticket media */
120 - const TICKET_MEDIA_UPLOAD = self::HAMSALAM_BASE . '/media?type=ticket_item&collection=IMAGE';
135 + const TICKET_MEDIA_UPLOAD = self::HAMSALAM_BASE . '/media';
121 136
122 137 // App Store
123 138
124 139 /** POST app review */
125 140 const APP_REVIEW = self::APPS_BASE . '/v1/apps/13/reviews';
141 +
142 + /**
143 + * Replace only the Hamsalam base URL when a local/test override exists.
144 + * Production keeps using the compile-time constants above.
145 + */
146 + public static function resolve(string $url): string
147 + {
148 + if (!defined('SYNC_BASALAM_HAMSALAM_BASE_URL')) {
149 + return $url;
150 + }
151 +
152 + $override = rtrim(
153 + (string) constant('SYNC_BASALAM_HAMSALAM_BASE_URL'),
154 + '/'
155 + );
156 + if ($override === '' || strpos($url, self::HAMSALAM_BASE) !== 0) {
157 + return $url;
158 + }
159 +
160 + return $override . substr($url, strlen(self::HAMSALAM_BASE));
161 + }
126 162
127 163 // Helpers
128 164
129 165 /** Build the SSO login URL */