@things-factory/integration-marketplace 3.7.8 → 3.8.3

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 (79) hide show
  1. package/dist-server/controllers/lazada/apis/get-store-order-item-transaction-details.js +88 -0
  2. package/dist-server/controllers/lazada/apis/get-store-order-item-transaction-details.js.map +1 -0
  3. package/dist-server/controllers/lazada/apis/get-store-order-items.js +39 -7
  4. package/dist-server/controllers/lazada/apis/get-store-order-items.js.map +1 -1
  5. package/dist-server/controllers/lazada/apis/get-store-order.js +1 -0
  6. package/dist-server/controllers/lazada/apis/get-store-order.js.map +1 -1
  7. package/dist-server/controllers/lazada/apis/get-store-orders.js +2 -1
  8. package/dist-server/controllers/lazada/apis/get-store-orders.js.map +1 -1
  9. package/dist-server/controllers/lazada/apis/index.js +1 -1
  10. package/dist-server/controllers/lazada/apis/index.js.map +1 -1
  11. package/dist-server/controllers/lazada/client/lazada.js +24 -4
  12. package/dist-server/controllers/lazada/client/lazada.js.map +1 -1
  13. package/dist-server/controllers/lazada/platform-action.js +18 -3
  14. package/dist-server/controllers/lazada/platform-action.js.map +1 -1
  15. package/dist-server/controllers/shopee/apis/get-store-order-transaction-details.js +32 -0
  16. package/dist-server/controllers/shopee/apis/get-store-order-transaction-details.js.map +1 -0
  17. package/dist-server/controllers/shopee/apis/get-store-order.js +11 -10
  18. package/dist-server/controllers/shopee/apis/get-store-order.js.map +1 -1
  19. package/dist-server/controllers/shopee/apis/index.js +1 -0
  20. package/dist-server/controllers/shopee/apis/index.js.map +1 -1
  21. package/dist-server/controllers/shopify/apis/get-store-orders.js +46 -8
  22. package/dist-server/controllers/shopify/apis/get-store-orders.js.map +1 -1
  23. package/dist-server/controllers/shopify/apis/get-store-products.js +2 -1
  24. package/dist-server/controllers/shopify/apis/get-store-products.js.map +1 -1
  25. package/dist-server/controllers/store-api/index.js +42 -0
  26. package/dist-server/controllers/store-api/index.js.map +1 -1
  27. package/dist-server/controllers/woocommerce/apis/get-store-order.js +21 -0
  28. package/dist-server/controllers/woocommerce/apis/get-store-order.js.map +1 -0
  29. package/dist-server/controllers/woocommerce/apis/get-store-product-categories.js +8 -44
  30. package/dist-server/controllers/woocommerce/apis/get-store-product-categories.js.map +1 -1
  31. package/dist-server/controllers/woocommerce/apis/index.js +10 -0
  32. package/dist-server/controllers/woocommerce/apis/index.js.map +1 -1
  33. package/dist-server/controllers/woocommerce/apis/update-order.js +37 -0
  34. package/dist-server/controllers/woocommerce/apis/update-order.js.map +1 -0
  35. package/dist-server/controllers/woocommerce/apis/update-product-attribute.js +20 -0
  36. package/dist-server/controllers/woocommerce/apis/update-product-attribute.js.map +1 -0
  37. package/dist-server/controllers/woocommerce/apis/update-store-product-price.js +23 -0
  38. package/dist-server/controllers/woocommerce/apis/update-store-product-price.js.map +1 -0
  39. package/dist-server/controllers/woocommerce/apis/update-store-product-stock.js +2 -2
  40. package/dist-server/controllers/woocommerce/apis/update-store-product-stock.js.map +1 -1
  41. package/dist-server/controllers/woocommerce/apis/update-store-product-variant-price.js +20 -0
  42. package/dist-server/controllers/woocommerce/apis/update-store-product-variant-price.js.map +1 -0
  43. package/dist-server/controllers/woocommerce/apis/update-store-product-variant-stock.js +20 -0
  44. package/dist-server/controllers/woocommerce/apis/update-store-product-variant-stock.js.map +1 -0
  45. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-price.js +23 -0
  46. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-price.js.map +1 -0
  47. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-stock.js +3 -3
  48. package/dist-server/controllers/woocommerce/apis/update-store-product-variation-stock.js.map +1 -1
  49. package/dist-server/controllers/woocommerce/woocommerce.js +2 -2
  50. package/dist-server/controllers/woocommerce/woocommerce.js.map +1 -1
  51. package/package.json +14 -14
  52. package/server/controllers/lazada/apis/get-store-order-item-transaction-details.ts +65 -0
  53. package/server/controllers/lazada/apis/get-store-order-items.ts +74 -6
  54. package/server/controllers/lazada/apis/get-store-order.ts +1 -0
  55. package/server/controllers/lazada/apis/get-store-orders.ts +2 -1
  56. package/server/controllers/lazada/apis/index.ts +1 -1
  57. package/server/controllers/lazada/client/lazada.ts +42 -12
  58. package/server/controllers/lazada/platform-action.ts +20 -1
  59. package/server/controllers/shopee/apis/get-store-order-transaction-details.ts +29 -0
  60. package/server/controllers/shopee/apis/get-store-order.ts +13 -7
  61. package/server/controllers/shopee/apis/index.ts +2 -1
  62. package/server/controllers/shopify/apis/get-store-orders.ts +49 -9
  63. package/server/controllers/shopify/apis/get-store-products.ts +3 -1
  64. package/server/controllers/store-api/index.ts +21 -2
  65. package/server/controllers/woocommerce/apis/get-store-order.ts +17 -0
  66. package/server/controllers/woocommerce/apis/get-store-product-categories.ts +6 -48
  67. package/server/controllers/woocommerce/apis/index.ts +10 -0
  68. package/server/controllers/woocommerce/apis/update-order.ts +36 -0
  69. package/server/controllers/woocommerce/apis/update-product-attribute.ts +17 -0
  70. package/server/controllers/woocommerce/apis/update-store-product-price.ts +20 -0
  71. package/server/controllers/woocommerce/apis/update-store-product-stock.ts +2 -2
  72. package/server/controllers/woocommerce/apis/update-store-product-variant-price.ts +17 -0
  73. package/server/controllers/woocommerce/apis/update-store-product-variant-stock.ts +18 -0
  74. package/server/controllers/woocommerce/apis/update-store-product-variation-price.ts +20 -0
  75. package/server/controllers/woocommerce/apis/update-store-product-variation-stock.ts +3 -3
  76. package/server/controllers/woocommerce/woocommerce.ts +2 -2
  77. package/dist-server/controllers/lazada/apis/get-store-order-item-payment-fee.js +0 -35
  78. package/dist-server/controllers/lazada/apis/get-store-order-item-payment-fee.js.map +0 -1
  79. package/server/controllers/lazada/apis/get-store-order-item-payment-fee.ts +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"update-store-product-variation-stock.js","sourceRoot":"","sources":["../../../../server/controllers/woocommerce/apis/update-store-product-variation-stock.ts"],"names":[],"mappings":";AAAA,0FAA0F;AAC1F,0DAA0D;;;AAE1D,SAAgB,gCAAgC,CAAC,GAAG;IAClD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,6CAA6C;QACnD,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAE/C,OAAO;gBACL,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC1E,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;aACrD,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAC,KAAK,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAhBD,4EAgBC"}
