@things-factory/integration-marketplace 5.0.0-alpha.4 → 5.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/client/pages/marketplace-stores.js +8 -0
  2. package/dist-server/controllers/index.js +1 -0
  3. package/dist-server/controllers/index.js.map +1 -1
  4. package/dist-server/controllers/magento/apis/get-store-order.js +20 -0
  5. package/dist-server/controllers/magento/apis/get-store-order.js.map +1 -0
  6. package/dist-server/controllers/magento/apis/get-store-orders.js +34 -4
  7. package/dist-server/controllers/magento/apis/get-store-orders.js.map +1 -1
  8. package/dist-server/controllers/magento/apis/get-store-product-categories.js +47 -0
  9. package/dist-server/controllers/magento/apis/get-store-product-categories.js.map +1 -0
  10. package/dist-server/controllers/magento/apis/get-store-products.js +29 -11
  11. package/dist-server/controllers/magento/apis/get-store-products.js.map +1 -1
  12. package/dist-server/controllers/magento/apis/get-store-stock-item.js +1 -1
  13. package/dist-server/controllers/magento/apis/get-store-stock-item.js.map +1 -1
  14. package/dist-server/controllers/magento/apis/index.js +5 -0
  15. package/dist-server/controllers/magento/apis/index.js.map +1 -1
  16. package/dist-server/controllers/magento/apis/update-order-status.js +82 -0
  17. package/dist-server/controllers/magento/apis/update-order-status.js.map +1 -0
  18. package/dist-server/controllers/magento/apis/update-store-product-price.js +28 -0
  19. package/dist-server/controllers/magento/apis/update-store-product-price.js.map +1 -0
  20. package/dist-server/controllers/magento/apis/update-store-product-stock.js +1 -1
  21. package/dist-server/controllers/magento/apis/update-store-product-stock.js.map +1 -1
  22. package/dist-server/controllers/magento/apis/update-store-product-variation-price.js +28 -0
  23. package/dist-server/controllers/magento/apis/update-store-product-variation-price.js.map +1 -0
  24. package/dist-server/controllers/magento/apis/update-store-product-variation-stock.js +1 -1
  25. package/dist-server/controllers/magento/apis/update-store-product-variation-stock.js.map +1 -1
  26. package/dist-server/controllers/magento/magento.js +4 -4
  27. package/dist-server/controllers/magento/magento.js.map +1 -1
  28. package/dist-server/controllers/magento/platform-action.js +1 -0
  29. package/dist-server/controllers/magento/platform-action.js.map +1 -1
  30. package/dist-server/controllers/shopee/apis/get-store-order.js +8 -2
  31. package/dist-server/controllers/shopee/apis/get-store-order.js.map +1 -1
  32. package/dist-server/controllers/shopify/apis/get-store-orders.js +2 -2
  33. package/dist-server/controllers/shopify/apis/get-store-orders.js.map +1 -1
  34. package/dist-server/controllers/shopify/apis/set-store-order-status-ready-to-ship.js +3 -2
  35. package/dist-server/controllers/shopify/apis/set-store-order-status-ready-to-ship.js.map +1 -1
  36. package/dist-server/controllers/store-api/index.js +21 -0
  37. package/dist-server/controllers/store-api/index.js.map +1 -1
  38. package/dist-server/controllers/tiktok/apis/echo.js +19 -0
  39. package/dist-server/controllers/tiktok/apis/echo.js.map +1 -0
  40. package/dist-server/controllers/tiktok/apis/get-store-order-document.js +27 -0
  41. package/dist-server/controllers/tiktok/apis/get-store-order-document.js.map +1 -0
  42. package/dist-server/controllers/tiktok/apis/get-store-order-package.js +47 -0
  43. package/dist-server/controllers/tiktok/apis/get-store-order-package.js.map +1 -0
  44. package/dist-server/controllers/tiktok/apis/get-store-order-packages.js +39 -0
  45. package/dist-server/controllers/tiktok/apis/get-store-order-packages.js.map +1 -0
  46. package/dist-server/controllers/tiktok/apis/get-store-order.js +138 -0
  47. package/dist-server/controllers/tiktok/apis/get-store-order.js.map +1 -0
  48. package/dist-server/controllers/tiktok/apis/get-store-orders.js +48 -0
  49. package/dist-server/controllers/tiktok/apis/get-store-orders.js.map +1 -0
  50. package/dist-server/controllers/tiktok/apis/get-store-product-attributes.js +30 -0
  51. package/dist-server/controllers/tiktok/apis/get-store-product-attributes.js.map +1 -0
  52. package/dist-server/controllers/tiktok/apis/get-store-product-categories.js +28 -0
  53. package/dist-server/controllers/tiktok/apis/get-store-product-categories.js.map +1 -0
  54. package/dist-server/controllers/tiktok/apis/get-store-product.js +91 -0
  55. package/dist-server/controllers/tiktok/apis/get-store-product.js.map +1 -0
  56. package/dist-server/controllers/tiktok/apis/get-store-products.js +36 -0
  57. package/dist-server/controllers/tiktok/apis/get-store-products.js.map +1 -0
  58. package/dist-server/controllers/tiktok/apis/index.js +30 -0
  59. package/dist-server/controllers/tiktok/apis/index.js.map +1 -0
  60. package/dist-server/controllers/tiktok/apis/update-order-status.js +28 -0
  61. package/dist-server/controllers/tiktok/apis/update-order-status.js.map +1 -0
  62. package/dist-server/controllers/tiktok/apis/update-store-product-variation-price.js +28 -0
  63. package/dist-server/controllers/tiktok/apis/update-store-product-variation-price.js.map +1 -0
  64. package/dist-server/controllers/tiktok/apis/update-store-product-variation-stock.js +32 -0
  65. package/dist-server/controllers/tiktok/apis/update-store-product-variation-stock.js.map +1 -0
  66. package/dist-server/controllers/tiktok/client/index.js +19 -0
  67. package/dist-server/controllers/tiktok/client/index.js.map +1 -0
  68. package/dist-server/controllers/tiktok/client/signature.js +63 -0
  69. package/dist-server/controllers/tiktok/client/signature.js.map +1 -0
  70. package/dist-server/controllers/tiktok/client/tiktok.js +113 -0
  71. package/dist-server/controllers/tiktok/client/tiktok.js.map +1 -0
  72. package/dist-server/controllers/tiktok/client/types.js +3 -0
  73. package/dist-server/controllers/tiktok/client/types.js.map +1 -0
  74. package/dist-server/controllers/tiktok/index.js +34 -0
  75. package/dist-server/controllers/tiktok/index.js.map +1 -0
  76. package/dist-server/controllers/tiktok/platform-action.js +50 -0
  77. package/dist-server/controllers/tiktok/platform-action.js.map +1 -0
  78. package/dist-server/controllers/woocommerce/apis/get-customer-info.js +22 -0
  79. package/dist-server/controllers/woocommerce/apis/get-customer-info.js.map +1 -0
  80. package/dist-server/controllers/woocommerce/apis/get-store-orders.js +23 -3
  81. package/dist-server/controllers/woocommerce/apis/get-store-orders.js.map +1 -1
  82. package/dist-server/controllers/woocommerce/apis/get-store-products.js +48 -6
  83. package/dist-server/controllers/woocommerce/apis/get-store-products.js.map +1 -1
  84. package/dist-server/controllers/woocommerce/apis/index.js +1 -0
  85. package/dist-server/controllers/woocommerce/apis/index.js.map +1 -1
  86. package/dist-server/controllers/woocommerce/apis/update-order-status.js +17 -15
  87. package/dist-server/controllers/woocommerce/apis/update-order-status.js.map +1 -1
  88. package/dist-server/controllers/woocommerce/apis/update-product-attribute.js +4 -3
  89. package/dist-server/controllers/woocommerce/apis/update-product-attribute.js.map +1 -1
  90. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-price.js +1 -1
  91. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-price.js.map +1 -1
  92. package/dist-server/entities/marketplace-store.js +4 -0
  93. package/dist-server/entities/marketplace-store.js.map +1 -1
  94. package/dist-server/graphql/types/marketplace-store/marketplace-store-patch.js +1 -0
  95. package/dist-server/graphql/types/marketplace-store/marketplace-store-patch.js.map +1 -1
  96. package/dist-server/graphql/types/marketplace-store/marketplace-store.js +1 -0
  97. package/dist-server/graphql/types/marketplace-store/marketplace-store.js.map +1 -1
  98. package/dist-server/graphql/types/marketplace-store/new-marketplace-store.js +1 -0
  99. package/dist-server/graphql/types/marketplace-store/new-marketplace-store.js.map +1 -1
  100. package/package.json +15 -15
  101. package/server/controllers/index.ts +1 -0
  102. package/server/controllers/magento/apis/get-store-order.ts +15 -0
  103. package/server/controllers/magento/apis/get-store-orders.ts +36 -4
  104. package/server/controllers/magento/apis/get-store-product-categories.ts +43 -0
  105. package/server/controllers/magento/apis/get-store-products.ts +35 -11
  106. package/server/controllers/magento/apis/get-store-stock-item.ts +1 -1
  107. package/server/controllers/magento/apis/index.ts +5 -0
  108. package/server/controllers/magento/apis/update-order-status.ts +81 -0
  109. package/server/controllers/magento/apis/update-store-product-price.ts +24 -0
  110. package/server/controllers/magento/apis/update-store-product-stock.ts +1 -1
  111. package/server/controllers/magento/apis/update-store-product-variation-price.ts +24 -0
  112. package/server/controllers/magento/apis/update-store-product-variation-stock.ts +1 -1
  113. package/server/controllers/magento/magento.ts +5 -4
  114. package/server/controllers/magento/platform-action.ts +1 -0
  115. package/server/controllers/shopee/apis/get-store-order.ts +8 -2
  116. package/server/controllers/shopify/apis/get-store-orders.ts +2 -2
  117. package/server/controllers/shopify/apis/set-store-order-status-ready-to-ship.ts +3 -2
  118. package/server/controllers/store-api/index.ts +9 -0
  119. package/server/controllers/tiktok/apis/echo.ts +14 -0
  120. package/server/controllers/tiktok/apis/get-store-order-document.ts +26 -0
  121. package/server/controllers/tiktok/apis/get-store-order-package.ts +46 -0
  122. package/server/controllers/tiktok/apis/get-store-order-packages.ts +43 -0
  123. package/server/controllers/tiktok/apis/get-store-order.ts +171 -0
  124. package/server/controllers/tiktok/apis/get-store-orders.ts +53 -0
  125. package/server/controllers/tiktok/apis/get-store-product-attributes.ts +29 -0
  126. package/server/controllers/tiktok/apis/get-store-product-categories.ts +27 -0
  127. package/server/controllers/tiktok/apis/get-store-product.ts +95 -0
  128. package/server/controllers/tiktok/apis/get-store-products.ts +38 -0
  129. package/server/controllers/tiktok/apis/index.ts +13 -0
  130. package/server/controllers/tiktok/apis/update-order-status.ts +24 -0
  131. package/server/controllers/tiktok/apis/update-store-product-variation-price.ts +24 -0
  132. package/server/controllers/tiktok/apis/update-store-product-variation-stock.ts +28 -0
  133. package/server/controllers/tiktok/client/index.ts +2 -0
  134. package/server/controllers/tiktok/client/signature.ts +78 -0
  135. package/server/controllers/tiktok/client/tiktok.ts +153 -0
  136. package/server/controllers/tiktok/client/types.ts +20 -0
  137. package/server/controllers/tiktok/index.ts +8 -0
  138. package/server/controllers/tiktok/platform-action.ts +54 -0
  139. package/server/controllers/woocommerce/apis/get-customer-info.ts +18 -0
  140. package/server/controllers/woocommerce/apis/get-store-orders.ts +35 -3
  141. package/server/controllers/woocommerce/apis/get-store-products.ts +49 -7
  142. package/server/controllers/woocommerce/apis/index.ts +1 -0
  143. package/server/controllers/woocommerce/apis/update-order-status.ts +18 -14
  144. package/server/controllers/woocommerce/apis/update-product-attribute.ts +6 -3
  145. package/server/controllers/woocommerce/apis/update-store-product-variation-price.ts +1 -1
  146. package/server/entities/marketplace-store.ts +3 -0
  147. package/server/graphql/types/marketplace-store/marketplace-store-patch.ts +1 -0
  148. package/server/graphql/types/marketplace-store/marketplace-store.ts +1 -0
  149. package/server/graphql/types/marketplace-store/new-marketplace-store.ts +1 -0
