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 +37 -4 1.9.01.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 */
@@ -118,15 +127,39 @@
118 127
119 128 /** POST ticket reply items — sprintf($url, $ticketId) */
120 129 const TICKET_ITEMS = self::HAMSALAM_BASE . '/tickets/%d/ticket-items';
121 130
131 + /** PUT encrypted business site access — sprintf($url, $businessId) */
132 + const BUSINESS_SITE_ACCESS = self::HAMSALAM_BASE . '/businesses/%d/site-access';
133 +
122 134 /** POST upload ticket media */
123 - const TICKET_MEDIA_UPLOAD = self::HAMSALAM_BASE . '/media?type=ticket_item&collection=IMAGE';
135 + const TICKET_MEDIA_UPLOAD = self::HAMSALAM_BASE . '/media';
124 136
125 137 // App Store
126 138
127 139 /** POST app review */
128 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 + }
129 162
130 163 // Helpers
131 164
132 165 /** Build the SSO login URL */