1
+ {"version":3,"file":"update-store-product-variation-stock.js","sourceRoot":"","sources":["../../../../server/controllers/woocommerce/apis/update-store-product-variation-stock.ts"],"names":[],"mappings":";AAAA,oGAAoG;AACpG,0DAA0D;;;AAE1D,SAAgB,gCAAgC,CAAC,GAAG;IAClD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,6CAA6C;QACnD,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAE5C,OAAO;gBACL,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC1E,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;aACrD,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAhBD,4EAgBC"}
@@ -16,11 +16,11 @@ class Woocommerce {
16
16
  * X-WP-Total is to get the total items from the response
17
17
  */
18
18
  async get(path, data) {
19
- const { consumer_key, consumer_secret, storeURL } = this.config;
19
+ const { consumer_key, consumer_secret, storeURL, queryStringAuth } = this.config;
20
20
  const qs = Object.entries(data)
21
21
  .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
22
22
  .join('&');
23
- const endpoint = `${storeURL}/wp-json/wc/v3${path}?consumer_key=${consumer_key}&consumer_secret=${consumer_secret}${qs ? '&' + qs : ''}`;
23
+ const endpoint = `${storeURL}/wp-json/wc/v3${path}?consumer_key=${consumer_key}&consumer_secret=${consumer_secret}&query_string_auth=${queryStringAuth}&${qs ? '&' + qs : ''}`;
24
24
  debug('endpoint', endpoint);
25
25
  const response = await (0, node_fetch_1.default)(endpoint, {
26
26
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"woocommerce.js","sourceRoot":"","sources":["../../../server/controllers/woocommerce/woocommerce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woocommerce.js","sourceRoot":"","sources":["../../../server/controllers/woocommerce/woocommerce.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-marketplace",
3
- "version": "3.7.8",
3
+ "version": "3.8.3",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -25,19 +25,19 @@
25
25
  "test": "DEBUG=things-factory:* NODE_ENV=development npx mocha -r ts-node/register ./test/**/*spec.ts"
26
26
  },
27
27
  "dependencies": {
28
- "@things-factory/apptool-ui": "^3.7.5",
29
- "@things-factory/auth-ui": "^3.7.7",
30
- "@things-factory/biz-base": "^3.7.5",
31
- "@things-factory/code-ui": "^3.7.5",
32
- "@things-factory/context-ui": "^3.7.5",
28
+ "@things-factory/apptool-ui": "^3.8.0",
29
+ "@things-factory/auth-ui": "^3.8.0",
30
+ "@things-factory/biz-base": "^3.8.0",
31
+ "@things-factory/code-ui": "^3.8.0",
32
+ "@things-factory/context-ui": "^3.8.0",
33
33
  "@things-factory/grist-ui": "^3.7.5",
34
- "@things-factory/i18n-ui": "^3.7.5",
35
- "@things-factory/integration-lmd": "^3.7.7",
36
- "@things-factory/integration-ui": "^3.7.5",
37
- "@things-factory/more-ui": "^3.7.5",
38
- "@things-factory/resource-ui": "^3.7.7",
39
- "@things-factory/setting-ui": "^3.7.5",
40
- "@things-factory/system-ui": "^3.7.5",
34
+ "@things-factory/i18n-ui": "^3.8.0",
35
+ "@things-factory/integration-lmd": "^3.8.0",
36
+ "@things-factory/integration-ui": "^3.8.0",
37
+ "@things-factory/more-ui": "^3.8.0",
38
+ "@things-factory/resource-ui": "^3.8.0",
39
+ "@things-factory/setting-ui": "^3.8.0",
40
+ "@things-factory/system-ui": "^3.8.0",
41
41
  "debug": "^4.1.1",
42
42
  "node-fetch": "^2.6.0",
43
43
  "querystring": "^0.2.1"
@@ -53,5 +53,5 @@
53
53
  "nock": "^13.0.2",
54
54
  "should": "^13.2.3"
55
55
  },
56
- "gitHead": "264acd6ab6f5ded869cbb2fd5cab190167f0739b"
56
+ "gitHead": "b1c118ec9834b1cb4ccf9e85b70623250a8f6745"
57
57
  }
@@ -0,0 +1,65 @@
1
+ /* https://open.lazada.com/doc/api.htm?spm=a2o9m.11193531.0.0.4f406bbetGwYgx#/api?cid=9&path=/finance/transaction/details/get */
2
+
3
+ export function getStoreOrderItemTransactionDetails() {
4
+ return {
5
+ method: 'get',
6
+ path: '/finance/transaction/details/get',
7
+ denormalize(req) {
8
+ var { orderItemId, orderCreatedAt } = req
9
+ let startDate = new Date(orderCreatedAt)
10
+ let endDate = new Date(orderCreatedAt)
11
+ endDate.setDate(endDate.getDate() + 14)
12
+ let currentDate = new Date()
13
+ if (endDate > currentDate) {
14
+ endDate = currentDate
15
+ }
16
+
17
+ return {
18
+ start_time: startDate.toISOString().replace(/T.*/, '').split('-').join('-'),
19
+ end_time: endDate.toISOString().replace(/T.*/, '').split('-').join('-'),
20
+ trade_order_line_id: orderItemId
21
+ }
22
+ },
23
+ normalize(res) {
24
+ let payment_fee = 0
25
+ let commission_fee = 0
26
+ let promotional_charges = 0
27
+ let shipping_fee_paid_by_customer = 0
28
+ let item_price_credit = 0
29
+ let orders_marketplace_fees_total = 0
30
+ let orders_sales_total = 0
31
+ let orders_marketing_fees_total = 0
32
+ let orders_logistics_total = 0
33
+ let promotional_charges_flexi_combo = 0
34
+ let auto_shipping_subsidy_marketplace = 0
35
+
36
+ res.forEach(item => {
37
+ if (item.fee_name == 'Payment Fee') { payment_fee += parseFloat(item.amount) || 0 }
38
+ if (item.fee_name == 'Commission') { commission_fee += parseFloat(item.amount) || 0 }
39
+ if (item.fee_name == 'Item Price Credit') { item_price_credit += parseFloat(item.amount) || 0 }
40
+ if (item.fee_name == 'Promotional Charges Vouchers') { promotional_charges += parseFloat(item.amount) || 0 }
41
+ if (item.fee_name == 'Shipping Fee (Paid By Customer)') { shipping_fee_paid_by_customer += parseFloat(item.amount) || 0 }
42
+ if (item.fee_name == 'Promotional Charges Flexi-Combo') { promotional_charges_flexi_combo += parseFloat(item.amount) || 0 }
43
+ if (item.fee_name == 'Auto. Shipping fee subsidy (by Lazada)') { auto_shipping_subsidy_marketplace += parseFloat(item.amount) || 0 }
44
+
45
+ if (item.transaction_type == 'Orders-Lazada Fees') { orders_marketplace_fees_total += parseFloat(item.amount) || 0 }
46
+ if (item.transaction_type == 'Orders-Sales') { orders_sales_total += parseFloat(item.amount) || 0 }
47
+ if (item.transaction_type == 'Orders-Marketing Fees') { orders_marketing_fees_total += parseFloat(item.amount) || 0 }
48
+ if (item.transaction_type == 'Orders-Logistics') { orders_logistics_total += parseFloat(item.amount) || 0 }
49
+ })
50
+ return {
51
+ payment_fee: Math.trunc(payment_fee * 100) / 100,
52
+ commission_fee: Math.trunc(commission_fee * 100) / 100,
53
+ promotional_charges: Math.trunc(promotional_charges * 100) / 100,
54
+ shipping_fee_paid_by_customer: Math.trunc(shipping_fee_paid_by_customer * 100) / 100,
55
+ item_price_credit: Math.trunc(item_price_credit * 100) / 100,
56
+ orders_marketplace_fees_total: Math.trunc(orders_marketplace_fees_total * 100) / 100,
57
+ orders_sales_total: Math.trunc(orders_sales_total * 100) / 100,
58
+ orders_marketing_fees_total: Math.trunc(orders_marketing_fees_total * 100) / 100,
59
+ orders_logistics_total: Math.trunc(orders_logistics_total * 100) / 100,
60
+ promotional_charges_flexi_combo: Math.trunc(promotional_charges_flexi_combo * 100) / 100,
61
+ auto_shipping_subsidy_marketplace: Math.trunc(auto_shipping_subsidy_marketplace * 100) / 100
62
+ }
63
+ }
64
+ }
65
+ }
@@ -20,8 +20,11 @@ export function getStoreOrderItems() {
20
20
  orderItemId: item.order_item_id,
21
21
  orderCreatedAt: item.created_at
22
22
  }
23
- const paymentFee = await StoreAPI.getStoreOrderItemPaymentFee(store, req)
24
- res[i].payment_fee = paymentFee
23
+ let transactionDetails = await StoreAPI.getStoreOrderItemTransactionDetails(store, req)
24
+ res[i] = {
25
+ ...res[i],
26
+ ...transactionDetails
27
+ }
25
28
  }
26
29
 
27
30
  let results = res
@@ -41,12 +44,28 @@ export function getStoreOrderItems() {
41
44
  paid_price: item.paid_price,
42
45
  item_price: item.item_price,
43
46
  payment_fee: item.payment_fee,
47
+ commission_fee: item.commission_fee,
48
+ promotional_charges: item.promotional_charges,
49
+ shipping_fee_paid_by_customer: item.shipping_fee_paid_by_customer,
50
+ item_price_credit: item.item_price_credit,
51
+ orders_marketplace_fees_total: item.orders_marketplace_fees_total,
52
+ orders_sales_total: item.orders_sales_total,
53
+ orders_marketing_fees_total: item.orders_marketing_fees_total,
54
+ orders_logistics_total: item.orders_logistics_total,
44
55
  qty: 1,
45
56
  shipment_provider: item.shipment_provider,
46
57
  tracking_code: JSON.stringify(
47
58
  item.tracking_code ? [{ order_item_id: item.order_item_id, tracking_code: item.tracking_code }] : []
48
59
  ),
49
- status: item.status
60
+ status: item.status,
61
+ voucher_platform_lpi: item.voucher_platform_lpi,
62
+ voucher_seller_lpi: item.voucher_seller_lpi,
63
+ shipping_fee_discount_platform: item.shipping_fee_discount_platform,
64
+ shipping_fee_discount_seller: item.shipping_fee_discount_seller,
65
+ promotional_charges_flexi_combo: item.promotional_charges_flexi_combo,
66
+ auto_shipping_subsidy_marketplace: item.auto_shipping_subsidy_marketplace,
67
+ shipping_fee_original: item.shipping_fee_original,
68
+ tax_amount: item.tax_amount
50
69
  }
51
70
 
52
71
  newItem.push(data)
@@ -58,12 +77,29 @@ export function getStoreOrderItems() {
58
77
  qty: existingItem.qty + 1,
59
78
  paid_price: item.paid_price + existingItem.paid_price,
60
79
  item_price: item.item_price + existingItem.item_price,
80
+ payment_fee: item.payment_fee + existingItem.payment_fee,
81
+ commission_fee: item.commission_fee + existingItem.commission_fee,
82
+ promotional_charges: item.promotional_charges + existingItem.promotional_charges,
83
+ shipping_fee_paid_by_customer: item.shipping_fee_paid_by_customer + existingItem.shipping_fee_paid_by_customer,
84
+ item_price_credit: item.item_price_credit + existingItem.item_price_credit,
85
+ orders_marketplace_fees_total: item.orders_marketplace_fees_total + existingItem.orders_marketplace_fees_total,
86
+ orders_sales_total: item.orders_sales_total + existingItem.orders_sales_total,
87
+ orders_marketing_fees_total: item.orders_marketing_fees_total + existingItem.orders_marketing_fees_total,
88
+ orders_logistics_total: item.orders_logistics_total + existingItem.orders_logistics_total,
61
89
  tracking_code: item.tracking_code
62
90
  ? JSON.stringify([
63
91
  ...JSON.parse(existingItem.tracking_code),
64
92
  { order_item_id: item.order_item_id, tracking_code: item.tracking_code }
65
93
  ])
66
- : existingItem.tracking_code
94
+ : existingItem.tracking_code,
95
+ voucher_platform_lpi: item.voucher_platform_lpi + existingItem.voucher_platform_lpi,
96
+ voucher_seller_lpi: item.voucher_seller_lpi + existingItem.voucher_seller_lpi,
97
+ shipping_fee_discount_platform: item.shipping_fee_discount_platform + existingItem.shipping_fee_discount_platform,
98
+ shipping_fee_discount_seller: item.shipping_fee_discount_seller + existingItem.shipping_fee_discount_seller,
99
+ promotional_charges_flexi_combo: item.promotional_charges_flexi_combo + existingItem.promotional_charges_flexi_combo,
100
+ auto_shipping_subsidy_marketplace: item.auto_shipping_subsidy_marketplace + existingItem.auto_shipping_subsidy_marketplace,
101
+ shipping_fee_original: item.shipping_fee_original + existingItem.shipping_fee_original,
102
+ tax_amount: item.tax_amount + existingItem.tax_amount
67
103
  }
68
104
  }
69
105
  return newItem
@@ -83,7 +119,23 @@ export function getStoreOrderItems() {
83
119
  tracking_code,
84
120
  status,
85
121
  item_price: originalPrice,
86
- payment_fee: paymentFee
122
+ payment_fee: paymentFee,
123
+ commission_fee: commissionFee,
124
+ promotional_charges: promotionalCharges,
125
+ shipping_fee_paid_by_customer: shippingFeePaidByCustomer,
126
+ item_price_credit: itemPriceCredit,
127
+ orders_marketplace_fees_total: ordersMarketplaceFeesTotal,
128
+ orders_sales_total: ordersSalesTotal,
129
+ orders_marketing_fees_total: ordersMarketingFeesTotal,
130
+ orders_logistics_total: ordersLogisticsTotal,
131
+ voucher_platform_lpi: marketplaceBonus,
132
+ voucher_seller_lpi: marketplaceBonusSeller,
133
+ shipping_fee_discount_platform: shippingFeeDiscountMarketplace,
134
+ shipping_fee_discount_seller: shippingFeeDiscountSeller,
135
+ promotional_charges_flexi_combo: promotionalChargesFlexiCombo,
136
+ auto_shipping_subsidy_marketplace: autoShippingSubsidyMarketplace,
137
+ shipping_fee_original: originalShippingFee,
138
+ tax_amount: taxAmount
87
139
  } = orderItem
88
140
  var trackingNo = tracking_code === '' ? null : tracking_code
89
141
 
@@ -101,7 +153,23 @@ export function getStoreOrderItems() {
101
153
  trackingNo,
102
154
  status,
103
155
  originalPrice,
104
- paymentFee
156
+ paymentFee,
157
+ commissionFee,
158
+ promotionalCharges,
159
+ shippingFeePaidByCustomer,
160
+ itemPriceCredit,
161
+ ordersMarketplaceFeesTotal,
162
+ ordersSalesTotal,
163
+ ordersMarketingFeesTotal,
164
+ ordersLogisticsTotal,
165
+ marketplaceBonus,
166
+ marketplaceBonusSeller,
167
+ shippingFeeDiscountMarketplace,
168
+ shippingFeeDiscountSeller,
169
+ promotionalChargesFlexiCombo,
170
+ autoShippingSubsidyMarketplace,
171
+ originalShippingFee,
172
+ taxAmount
105
173
  }
106
174
  })