@@ -21,6 +21,8 @@ export function getStoreProducts() {
21
21
  // return res.products
22
22
  let { items, total_count } = res
23
23
 
24
+ let parentLinkList = items.map(e => {return {id: e.id, children: e.extension_attributes.configurable_product_links}})?.filter(e => e.children)
25
+
24
26
  let activeMarketplaceDistributors: any[] = []
25
27
  if (store?.marketplaceDistributors) {
26
28
  activeMarketplaceDistributors = store.marketplaceDistributors.filter(
@@ -32,17 +34,21 @@ export function getStoreProducts() {
32
34
 
33
35
  for (var i = 0; i < items.length; i++) {
34
36
  const product: any = items[i]
35
- const stockItems: any[] = await StoreAPI.getStoreStockItem(store, {
36
- sku: product.sku,
37
- distributors: activeMarketplaceDistributors
38
- })
39
37
 
40
38
  let totalProductQty: number = 0
41
- stockItems.map(stockItem => {
42
- if (stockItem.sku === product.sku) {
43
- totalProductQty += stockItem.qty
44
- }
45
- })
39
+
40
+ try {
41
+ const stockItems: any[] = await StoreAPI.getStoreStockItem(store, {
42
+ sku: product.sku,
43
+ distributors: activeMarketplaceDistributors
44
+ })
45
+
46
+ stockItems.map(stockItem => {
47
+ if (stockItem.sku === product.sku) {
48
+ totalProductQty += stockItem.qty
49
+ }
50
+ })
51
+ } catch (e) {}
46
52
  const productVariations: any[] = await StoreAPI.getStoreProductVariations(store, { sku: product.sku })
47
53
 
48
54
  const result = {
@@ -52,6 +58,14 @@ export function getStoreProducts() {
52
58
  type: product.type_id,
53
59
  hasVariation: false,
54
60
  attributes: [],
61
+ images: product?.custom_attributes?.find(att => att.attribute_code == 'image')?.value
62
+ ? [
63
+ `${store.storeURL}pub/media/catalog/product${
64
+ product?.custom_attributes?.find(att => att.attribute_code == 'image')?.value
65
+ }`
66
+ ]
67
+ : [],
68
+ categoryId: product?.custom_attributes?.find(att => att.attribute_code == 'category_ids').value[0],
55
69
  variations:
56
70
  productVariations.length > 0
57
71
  ? productVariations.map(variant => {
@@ -82,7 +96,17 @@ export function getStoreProducts() {
82
96
  sellPrice: product.price,
83
97
  marketplaceStatus: product.status,
84
98
  primaryUnit: 'lbs',
85
- primaryUnitValue: product.weight
99
+ primaryUnitValue: product.weight,
100
+ length:
101
+ product?.custom_attributes?.find(att => att.attribute_code == 'ts_dimensions_length')?.value *
102
+ 25.4 || 0,
103
+ width:
104
+ product?.custom_attributes?.find(att => att.attribute_code == 'ts_dimensions_width')?.value *
105
+ 25.4 || 0,
106
+ height:
107
+ product?.custom_attributes?.find(att => att.attribute_code == 'ts_dimensions_height')?.value *
108
+ 25.4 || 0,
109
+ weight: product.weight * 453.59237 || 0
86
110
  }
87
111
  ]
88
112
  }
@@ -90,7 +114,7 @@ export function getStoreProducts() {
90
114
  results.push({ ...result })
91
115
  }
92
116
 
93
- return { results, total: total_count }
117
+ return { results, total: total_count, parentLinkList }
94
118
  }
95
119
  }
96
120
  }
@@ -19,7 +19,7 @@ export function getStoreStockItem() {
19
19
  }
20
20
  ]
21
21
 
22
- if (distributors) {
22
+ if (distributors.length > 0) {
23
23
  const distributorsArr = distributors.map(distributor => distributor.name)
24
24
 
25
25
  filterGroups.push({
@@ -9,3 +9,8 @@ export * from './create-order-refund'
9
9
  export * from './create-order-ship'
10
10
  export * from './update-store-product-stock'
11
11
  export * from './update-store-product-variation-stock'
12
+ export * from './get-store-product-categories'
13
+ export * from './update-order-status'
14
+ export * from './get-store-order'
15
+ export * from './update-store-product-price'
16
+ export * from './update-store-product-variation-price'
@@ -0,0 +1,81 @@
1
+ import { StoreAPI } from '../../store-api'
2
+
3
+ export function updateOrderStatus() {
4
+ return {
5
+ method: 'post',
6
+ path: '/{subpath}',
7
+ denormalize(req) {
8
+ let { orderId, status, trackingNo, carrier, orderItems, isSOF } = req
9
+ let pr: any
10
+ if (status == 'READY_TO_SHIP') {
11
+ pr = {
12
+ resource: {
13
+ subpath: `order/${orderId}/ship`
14
+ },
15
+ payload: {
16
+ items: unmapOrderItems(orderItems),
17
+ tracks: isSOF && trackingNo ? [
18
+ {
19
+ carrier_code: carrier,
20
+ track_number: trackingNo,
21
+ title: carrier
22
+ }
23
+ ] : [],
24
+ arguments: {
25
+ extension_attributes: {
26
+ source_code: 'default'
27
+ }
28
+ }
29
+ }
30
+ }
31
+ } else if (status == 'DELIVERED') {
32
+ pr = {
33
+ resource: {
34
+ subpath: `order/${orderId}/invoice`
35
+ }
36
+ }
37
+ } else if (status == 'REFUND_COMPLETE') {
38
+ pr = {
39
+ resource: {
40
+ subpath: `order/${orderId}/refund`
41
+ }
42
+ }
43
+ } else if (status == 'CANCELLED') {
44
+ pr = {
45
+ resource: {
46
+ subpath: `orders/${orderId}/cancel`
47
+ }
48
+ }
49
+ }
50
+ return pr
51
+ },
52
+ normalize(res) {
53
+ return res
54
+ }
55
+ }
56
+ }
57
+
58
+ function unmapOrderItems(orderItems) {
59
+ let itemsList = []
60
+ let res = orderItems.map(e => {
61
+ return e.split('-')[0]
62
+ })
63
+
64
+ for (let item of res) {
65
+ let count = 0
66
+
67
+ res.forEach(element => {
68
+ if (element === item) {
69
+ count += 1
70
+ }
71
+ })
72
+
73
+ itemsList.push({
74
+ order_item_id: item,
75
+ qty: count
76
+ })
77
+ }
78
+
79
+ itemsList = itemsList.filter((value, index, self) => index === self.findIndex(t => t.order_item_id === value.order_item_id))
80
+ return itemsList
81
+ }
@@ -0,0 +1,24 @@
1
+ export function updateStoreProductPrice() {
2
+ return {
3
+ path: '/products/base-prices',
4
+ method: 'post',
5
+ denormalize(req) {
6
+ let { sellPrice, variationSku } = req
7
+
8
+ return {
9
+ payload: {
10
+ prices: [
11
+ {
12
+ price: sellPrice,
13
+ sku: variationSku,
14
+ store_id: 0
15
+ }
16
+ ]
17
+ }
18
+ }
19
+ },
20
+ normalize(res) {
21
+ return res
22
+ }
23
+ }
24
+ }
@@ -6,7 +6,7 @@ export function updateStoreProductStock() {
6
6
  method: 'post',
7
7
  path: '/inventory/source-items',
8
8
  denormalize(req) {
9
- const { variationSku, qty, distributors } = req[0]
9
+ const { variationSku, qty, distributors } = (Array.isArray(req) ? req[0] : req) || {}
10
10
 
11
11
  let sourceItems: any[] = []
12
12
 
@@ -0,0 +1,24 @@
1
+ export function updateStoreProductVariationPrice() {
2
+ return {
3
+ path: '/products/base-prices',
4
+ method: 'post',
5
+ denormalize(req) {
6
+ let { sellPrice, variationSku } = req
7
+
8
+ return {
9
+ payload: {
10
+ prices: [
11
+ {
12
+ price: sellPrice,
13
+ sku: variationSku,
14
+ store_id: 0
15
+ }
16
+ ]
17
+ }
18
+ }
19
+ },
20
+ normalize(res) {
21
+ return res
22
+ }
23
+ }
24
+ }
@@ -6,7 +6,7 @@ export function updateStoreProductVariationStock() {
6
6
  method: 'post',
7
7
  path: '/inventory/source-items',
8
8
  denormalize(req) {
9
- const { variationSku, qty, distributors } = req[0]
9
+ const { variationSku, qty, distributors } = (Array.isArray(req) ? req[0] : req) || {}
10
10
 
11
11
  let sourceItems: any[] = []
12
12
 
@@ -11,6 +11,7 @@ export type MagentoConfig = {
11
11
  oauthConsumerKey: string
12
12
  oauthConsumerSecret: string
13
13
  shop: string
14
+ storeId?: string
14
15
  accessToken?: string
15
16
  }
16
17
 
@@ -154,11 +155,11 @@ export class Magento {
154
155
  }
155
156
 
156
157
  async get(path: string, data: any) {
157
- const { shop, accessToken } = this.config
158
+ const { shop, accessToken, storeId } = this.config
158
159
 
159
160
  const qs = this.objectToMultiarray(data)
160
161
 
161
- const endpoint = `${shop}/rest/V1${path}${qs ? '?' + qs : ''}`
162
+ const endpoint = `${shop}/rest${storeId ? `/${storeId}` : ''}/V1${path}${qs ? '?' + qs : ''}`
162
163
  debug('endpoint', endpoint)
163
164
 
164
165
  const response = await fetch(endpoint, {
@@ -176,13 +177,13 @@ export class Magento {
176
177
  }
177
178
 
178
179
  async post(path: string, data: any = {}) {
179
- const { shop, accessToken } = this.config
180
+ const { shop, accessToken, storeId } = this.config
180
181
 
181
182
  debug('data', data)
182
183
 
183
184
  const jsondata = JSON.stringify(data)
184
185
 
185
- const endpoint = `${shop}/rest/V1${path}`
186
+ const endpoint = `${shop}/rest${storeId ? `/${storeId}` : ''}/V1${path}`
186
187
 
187
188
  const response = await fetch(endpoint, {
188
189
  method: 'post',
@@ -27,6 +27,7 @@ export const action = async ({ store, method = 'get', path, request }) => {
27
27
  oauthConsumerKey,
28
28
  oauthConsumerSecret,
29
29
  shop: store.storeURL,
30
+ storeId: store.storeId,
30
31
  accessToken: store.accessToken
31
32
  })
32
33
 
@@ -78,6 +78,8 @@ export function getStoreOrder() {
78
78
 
79
79
  const { full_address, zipcode: postCode, phone, country, city, name: attentionTo, state } = recipient_address
80
80
 
81
+ let shippingFeeFloat = parseFloat(shippingFee)
82
+ let actualShippingFeeFloat = parseFloat(actualShippingFee)
81
83
  var orderShipping = {
82
84
  address1: full_address,
83
85
  address2: null,
@@ -94,8 +96,12 @@ export function getStoreOrder() {
94
96
  attentionTo,
95
97
  trackingNo,
96
98
  transporter: shippingProvider,
97
- shippingFee: parseFloat(shippingFee) || null,
98
- actualShippingFee: parseFloat(actualShippingFee) || null
99
+ shippingFee: !isNaN(shippingFeeFloat) ? shippingFeeFloat : null,
100
+ actualShippingFee: !isNaN(order.is_actual_shipping_fee_confirmed ? actualShippingFeeFloat : shippingFeeFloat)
101
+ ? order.is_actual_shipping_fee_confirmed
102
+ ? actualShippingFeeFloat
103
+ : shippingFeeFloat
104
+ : null
99
105
  }
100
106
 
101
107
  let escrowDetails = await StoreAPI.getStoreOrderTransactionDetails(store, { orderNo })
@@ -62,7 +62,7 @@ export function getStoreOrders() {
62
62
  orderCreatedAt: new Date(order.created_at).toUTCString(),
63
63
  orderUpdatedAt: new Date(order.updated_at).toUTCString(),
64
64
  discountValue: order.total_discounts,
65
- status: orderStatus,
65
+ status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,
66
66
  trackingNo: fulfillment.tracking_number,
67
67
  shippingProvider: fulfillment.tracking_company,
68
68
  recipientAddress:
@@ -152,7 +152,7 @@ export function getStoreOrders() {
152
152
  orderUpdatedAt: new Date(order.updated_at).toUTCString(),
153
153
  discountValue: order.total_discounts,
154
154
  recipientAddress: order.billing_address,
155
- status: orderStatus,
155
+ status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,
156
156
  reason: order.cancel_reason,
157
157
  orderItems: lineItems
158
158
  }
@@ -5,7 +5,7 @@ export function setStoreOrderStatusReadyToShip() {
5
5
  method: 'post',
6
6
  path: '/orders/{orderId}/fulfillments.json',
7
7
  denormalize(req) {
8
- const { orderId, trackingUrl, trackingNo, orderItemId, order } = req || {}
8
+ const { orderId, trackingUrl, trackingNo, orderItemId, order, transporter } = req || {}
9
9
 
10
10
  let locationId = JSON.parse(order.marketplaceOrderItems[0].marketplaceProductVariation.locationId)[0].location_id
11
11
 
@@ -15,7 +15,8 @@ export function setStoreOrderStatusReadyToShip() {
15
15
  location_id: locationId,
16
16
  tracking_number: trackingNo,
17
17
  tracking_urls: [trackingUrl],
18
- notify_customer: true
18
+ notify_customer: true,
19
+ tracking_company: transporter
19
20
  }
20
21
  },
21
22
  resource: {
@@ -66,6 +66,12 @@ export class StoreAPI {
66
66
  @api
67
67
  static getStoreOrder(store, req): any {}
68
68
 
69
+ @api
70
+ static getStoreOrderPackages(store, req): any {}
71
+
72
+ @api
73
+ static getStoreOrderPackage(store, req): any {}
74
+
69
75
  @api
70
76
  static getStoreOrderItems(store, req): any {}
71
77
 
@@ -180,6 +186,9 @@ export class StoreAPI {
180
186
  @api
181
187
  static updateStoreProductPrice(store, req): any {}
182
188
 
189
+ @api
190
+ static getCustomerInfo(store, req): any {}
191
+
183
192
  @api
184
193
  static getStoreOrderPayoutDates(store, req): any {}
185
194
  }
@@ -0,0 +1,14 @@
1
+ export function echo() {
2
+ return {
3
+ path: '/echo',
4
+ denormalize(req) {
5
+ return { ...req }
6
+ },
7
+ normalize(res) {
8
+ return { ...res }
9
+ },
10
+ action({ store, method, path, request, platformAction }) {
11
+ return { ...request }
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,26 @@
1
+ /* https://bytedance.feishu.cn/docs/doccnDyz5Bbk26iOdejbBRBlLrb#ytBXoS */
2
+
3
+ export function getStoreOrderDocument() {
4
+ return {
5
+ method: 'get',
6
+ path: '/api/fulfillment/shipping_document',
7
+ denormalize(req) {
8
+ var { packageId, documentType } = req || {}
9
+
10
+ return { payload: { package_id: packageId, document_type: documentType } }
11
+ },
12
+ async normalize(res) {
13
+ const { data } = res
14
+
15
+ let result: any[] = [
16
+ {
17
+ file: data.doc_url,
18
+ fileTypeValue: 'AWB',
19
+ mimeType: 'application/pdf'
20
+ }
21
+ ]
22
+
23
+ return result
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,46 @@
1
+ /* https://bytedance.feishu.cn/docs/doccnDyz5Bbk26iOdejbBRBlLrb#ytBXoS */
2
+
3
+ export function getStoreOrderPackage() {
4
+ return {
5
+ method: 'get',
6
+ path: '/api/fulfillment/detail',
7
+ denormalize(req) {
8
+ var { packageId } = req || {}
9
+
10
+ return { payload: { package_id: packageId } }
11
+ },
12
+ async normalize(res) {
13
+ const { data } = res
14
+
15
+ let result: any = {
16
+ packageId: data.package_id,
17
+ orderInfoList: data.order_info_list.map(itm => {
18
+ return {
19
+ orderId: itm.order_id,
20
+ skuList: itm.sku_list.map(sku => {
21
+ return {
22
+ skuId: sku.sku_id,
23
+ skuName: sku.sku_name,
24
+ skuImage: sku.sku_image,
25
+ quantity: sku.quantity
26
+ }
27
+ })
28
+ }
29
+ }),
30
+ packageStatus: data.package_status,
31
+ deliveryOption: data.delivery_option,
32
+ shippingProvider: data.shipping_provider,
33
+ shippingProviderId: data.shipping_provider_id,
34
+ trackingNumber: data.tracking_number,
35
+ orderListIdList: data.order_line_id_list,
36
+ pickUpType: data.pick_up_type,
37
+ pickUpStartTime: data.pick_up_start_time,
38
+ pickupEndTime: data.pick_up_end_time,
39
+ createTime: data.create_time,
40
+ updateTime: data.update_time
41
+ }
42
+
43
+ return result
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,43 @@
1
+ /* https://bytedance.feishu.cn/wiki/wikcntMLczW460imZUfYqaa1Dng#jIY8hJ */
2
+
3
+ import { StoreAPI } from '../../store-api'
4
+
5
+ export function getStoreOrderPackages() {
6
+ return {
7
+ method: 'post',
8
+ path: '/api/fulfillment/search',
9
+ denormalize(req) {
10
+ var { pagination, fromDate, toDate, nextCursor } = req || {}
11
+ var { page, limit } = pagination || { page: 0, limit: 100 }
12
+
13
+ var create_time_from = Math.floor(new Date(fromDate).getTime() / 1000)
14
+ var create_time_to = Math.floor(new Date(toDate).getTime() / 1000)
15
+
16
+ var payload = {
17
+ page_size: limit,
18
+ cursor: nextCursor,
19
+ create_time_from,
20
+ create_time_to
21
+ }
22
+
23
+ return { payload }
24
+ },
25
+ async normalize(res, { store }) {
26
+ const { data } = res
27
+
28
+ var more: boolean = data?.more || false
29
+ var nextCursor: string = more ? data.next_cursor : null
30
+ const packageList: any[] = data?.package_list || []
31
+
32
+ let results: any[] = []
33
+ for (let i = 0; i < packageList.length; i++) {
34
+ const packageObj: any = packageList[i]
35
+ const packageDetail: any = await StoreAPI.getStoreOrderPackage(store, { packageId: packageObj.package_id })
36
+
37
+ results.push({ ...packageDetail })
38
+ }
39
+
40
+ return { results, more, nextCursor }
41
+ }
42
+ }
43
+ }