107
175
 
@@ -64,6 +64,7 @@ export function getStoreOrder() {
64
64
  phone2,
65
65
  postCode,
66
66
  city,
67
+ state: address3,
67
68
  country: country === 'MY' ? 'Malaysia' : country,
68
69
  attentionTo: `${first_name} ${last_name}`
69
70
  }
@@ -86,10 +86,11 @@ export function getStoreOrders() {
86
86
  address3,
87
87
  address4,
88
88
  address5,
89
- phone,
89
+ phone1: phone,
90
90
  phone2,
91
91
  postCode,
92
92
  city,
93
+ state: address3,
93
94
  country,
94
95
  collectionAmount: shipping_fee,
95
96
  collectionCurrency: currency,
@@ -21,4 +21,4 @@ export * from './update-store-product-stock'
21
21
  export * from './update-store-product-variation-stock'
22
22
  export * from './update-store-product'
23
23
  export * from './get-store-refund-orders'
24
- export * from './get-store-order-item-payment-fee'
24
+ export * from './get-store-order-item-transaction-details'
@@ -1,8 +1,11 @@
1
+ import FormData from 'form-data'
1
2
  import fetch from 'node-fetch'
2
- import { Parameter, Endpoint } from './types'
3
+ import { getRepository } from 'typeorm'
4
+
5
+ import { MarketplaceStore } from '../../../entities'
3
6
  import { makeSystemParameters } from './signature'
7
+ import { Endpoint, Parameter } from './types'
4
8
  import { xmlize } from './xml'
5
- import FormData from 'form-data'
6
9
 
7
10
  export class Lazada {
8
11
  endpoint: string
@@ -38,13 +41,13 @@ export class Lazada {
38
41
  return await response.json()
39
42
  }
40
43
 
41
- async refreshAccessToken(payload: { refresh_token: string }) {
44
+ public static async refreshAccessToken(payload: { refresh_token: string }, appKey, appSecret, storeId) {
42
45
  /* CONFIRM-ME not qualified */
43
46
  const apiPath = '/auth/token/refresh'
44
47
 
45
48
  const body = {
46
49
  ...payload,
47
- ...makeSystemParameters(this.appKey, this.appSecret, apiPath, undefined, payload)
50
+ ...makeSystemParameters(appKey, appSecret, apiPath, undefined, payload)
48
51
  }
49
52
 
50
53
  const response = await fetch(Endpoint.auth + apiPath, {
@@ -55,6 +58,25 @@ export class Lazada {
55
58
  body: JSON.stringify(body)
56
59
  })
57
60
 
61
+ const repository = getRepository(MarketplaceStore)
62
+ const store: MarketplaceStore = await repository.findOne({
63
+ where: { id: storeId }
64
+ })
65
+
66
+ const refreshTokenInfo = await response.json()
67
+ const { access_token, refresh_token } = refreshTokenInfo
68
+
69
+ var patch = {
70
+ accessToken: access_token,
71
+ refreshToken: refresh_token,
72
+ accessInfo: JSON.stringify(refreshTokenInfo, null, 2)
73
+ }
74
+
75
+ await repository.save({
76
+ ...store,
77
+ ...patch
78
+ })
79
+
58
80
  return await response.json()
59
81
  }
60
82
 
@@ -72,6 +94,10 @@ export class Lazada {
72
94
  }
73
95
  })
74
96
 
97
+ if (!response.ok) {
98
+ throw response
99
+ }
100
+
75
101
  return await response.json()
76
102
  }
77
103
 
@@ -80,13 +106,13 @@ export class Lazada {
80
106
  params.payload = xmlize(params.payload)
81
107
  }
82
108
 
83
- const {
84
- app_key,
85
- timestamp,
86
- access_token,
87
- sign_method,
88
- sign
89
- } = makeSystemParameters(this.appKey, this.appSecret, path, accessToken || this.accessToken, params)
109
+ const { app_key, timestamp, access_token, sign_method, sign } = makeSystemParameters(
110
+ this.appKey,
111
+ this.appSecret,
112
+ path,
113
+ accessToken || this.accessToken,
114
+ params
115
+ )
90
116
 
91
117
  const body = new FormData()
92
118
 
@@ -96,7 +122,7 @@ export class Lazada {
96
122
  body.append('sign_method', sign_method)
97
123
  body.append('sign', sign)
98
124
 
99
- for(let key in params) {
125
+ for (let key in params) {
100
126
  body.append(key, params[key])
101
127
  }
102
128
 
@@ -106,6 +132,10 @@ export class Lazada {
106
132
  body
107
133
  })
108
134
 
135
+ if (!response.ok) {
136
+ throw response
137
+ }
138
+
109
139
  return await response.json()
110
140
  }
111
141
  }
@@ -1,10 +1,29 @@
1
+ import { config } from '@things-factory/env'
2
+
1
3
  import { Lazada } from './client'
2
4
 
3
- import { config } from '@things-factory/env'
4
5
  const lazadaConfig = config.get('marketplaceIntegrationLazada', {})
5
6
  const { appKey, appSecret } = lazadaConfig
6
7
 
7
8
  export const action = async ({ store, method = 'get', path, request }) => {
9
+ try {
10
+ return await _action({ store, method, path, request })
11
+ } catch (ex) {
12
+ if (ex.code === 'IllegalAccessToken') {
13
+ var refreshStore = await Lazada.refreshAccessToken(
14
+ { refresh_token: store.refreshToken },
15
+ appKey,
16
+ appSecret,
17
+ store.id
18
+ )
19
+ return await _action({ store: refreshStore, method, path, request })
20
+ } else {
21
+ throw ex
22
+ }
23
+ }
24
+ }
25
+
26
+ export const _action = async ({ store, method = 'get', path, request }) => {
8
27
  const client = new Lazada(store.countryCode, appKey, appSecret)
9
28
 
10
29
  var response = await client[method == 'post' ? 'post' : 'get'](path, request, store.accessToken)
@@ -0,0 +1,29 @@
1
+ /* https://open.shopee.com/documents?module=4&type=1&id=396&version=1 */
2
+
3
+ export function getStoreOrderTransactionDetails() {
4
+ return {
5
+ method: 'post',
6
+ path: '/orders/my_income',
7
+ denormalize(req) {
8
+ var { orderNo } = req
9
+
10
+ return {
11
+ ordersn: orderNo
12
+ }
13
+ },
14
+ normalize(res) {
15
+ var { order } = res
16
+ const result = {
17
+ voucherAmount: parseFloat(order.income_details.voucher_seller) || null,
18
+ shippingRebate: parseFloat(order.income_details.shipping_fee_rebate) || null,
19
+ commissionFee: parseFloat(order.income_details.commission_fee) || null,
20
+ serviceFee: parseFloat(order.income_details.service_fee) || null,
21
+ transactionFee: parseFloat(order.income_details.seller_transaction_fee) || null,
22
+ totalRealeasedAmount: parseFloat(order.income_details.escrow_amount) || null,
23
+ voucherCode: order.income_details.voucher_code,
24
+ shippingMode: order.shipping_carrier
25
+ }
26
+ return result
27
+ }
28
+ }
29
+ }
@@ -1,5 +1,7 @@
1
1
  /* https://open.shopee.com/documents?module=4&type=1&id=397 */
2
2
 
3
+ import { StoreAPI } from '../../store-api'
4
+
3
5
  export function getStoreOrder() {
4
6
  return {
5
7
  path: '/orders/detail',
@@ -10,10 +12,10 @@ export function getStoreOrder() {
10
12
  ordersn_list: [orderNo]
11
13
  }
12
14
  },
13
- normalize(res) {
14
- let results = res.orders.map(order => {
15
+ normalize(res, { store }) {
16
+ let results = res.orders.map(async order => {
15
17
  if (order.pay_time) {
16
- order.pay_time = new Date(order.pay_time)
18
+ order.pay_time = new Date(order.pay_time * 1000)
17
19
  }
18
20
  if (order.estimated_shipping_fee) {
19
21
  order.estimated_shipping_fee = parseFloat(order.estimated_shipping_fee)
@@ -74,7 +76,7 @@ export function getStoreOrder() {
74
76
  }
75
77
  })
76
78
 
77
- const { full_address, zipcode: postCode, phone, country, city, name: attentionTo } = recipient_address
79
+ const { full_address, zipcode: postCode, phone, country, city, name: attentionTo, state } = recipient_address
78
80
 
79
81
  var orderShipping = {
80
82
  address1: full_address,
@@ -86,15 +88,18 @@ export function getStoreOrder() {
86
88
  phone2: null,
87
89
  postCode,
88
90
  city,
91
+ state,
89
92
  country: country === 'MY' ? 'Malaysia' : country,
90
93
  collectionCurrency: null,
91
94
  attentionTo,
92
95
  trackingNo,
93
96
  transporter: shippingProvider,
94
- shippingFee: parseFloat(shippingFee),
95
- actualShippingFee: parseFloat(actualShippingFee)
97
+ shippingFee: parseFloat(shippingFee) || null,
98
+ actualShippingFee: parseFloat(actualShippingFee) || null
96
99
  }
97
100
 
101
+ let escrowDetails = await StoreAPI.getStoreOrderTransactionDetails(store, { orderNo })
102
+
98
103
  return {
99
104
  name,
100
105
  orderNo,
@@ -112,7 +117,8 @@ export function getStoreOrder() {
112
117
  orderItems,
113
118
  orderShipping,
114
119
  buyerUsername,
115
- payTime
120
+ payTime,
121
+ ...escrowDetails
116
122
  }
117
123
  })
118
124
 
@@ -25,4 +25,5 @@ export * from './split-order'
25
25
  export * from './update-store-product-stock'
26
26
  export * from './update-store-product-variation-stock'
27
27
  export * from './get-store-refund-orders'
28
- export * from './get-store-refund-order-details'
28
+ export * from './get-store-refund-order-details'
29
+ export * from './get-store-order-transaction-details'
@@ -27,6 +27,9 @@ export function getStoreOrders() {
27
27
  },
28
28
  async normalize(res, { store }) {
29
29
  // return res.orders
30
+
31
+ // removed item -> fulfillable_quantity = 0
32
+
30
33
  const linkParams = res.link
31
34
  var more: boolean = false
32
35
 
@@ -44,6 +47,7 @@ export function getStoreOrders() {
44
47
  const fulfillmentStatus = order.fulfillment_status
45
48
  let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'
46
49
 
50
+ let itemCount: Number = 0
47
51
  let result: any
48
52
 
49
53
  if (fulfillmentStatus != null) {
@@ -81,15 +85,33 @@ export function getStoreOrders() {
81
85
  } else {
82
86
  let lineItems = []
83
87
 
84
- order.line_items.map(lineItem => {
85
- const refundItems = order.refunds.map(refund => {
86
- const refundLineItems = refund.refund_line_items
87
- return {
88
- ...refundLineItems
88
+ const refundItems = order.refunds
89
+ .reduce((acc, curr) => {
90
+ const refundLineItems = curr.refund_line_items
91
+ acc.push(...refundLineItems)
92
+
93
+ return acc
94
+ }, [])
95
+ .reduce((acc, curr) => {
96
+ let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)
97
+ if (sum >= 0) {
98
+ acc[sum].quantity += curr.quantity
99
+ } else {
100
+ acc.push(curr)
89
101
  }
90
- })
91
102
 
92
- const matchedLineItem = refundItems.find(item => item[0].line_item_id == lineItem.id)
103
+ return acc
104
+ }, [])
105
+
106
+ let filteredLineItems = []
107
+ if (orderStatus == 'cancelled') {
108
+ filteredLineItems = order.line_items
109
+ } else {
110
+ filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)
111
+ }
112
+
113
+ filteredLineItems.map(lineItem => {
114
+ const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)
93
115
 
94
116
  if (!matchedLineItem) {
95
117
  lineItem = {
@@ -104,6 +126,19 @@ export function getStoreOrders() {
104
126
  }
105
127
 
106
128
  lineItems.push(lineItem)
129
+ } else {
130
+ lineItem = {
131
+ name: lineItem.id.toString(),
132
+ qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,
133
+ paidPrice: lineItem.price,
134
+ docRefNo: lineItem.id,
135
+ variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),
136
+ variationSku: lineItem.sku,
137
+ channelSku: lineItem.sku,
138
+ variationName: lineItem.name
139
+ }
140
+
141
+ if (lineItem.qty >= 0) lineItems.push(lineItem)
107
142
  }
108
143
  })
109
144
 
@@ -111,7 +146,7 @@ export function getStoreOrders() {
111
146
  name: orderId,
112
147
  orderNo: order.name,
113
148
  currency: order.currency,
114
- totalAmount: order.current_total_price,
149
+ totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,
115
150
  remark: order.note,
116
151
  orderCreatedAt: new Date(order.created_at).toUTCString(),
117
152
  orderUpdatedAt: new Date(order.updated_at).toUTCString(),
@@ -132,7 +167,8 @@ export function getStoreOrders() {
132
167
  city,
133
168
  country,
134
169
  first_name,
135
- last_name
170
+ last_name,
171
+ province: state
136
172
  } = order?.shipping_address ? order.shipping_address : order.billing_address
137
173
 
138
174
  var orderShipping = {
@@ -145,6 +181,7 @@ export function getStoreOrders() {
145
181
  phone2: null,
146
182
  postCode,
147
183
  city,
184
+ state,
148
185
  country: country === 'MY' ? 'Malaysia' : country,
149
186
  collectionCurrency: null,
150
187
  attentionTo: `${first_name} ${last_name}`
@@ -153,6 +190,9 @@ export function getStoreOrders() {
153
190
  result.orderShipping = orderShipping
154
191
  }
155
192
 
193
+ itemCount = result.orderItems.length
194
+ result.itemCount = itemCount
195
+
156
196
  return result
157
197
  })
158
198