@things-factory/integration-marketplace 5.0.11 → 6.0.0-alpha.1
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.
- package/dist-server/controllers/lazada/client/lazada.js +2 -2
- package/dist-server/controllers/lazada/client/lazada.js.map +1 -1
- package/dist-server/controllers/magento/apis/create-order-ship.js +1 -1
- package/dist-server/controllers/magento/apis/create-order-ship.js.map +1 -1
- package/dist-server/controllers/shopee/apis2/create-shipping-document.js +28 -0
- package/dist-server/controllers/shopee/apis2/create-shipping-document.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/echo.js +19 -0
- package/dist-server/controllers/shopee/apis2/echo.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-logistics-param.js +51 -0
- package/dist-server/controllers/shopee/apis2/get-logistics-param.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-shipping-document-result.js +26 -0
- package/dist-server/controllers/shopee/apis2/get-shipping-document-result.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-logistics.js +25 -0
- package/dist-server/controllers/shopee/apis2/get-store-logistics.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-by-batch.js +80 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-by-batch.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-document.js +41 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-document.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-payout-dates.js +36 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-payout-dates.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-transaction-details.js +31 -0
- package/dist-server/controllers/shopee/apis2/get-store-order-transaction-details.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-order.js +77 -0
- package/dist-server/controllers/shopee/apis2/get-store-order.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-orders.js +37 -0
- package/dist-server/controllers/shopee/apis2/get-store-orders.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-product-variations.js +21 -0
- package/dist-server/controllers/shopee/apis2/get-store-product-variations.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-product.js +101 -0
- package/dist-server/controllers/shopee/apis2/get-store-product.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-products.js +29 -0
- package/dist-server/controllers/shopee/apis2/get-store-products.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-refund-order-details.js +40 -0
- package/dist-server/controllers/shopee/apis2/get-store-refund-order-details.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-store-refund-orders.js +36 -0
- package/dist-server/controllers/shopee/apis2/get-store-refund-orders.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/get-tracking-number.js +21 -0
- package/dist-server/controllers/shopee/apis2/get-tracking-number.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/index.js +24 -0
- package/dist-server/controllers/shopee/apis2/index.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/init-logistics.js +39 -0
- package/dist-server/controllers/shopee/apis2/init-logistics.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/update-store-product-stock.js +30 -0
- package/dist-server/controllers/shopee/apis2/update-store-product-stock.js.map +1 -0
- package/dist-server/controllers/shopee/apis2/update-store-product-variation-stock.js +31 -0
- package/dist-server/controllers/shopee/apis2/update-store-product-variation-stock.js.map +1 -0
- package/dist-server/controllers/shopee/index.js +10 -1
- package/dist-server/controllers/shopee/index.js.map +1 -1
- package/dist-server/controllers/shopee/platform-action.js +33 -1
- package/dist-server/controllers/shopee/platform-action.js.map +1 -1
- package/dist-server/controllers/shopee/refresh-access-token.js +66 -0
- package/dist-server/controllers/shopee/refresh-access-token.js.map +1 -0
- package/dist-server/controllers/shopee/shopee.js +81 -0
- package/dist-server/controllers/shopee/shopee.js.map +1 -1
- package/dist-server/controllers/shopify/apis/get-store-orders.js +45 -30
- package/dist-server/controllers/shopify/apis/get-store-orders.js.map +1 -1
- package/dist-server/controllers/shopify/apis/get-store-products.js +5 -10
- package/dist-server/controllers/shopify/apis/get-store-products.js.map +1 -1
- package/dist-server/controllers/shopify/shopify.js +15 -19
- package/dist-server/controllers/shopify/shopify.js.map +1 -1
- package/dist-server/controllers/store-api/index.js +32 -4
- package/dist-server/controllers/store-api/index.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-order.js +20 -18
- package/dist-server/controllers/tiktok/apis/get-store-order.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-orders.js +1 -1
- package/dist-server/controllers/tiktok/apis/get-store-orders.js.map +1 -1
- package/dist-server/controllers/tiktok/apis/update-order-status.js +4 -4
- package/dist-server/controllers/tiktok/apis/update-order-status.js.map +1 -1
- package/dist-server/controllers/tiktok/platform-action.js +14 -3
- package/dist-server/controllers/tiktok/platform-action.js.map +1 -1
- package/dist-server/engine/connector/lazada-connector.js +5 -5
- package/dist-server/engine/connector/lazada-connector.js.map +1 -1
- package/dist-server/engine/task/marketplace-api.js +4 -4
- package/dist-server/engine/task/marketplace-api.js.map +1 -1
- package/dist-server/entities/marketplace-distributor.js +3 -4
- package/dist-server/entities/marketplace-distributor.js.map +1 -1
- package/dist-server/entities/marketplace-setting.js +3 -4
- package/dist-server/entities/marketplace-setting.js.map +1 -1
- package/dist-server/entities/marketplace-store.js +3 -4
- package/dist-server/entities/marketplace-store.js.map +1 -1
- package/dist-server/entities/marketplace-transporter.js +6 -6
- package/dist-server/entities/marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js +3 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js +8 -6
- package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js +4 -2
- package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js +7 -5
- package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js +8 -2
- package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js +4 -3
- package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js +4 -2
- package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js +3 -4
- package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js +1 -2
- package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js +10 -6
- package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js +5 -2
- package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js +6 -3
- package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/accept-store-order-cancellation.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/cancel-store-order.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order-document.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order-items.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-order.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/get-store-orders.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/reject-store-order-cancellation.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.js.map +1 -1
- package/dist-server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/create-store-product-variations.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/create-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/delete-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-brands.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-categories.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product-category-attributes.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-product.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/get-store-products.js.map +1 -1
- package/dist-server/graphql/resolvers/store-product/update-store-product.js.map +1 -1
- package/dist-server/routers/magento-private-router.js +7 -8
- package/dist-server/routers/magento-private-router.js.map +1 -1
- package/dist-server/routers/shopify-install-private-router.js +8 -9
- package/dist-server/routers/shopify-install-private-router.js.map +1 -1
- package/dist-server/routers/shopify-install-public-router.js +2 -3
- package/dist-server/routers/shopify-install-public-router.js.map +1 -1
- package/dist-server/routers/shopify-private-router.js +6 -7
- package/dist-server/routers/shopify-private-router.js.map +1 -1
- package/dist-server/routers/shopify-public-router.js +7 -8
- package/dist-server/routers/shopify-public-router.js.map +1 -1
- package/dist-server/routers/woocommerce-router.js +6 -6
- package/dist-server/routers/woocommerce-router.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
- package/server/controllers/lazada/client/lazada.ts +2 -1
- package/server/controllers/magento/apis/create-order-ship.ts +1 -1
- package/server/controllers/shopee/apis2/create-shipping-document.ts +27 -0
- package/server/controllers/shopee/apis2/echo.ts +14 -0
- package/server/controllers/shopee/apis2/get-logistics-param.ts +66 -0
- package/server/controllers/shopee/apis2/get-shipping-document-result.ts +21 -0
- package/server/controllers/shopee/apis2/get-store-logistics.ts +23 -0
- package/server/controllers/shopee/apis2/get-store-order-by-batch.ts +97 -0
- package/server/controllers/shopee/apis2/get-store-order-document.ts +39 -0
- package/server/controllers/shopee/apis2/get-store-order-payout-dates.ts +33 -0
- package/server/controllers/shopee/apis2/get-store-order-transaction-details.ts +28 -0
- package/server/controllers/shopee/apis2/get-store-order.ts +93 -0
- package/server/controllers/shopee/apis2/get-store-orders.ts +40 -0
- package/server/controllers/shopee/apis2/get-store-product-variations.ts +17 -0
- package/server/controllers/shopee/apis2/get-store-product.ts +105 -0
- package/server/controllers/shopee/apis2/get-store-products.ts +28 -0
- package/server/controllers/shopee/apis2/get-store-refund-order-details.ts +39 -0
- package/server/controllers/shopee/apis2/get-store-refund-orders.ts +37 -0
- package/server/controllers/shopee/apis2/get-tracking-number.ts +17 -0
- package/server/controllers/shopee/apis2/index.ts +20 -0
- package/server/controllers/shopee/apis2/init-logistics.ts +39 -0
- package/server/controllers/shopee/apis2/update-store-product-stock.ts +26 -0
- package/server/controllers/shopee/apis2/update-store-product-variation-stock.ts +28 -0
- package/server/controllers/shopee/index.ts +11 -2
- package/server/controllers/shopee/platform-action.ts +36 -0
- package/server/controllers/shopee/refresh-access-token.ts +78 -0
- package/server/controllers/shopee/shopee.ts +95 -0
- package/server/controllers/shopify/apis/get-store-orders.ts +46 -30
- package/server/controllers/shopify/apis/get-store-products.ts +3 -8
- package/server/controllers/shopify/shopify.ts +15 -15
- package/server/controllers/store-api/index.ts +14 -2
- package/server/controllers/tiktok/apis/get-store-order.ts +26 -24
- package/server/controllers/tiktok/apis/get-store-orders.ts +1 -1
- package/server/controllers/tiktok/apis/update-order-status.ts +4 -4
- package/server/controllers/tiktok/platform-action.ts +14 -14
- package/server/engine/connector/lazada-connector.ts +5 -4
- package/server/engine/task/marketplace-api.ts +4 -3
- package/server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.ts +2 -2
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.ts +4 -3
- package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.ts +6 -3
- package/server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.ts +13 -9
- package/server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.ts +5 -5
- package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts +7 -3
- package/server/graphql/resolvers/marketplace-setting/create-marketplace-setting.ts +3 -3
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.ts +4 -4
- package/server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.ts +9 -7
- package/server/graphql/resolvers/marketplace-setting/marketplace-setting-query.ts +11 -8
- package/server/graphql/resolvers/marketplace-setting/update-marketplace-setting.ts +9 -3
- package/server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.ts +32 -29
- package/server/graphql/resolvers/marketplace-store/create-marketplace-store.ts +3 -2
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/delete-marketplace-stores.ts +6 -3
- package/server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.ts +2 -2
- package/server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.ts +1 -1
- package/server/graphql/resolvers/marketplace-store/magento/activate-magento-store.ts +5 -3
- package/server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.ts +4 -4
- package/server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/marketplace-stores.ts +3 -3
- package/server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.ts +3 -3
- package/server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.ts +1 -1
- package/server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.ts +4 -4
- package/server/graphql/resolvers/marketplace-store/update-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.ts +5 -5
- package/server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.ts +4 -3
- package/server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.ts +2 -2
- package/server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.ts +7 -5
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.ts +4 -4
- package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.ts +9 -7
- package/server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.ts +17 -12
- package/server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.ts +8 -5
- package/server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.ts +32 -29
- package/server/graphql/resolvers/store-order/accept-store-order-cancellation.ts +1 -1
- package/server/graphql/resolvers/store-order/cancel-store-order.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order-document.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order-items.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-order.ts +1 -1
- package/server/graphql/resolvers/store-order/get-store-orders.ts +1 -1
- package/server/graphql/resolvers/store-order/reject-store-order-cancellation.ts +1 -1
- package/server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.ts +1 -1
- package/server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.ts +1 -1
- package/server/graphql/resolvers/store-product/create-store-product-variations.ts +1 -1
- package/server/graphql/resolvers/store-product/create-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/delete-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-brands.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-categories.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product-category-attributes.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-product.ts +1 -1
- package/server/graphql/resolvers/store-product/get-store-products.ts +1 -1
- package/server/graphql/resolvers/store-product/update-store-product.ts +1 -1
- package/server/routers/magento-private-router.ts +3 -4
- package/server/routers/shopify-install-private-router.ts +4 -5
- package/server/routers/shopify-install-public-router.ts +1 -2
- package/server/routers/shopify-private-router.ts +6 -6
- package/server/routers/shopify-public-router.ts +6 -5
- package/server/routers/woocommerce-router.ts +4 -3
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refreshAccessToken = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
|
+
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const env_1 = require("@things-factory/env");
|
|
9
|
+
const shell_1 = require("@things-factory/shell");
|
|
10
|
+
const entities_1 = require("../../entities");
|
|
11
|
+
const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
|
|
12
|
+
const { partnerId, partnerKey, isUAT } = shopeeConfig;
|
|
13
|
+
const refreshPath = '/auth/access_token/get';
|
|
14
|
+
const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {
|
|
15
|
+
let marketplaceStore = await (0, shell_1.getRepository)(entities_1.MarketplaceStore)
|
|
16
|
+
.createQueryBuilder('ms')
|
|
17
|
+
.where('ms.id = :id', { id: store_uuid })
|
|
18
|
+
.getOne();
|
|
19
|
+
if (old_access_token != marketplaceStore.accessToken) {
|
|
20
|
+
return {
|
|
21
|
+
accessToken: marketplaceStore.accessToken
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
25
|
+
const sign = crypto_1.default
|
|
26
|
+
.createHmac('sha256', partnerKey)
|
|
27
|
+
.update(partnerId + '/api/v2' + refreshPath + timestamp)
|
|
28
|
+
.digest('hex');
|
|
29
|
+
const auth = {
|
|
30
|
+
partner_id: partnerId,
|
|
31
|
+
sign: sign,
|
|
32
|
+
timestamp: timestamp
|
|
33
|
+
};
|
|
34
|
+
const qs = Object.entries(auth)
|
|
35
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
36
|
+
.join('&');
|
|
37
|
+
const data = {
|
|
38
|
+
refresh_token: refresh_token,
|
|
39
|
+
partner_id: partnerId,
|
|
40
|
+
shop_id: parseInt(shop_id)
|
|
41
|
+
};
|
|
42
|
+
const jsondata = JSON.stringify(data);
|
|
43
|
+
const response = await (0, node_fetch_1.default)(`${getAuthUrl()}?${qs}`, {
|
|
44
|
+
method: 'post',
|
|
45
|
+
body: jsondata
|
|
46
|
+
});
|
|
47
|
+
if (!response.ok) {
|
|
48
|
+
throw 'Failed to get response to refresh Shopee access token';
|
|
49
|
+
}
|
|
50
|
+
const result = await response.json();
|
|
51
|
+
if (result.error) {
|
|
52
|
+
env_1.logger.error(`Failed to refresh Shopee token: ${result.error} - shop ID (${shop_id})`);
|
|
53
|
+
throw result.error;
|
|
54
|
+
}
|
|
55
|
+
const tokens = {
|
|
56
|
+
accessToken: result.access_token,
|
|
57
|
+
refreshToken: result.refresh_token // expires in 30 days
|
|
58
|
+
};
|
|
59
|
+
await (0, typeorm_1.createQueryBuilder)().update(entities_1.MarketplaceStore).set(tokens).where('id = :id', { id: store_uuid }).execute();
|
|
60
|
+
return tokens;
|
|
61
|
+
};
|
|
62
|
+
exports.refreshAccessToken = refreshAccessToken;
|
|
63
|
+
function getAuthUrl() {
|
|
64
|
+
return `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com/api/v2${refreshPath}`;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=refresh-access-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-access-token.js","sourceRoot":"","sources":["../../../server/controllers/shopee/refresh-access-token.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createQueryBuilder } from 'typeorm'\n\nimport { config, logger } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceStore } from '../../entities'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\nconst refreshPath = '/auth/access_token/get'\n\nexport const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {\n let marketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore)\n .createQueryBuilder('ms')\n .where('ms.id = :id', { id: store_uuid })\n .getOne()\n\n if (old_access_token != marketplaceStore.accessToken) {\n return {\n accessToken: marketplaceStore.accessToken\n }\n }\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partnerKey)\n .update(partnerId + '/api/v2' + refreshPath + timestamp)\n .digest('hex')\n\n const auth = {\n partner_id: partnerId,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const data = {\n refresh_token: refresh_token,\n partner_id: partnerId,\n shop_id: parseInt(shop_id)\n }\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${getAuthUrl()}?${qs}`, {\n method: 'post',\n body: jsondata\n })\n\n if (!response.ok) {\n throw 'Failed to get response to refresh Shopee access token'\n }\n\n const result = await response.json()\n\n if (result.error) {\n logger.error(`Failed to refresh Shopee token: ${result.error} - shop ID (${shop_id})`)\n throw result.error\n }\n\n const tokens = {\n accessToken: result.access_token, // expires in 4 hours\n refreshToken: result.refresh_token // expires in 30 days\n }\n\n await createQueryBuilder().update(MarketplaceStore).set(tokens).where('id = :id', { id: store_uuid }).execute()\n\n return tokens\n}\n\nfunction getAuthUrl() {\n return `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com/api/v2${refreshPath}`\n}\n"]}
|
|
@@ -4,6 +4,7 @@ exports.Shopee = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
6
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
+
const integration_base_1 = require("@things-factory/integration-base");
|
|
7
8
|
const debug = require('debug')('things-factory:integration-marketplace:shopee');
|
|
8
9
|
class Shopee {
|
|
9
10
|
constructor(config) {
|
|
@@ -62,6 +63,86 @@ class Shopee {
|
|
|
62
63
|
debug('response result', result);
|
|
63
64
|
return result;
|
|
64
65
|
}
|
|
66
|
+
async getV2(endpoint, data = {}) {
|
|
67
|
+
const { partner_id, shopid, access_token, partner_key } = this.config;
|
|
68
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
69
|
+
const sign = crypto_1.default
|
|
70
|
+
.createHmac('sha256', partner_key)
|
|
71
|
+
.update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
|
|
72
|
+
.digest('hex');
|
|
73
|
+
data.partner_id = partner_id;
|
|
74
|
+
data.timestamp = timestamp;
|
|
75
|
+
data.access_token = access_token;
|
|
76
|
+
data.shop_id = shopid;
|
|
77
|
+
data.sign = sign;
|
|
78
|
+
debug('data', data);
|
|
79
|
+
const qs = Object.entries(data)
|
|
80
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
81
|
+
.join('&');
|
|
82
|
+
const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
|
|
83
|
+
method: 'get'
|
|
84
|
+
});
|
|
85
|
+
const result = await response.json();
|
|
86
|
+
try {
|
|
87
|
+
(0, integration_base_1.createPayloadLog)(shopid, endpoint, qs, result, {
|
|
88
|
+
state: { domain: null }
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (e) { }
|
|
92
|
+
debug('response result', result);
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
async postV2(endpoint, data = {}) {
|
|
96
|
+
const { partner_id, shopid, access_token, partner_key } = this.config;
|
|
97
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
98
|
+
const sign = crypto_1.default
|
|
99
|
+
.createHmac('sha256', partner_key)
|
|
100
|
+
.update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
|
|
101
|
+
.digest('hex');
|
|
102
|
+
let auth = {
|
|
103
|
+
partner_id: partner_id,
|
|
104
|
+
access_token: access_token,
|
|
105
|
+
shop_id: shopid,
|
|
106
|
+
sign: sign,
|
|
107
|
+
timestamp: timestamp
|
|
108
|
+
};
|
|
109
|
+
const qs = Object.entries(auth)
|
|
110
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
|
|
111
|
+
.join('&');
|
|
112
|
+
const jsondata = JSON.stringify(data);
|
|
113
|
+
debug('data', data);
|
|
114
|
+
const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
|
|
115
|
+
method: 'post',
|
|
116
|
+
body: jsondata,
|
|
117
|
+
headers: {
|
|
118
|
+
'Content-Type': 'application/json'
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
let result;
|
|
122
|
+
if (endpoint == '/logistics/download_shipping_document') {
|
|
123
|
+
try {
|
|
124
|
+
let awb = await response.buffer();
|
|
125
|
+
result = {
|
|
126
|
+
awb,
|
|
127
|
+
data
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (_a) {
|
|
131
|
+
result = await response.json();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
result = await response.json();
|
|
136
|
+
try {
|
|
137
|
+
(0, integration_base_1.createPayloadLog)(shopid, endpoint, jsondata, result, {
|
|
138
|
+
state: { domain: null }
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch (e) { }
|
|
142
|
+
}
|
|
143
|
+
debug('response result', result);
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
65
146
|
}
|
|
66
147
|
exports.Shopee = Shopee;
|
|
67
148
|
//# sourceMappingURL=shopee.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oEAA8B;AAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAa/E,MAAa,MAAM;IAGjB,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,qBACN,MAAM,CACV,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,UAAU;QACR,OAAO,kBAAkB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAA;IACrF,CAAC;IAED,YAAY,CAAC,QAAQ,GAAG,KAAK;QAC3B,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QAEzD,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;QACpF,MAAM,IAAI,GAAG,gBAAM;aAChB,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;aACjC,MAAM,CAAC,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;aACzC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhB,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC/C,OAAO,IAAI,eAAe,UAAU,EAAE,CAAA;QACtC,OAAO,IAAI,aAAa,YAAY,EAAE,CAAA;QACtC,OAAO,IAAI,cAAc,SAAS,EAAE,CAAA;QACpC,OAAO,IAAI,SAAS,IAAI,EAAE,CAAA;QAE1B,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,qBAAqB,CAAC,IAAI,EAAE,IAAI;QAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;QACrD,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3F,CAAC;IAED,gBAAgB,CAAC,MAAM,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE,CAAA;QACtD,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEjG,OAAO,MAAM,KAAK,SAAS,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAY,EAAE;QACjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAC9C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;SACrB;QAED,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,QAAQ,EAAE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,QAAQ,EAAE,EAAE,QAAQ,CAAC;aAC1E;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA/ED,wBA+EC","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `×tamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `×tamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n\n async getV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n data.partner_id = partner_id\n data.timestamp = timestamp\n data.access_token = access_token\n data.shop_id = shopid\n data.sign = sign\n\n debug('data', data)\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'get'\n })\n\n const result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, qs, result, {\n state: { domain: null }\n })\n } catch (e) {}\n debug('response result', result)\n\n return result\n }\n\n async postV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n let auth = {\n partner_id: partner_id,\n access_token: access_token,\n shop_id: shopid,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const jsondata = JSON.stringify(data)\n\n debug('data', data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'post',\n body: jsondata,\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n let result\n if (endpoint == '/logistics/download_shipping_document') {\n try {\n let awb = await response.buffer()\n result = {\n awb,\n data\n }\n } catch {\n result = await response.json()\n }\n } else {\n result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, jsondata, result, {\n state: { domain: null }\n })\n } catch (e) {}\n }\n\n debug('response result', result)\n\n return result\n }\n}\n"]}
|
|
@@ -7,23 +7,27 @@ function getStoreOrders() {
|
|
|
7
7
|
method: 'get',
|
|
8
8
|
path: '/orders.json',
|
|
9
9
|
denormalize(req) {
|
|
10
|
-
var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {};
|
|
10
|
+
var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {};
|
|
11
11
|
var { page = 0, limit = 100 } = pagination || {};
|
|
12
12
|
var payload = {
|
|
13
|
-
limit
|
|
14
|
-
status: 'any'
|
|
13
|
+
limit
|
|
15
14
|
};
|
|
16
|
-
if (
|
|
15
|
+
if (nextCursor) {
|
|
16
|
+
payload.page_info = nextCursor;
|
|
17
|
+
}
|
|
18
|
+
if (fromCreatedDate && toCreatedDate && !nextCursor) {
|
|
17
19
|
var created_at_min = new Date(fromCreatedDate).toISOString();
|
|
18
20
|
var created_at_max = new Date(toCreatedDate).toISOString();
|
|
19
21
|
payload.created_at_min = created_at_min;
|
|
20
22
|
payload.created_at_max = created_at_max;
|
|
23
|
+
payload.status = 'any';
|
|
21
24
|
}
|
|
22
|
-
if (fromUpdatedDate && toUpdatedDate) {
|
|
25
|
+
if (fromUpdatedDate && toUpdatedDate && !nextCursor) {
|
|
23
26
|
var updated_at_min = new Date(fromUpdatedDate).toISOString();
|
|
24
27
|
var updated_at_max = new Date(toUpdatedDate).toISOString();
|
|
25
28
|
payload.updated_at_min = updated_at_min;
|
|
26
29
|
payload.updated_at_max = updated_at_max;
|
|
30
|
+
payload.status = 'any';
|
|
27
31
|
}
|
|
28
32
|
if (lastOrderId)
|
|
29
33
|
payload.since_id = Number(lastOrderId);
|
|
@@ -34,8 +38,10 @@ function getStoreOrders() {
|
|
|
34
38
|
// removed item -> fulfillable_quantity = 0
|
|
35
39
|
const linkParams = res.link;
|
|
36
40
|
var more = false;
|
|
41
|
+
let nextCursor = null;
|
|
37
42
|
if (linkParams) {
|
|
38
|
-
more = checkNextPage(linkParams);
|
|
43
|
+
more = checkNextPage(linkParams).nextPage;
|
|
44
|
+
nextCursor = checkNextPage(linkParams).nextCursor;
|
|
39
45
|
}
|
|
40
46
|
const orderSourceNames = ['pos'];
|
|
41
47
|
var { orders } = res;
|
|
@@ -122,7 +128,9 @@ function getStoreOrders() {
|
|
|
122
128
|
variationSku: lineItem.sku,
|
|
123
129
|
channelSku: lineItem.sku,
|
|
124
130
|
variationName: lineItem.name,
|
|
125
|
-
originalPrice: lineItem.price
|
|
131
|
+
originalPrice: lineItem.price,
|
|
132
|
+
total: lineItem.price,
|
|
133
|
+
subtotal: lineItem.price
|
|
126
134
|
};
|
|
127
135
|
lineItems.push(lineItem);
|
|
128
136
|
}
|
|
@@ -136,7 +144,9 @@ function getStoreOrders() {
|
|
|
136
144
|
variationSku: lineItem.sku,
|
|
137
145
|
channelSku: lineItem.sku,
|
|
138
146
|
variationName: lineItem.name,
|
|
139
|
-
originalPrice: lineItem.price
|
|
147
|
+
originalPrice: lineItem.price,
|
|
148
|
+
total: lineItem.price,
|
|
149
|
+
subtotal: lineItem.price
|
|
140
150
|
};
|
|
141
151
|
if (lineItem.qty >= 0)
|
|
142
152
|
lineItems.push(lineItem);
|
|
@@ -180,49 +190,54 @@ function getStoreOrders() {
|
|
|
180
190
|
let shippingAddress = order === null || order === void 0 ? void 0 : order.shipping_address;
|
|
181
191
|
let billingAddress = (order === null || order === void 0 ? void 0 : order.billing_address) || shippingAddress;
|
|
182
192
|
result.shipping = {
|
|
183
|
-
address_1: shippingAddress.address1,
|
|
184
|
-
address_2: shippingAddress.address2,
|
|
185
|
-
address_3: shippingAddress.province,
|
|
186
|
-
postcode: shippingAddress.zip,
|
|
187
|
-
country: shippingAddress.country_code,
|
|
188
|
-
city: shippingAddress.city,
|
|
189
|
-
first_name: shippingAddress.first_name,
|
|
190
|
-
last_name: shippingAddress.last_name,
|
|
191
|
-
phone: shippingAddress.phone,
|
|
192
|
-
email: order.email
|
|
193
|
+
address_1: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address1,
|
|
194
|
+
address_2: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address2,
|
|
195
|
+
address_3: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.province,
|
|
196
|
+
postcode: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.zip,
|
|
197
|
+
country: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country_code,
|
|
198
|
+
city: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city,
|
|
199
|
+
first_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.first_name,
|
|
200
|
+
last_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.last_name,
|
|
201
|
+
phone: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.phone,
|
|
202
|
+
email: order === null || order === void 0 ? void 0 : order.email
|
|
193
203
|
};
|
|
194
204
|
result.billing = {
|
|
195
|
-
address_1: billingAddress.address1,
|
|
196
|
-
address_2: billingAddress.address2,
|
|
197
|
-
address_3: billingAddress.province,
|
|
198
|
-
postcode: billingAddress.zip,
|
|
199
|
-
country: billingAddress.country_code,
|
|
200
|
-
city: billingAddress.city,
|
|
201
|
-
first_name: billingAddress.first_name,
|
|
202
|
-
last_name: billingAddress.last_name,
|
|
203
|
-
phone: billingAddress.phone,
|
|
204
|
-
email: order.email
|
|
205
|
+
address_1: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address1,
|
|
206
|
+
address_2: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address2,
|
|
207
|
+
address_3: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.province,
|
|
208
|
+
postcode: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.zip,
|
|
209
|
+
country: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.country_code,
|
|
210
|
+
city: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.city,
|
|
211
|
+
first_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.first_name,
|
|
212
|
+
last_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.last_name,
|
|
213
|
+
phone: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.phone,
|
|
214
|
+
email: order === null || order === void 0 ? void 0 : order.email
|
|
205
215
|
};
|
|
206
216
|
result.isSOF = true;
|
|
207
217
|
result.firstName = ((_a = order === null || order === void 0 ? void 0 : order.customer) === null || _a === void 0 ? void 0 : _a.first_name) || '';
|
|
208
218
|
result.lastName = ((_b = order === null || order === void 0 ? void 0 : order.customer) === null || _b === void 0 ? void 0 : _b.last_name) || '';
|
|
219
|
+
result.sellercraftDisplayOrderNo = order.name;
|
|
209
220
|
}
|
|
210
221
|
itemCount = result.orderItems.length;
|
|
211
222
|
result.itemCount = itemCount;
|
|
212
223
|
return result;
|
|
213
224
|
});
|
|
214
|
-
return { results, more };
|
|
225
|
+
return { results, more, nextCursor };
|
|
215
226
|
}
|
|
216
227
|
};
|
|
217
228
|
}
|
|
218
229
|
exports.getStoreOrders = getStoreOrders;
|
|
219
230
|
function checkNextPage(link) {
|
|
220
231
|
let nextPage = false;
|
|
232
|
+
let nextCursor = null;
|
|
221
233
|
// If there's a previous link, remove the first part of the string entirely
|
|
222
234
|
if (link.indexOf(`rel="next"`) > -1) {
|
|
235
|
+
let nextLink = link.split(' ');
|
|
236
|
+
nextLink = nextLink[nextLink.indexOf(`rel="next"`) - 1];
|
|
237
|
+
nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info');
|
|
223
238
|
nextPage = true;
|
|
224
239
|
}
|
|
225
|
-
return nextPage;
|
|
240
|
+
return { nextPage, nextCursor };
|
|
226
241
|
}
|
|
227
242
|
function getSellercraftStatus(fulfillmentStatus, paymentStatus) {
|
|
228
243
|
if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit,\n status: 'any'\n }\n\n if (fromCreatedDate && toCreatedDate) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n }\n\n if (fromUpdatedDate && toUpdatedDate) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n\n if (linkParams) {\n more = checkNextPage(linkParams)\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress.address1,\n address_2: shippingAddress.address2,\n address_3: shippingAddress.province,\n postcode: shippingAddress.zip,\n country: shippingAddress.country_code,\n city: shippingAddress.city,\n first_name: shippingAddress.first_name,\n last_name: shippingAddress.last_name,\n phone: shippingAddress.phone,\n email: order.email\n }\n result.billing = {\n address_1: billingAddress.address1,\n address_2: billingAddress.address2,\n address_3: billingAddress.province,\n postcode: billingAddress.zip,\n country: billingAddress.country_code,\n city: billingAddress.city,\n first_name: billingAddress.first_name,\n last_name: billingAddress.last_name,\n phone: billingAddress.phone,\n email: order.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n nextPage = true\n }\n\n return nextPage\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}
|
|
1
|
+
{"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit\n }\n\n if (nextCursor) {\n payload.page_info = nextCursor\n }\n\n if (fromCreatedDate && toCreatedDate && !nextCursor) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n payload.status = 'any'\n }\n\n if (fromUpdatedDate && toUpdatedDate && !nextCursor) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n payload.status = 'any'\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n let nextCursor: any = null\n\n if (linkParams) {\n more = checkNextPage(linkParams).nextPage\n nextCursor = checkNextPage(linkParams).nextCursor\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress?.address1,\n address_2: shippingAddress?.address2,\n address_3: shippingAddress?.province,\n postcode: shippingAddress?.zip,\n country: shippingAddress?.country_code,\n city: shippingAddress?.city,\n first_name: shippingAddress?.first_name,\n last_name: shippingAddress?.last_name,\n phone: shippingAddress?.phone,\n email: order?.email\n }\n result.billing = {\n address_1: billingAddress?.address1,\n address_2: billingAddress?.address2,\n address_3: billingAddress?.province,\n postcode: billingAddress?.zip,\n country: billingAddress?.country_code,\n city: billingAddress?.city,\n first_name: billingAddress?.first_name,\n last_name: billingAddress?.last_name,\n phone: billingAddress?.phone,\n email: order?.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n result.sellercraftDisplayOrderNo = order.name\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more, nextCursor }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n let nextCursor = null\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n let nextLink = link.split(' ')\n nextLink = nextLink[nextLink.indexOf(`rel=\"next\"`)-1]\n nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info')\n nextPage = true\n }\n\n return { nextPage, nextCursor }\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}
|
|
@@ -23,7 +23,7 @@ function getStoreProducts() {
|
|
|
23
23
|
return { payload };
|
|
24
24
|
},
|
|
25
25
|
async normalize(res, { store }) {
|
|
26
|
-
var _a
|
|
26
|
+
var _a;
|
|
27
27
|
// return res.products
|
|
28
28
|
const linkParams = res.link;
|
|
29
29
|
let page_info;
|
|
@@ -67,22 +67,17 @@ function getStoreProducts() {
|
|
|
67
67
|
marketplaceStatus: product.status,
|
|
68
68
|
hasVariation: true,
|
|
69
69
|
categoryId: (product === null || product === void 0 ? void 0 : product.collection_id) ? product.collection_id : null,
|
|
70
|
-
attributes:
|
|
71
|
-
return {
|
|
72
|
-
native_attribute_id: option.id,
|
|
73
|
-
attribute_key: option.name,
|
|
74
|
-
values: option.values
|
|
75
|
-
};
|
|
76
|
-
})) || [],
|
|
70
|
+
attributes: [],
|
|
77
71
|
sellercraftAttributes: [
|
|
78
72
|
{
|
|
79
73
|
native_attribute_id: 'description',
|
|
80
74
|
attribute_key: 'description',
|
|
81
75
|
display_name: 'Description',
|
|
82
|
-
values: [product.body_html]
|
|
76
|
+
values: [product.body_html],
|
|
77
|
+
data_type: 'RICH_TEXT'
|
|
83
78
|
}
|
|
84
79
|
],
|
|
85
|
-
images: ((
|
|
80
|
+
images: ((_a = product === null || product === void 0 ? void 0 : product.images) === null || _a === void 0 ? void 0 : _a.map(image => {
|
|
86
81
|
return image.src;
|
|
87
82
|
})) || [],
|
|
88
83
|
variations: productVariations.map(variant => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-store-products.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-products.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://shopify.dev/docs/admin-api/rest/reference/products/product?api[version]=2020-07#index-2020-07 */\n\nimport { URL } from 'url'\n\nimport { StoreAPI } from '../../store-api'\n\nexport function getStoreProducts() {\n return {\n method: 'get',\n path: '/products.json',\n denormalize(req) {\n var { pagination, pageInfo, fromUpdatedDate, toUpdatedDate } = req || {}\n var { page, limit } = pagination || { page: 0, limit: 100 }\n\n var payload: any = {\n limit: limit\n }\n\n if (fromUpdatedDate && toUpdatedDate) {\n payload.updated_at_max = toUpdatedDate\n payload.updated_at_min = fromUpdatedDate\n }\n\n if (pageInfo) payload.page_info = pageInfo\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.products\n const linkParams = res.link\n let page_info: string\n\n if (linkParams) {\n const url = extractLinkParams(linkParams)\n var urlParams = new URL(url)\n page_info = urlParams.searchParams.get('page_info')\n }\n\n let results: any[] = []\n let totalProducts = await StoreAPI.getStoreProductsCount(store, res)\n\n for (var i = 0; i < res.products.length; i++) {\n const product: any = res.products[i]\n const productVariations: any[] = product.variants\n\n const inventoryIds: string[] = productVariations.map(productVariation => productVariation.inventory_item_id)\n const inventoryItemIds: string = inventoryIds.join()\n\n const inventoryLevels: any = await StoreAPI.getInventoryLevel(store, {\n inventoryItemIds\n })\n\n for (var j = 0; j < productVariations.length; j++) {\n let locationIds: any = []\n const productVariation: any = productVariations[j]\n const productInventoryItemId = productVariation.inventory_item_id\n for (var k = 0; k < inventoryLevels.inventory_levels.length; k++) {\n const inventoryLevel: any = inventoryLevels.inventory_levels[k]\n const inventoryItemId = inventoryLevel.inventory_item_id\n\n if (inventoryItemId == productInventoryItemId) {\n const locationId: any = {\n location_id: inventoryLevel.location_id,\n available: inventoryLevel.available === null ? 0 : inventoryLevel.available\n }\n locationIds.push(locationId)\n }\n }\n productVariation.location_id = JSON.stringify(locationIds)\n }\n\n const result = {\n itemId: product.id,\n name: product.title,\n type: product.product_type,\n description: product.body_html,\n marketplaceStatus: product.status,\n hasVariation: true,\n categoryId: product?.collection_id ? product.collection_id : null,\n attributes: product?.options?.map(option => {\n return {\n native_attribute_id: option.id,\n attribute_key: option.name,\n values: option.values\n }\n }) || [],\n sellercraftAttributes: [\n {\n native_attribute_id: 'description',\n attribute_key: 'description',\n display_name: 'Description',\n values: [product.body_html]\n }\n ],\n images: product?.images?.map(image => {\n return image.src\n }) || [],\n variations: productVariations.map(variant => {\n return {\n variationId: variant.id,\n variationSku: variant.sku,\n channelSku: variant.sku,\n name: variant.title == 'Default Title' ? product.title : variant.title,\n qty: variant.inventory_quantity,\n inventoryPolicy: variant.inventory_policy,\n inventoryItemId: variant.inventory_item_id,\n locationId: variant.location_id,\n extraMetadata: {\n inventoryItemId: variant.inventory_item_id,\n locationId: variant.location_id, \n },\n primaryUnit: variant.weight_unit,\n primaryUnitValue: variant.weight,\n costPrice: variant.price,\n sellPrice: variant.compare_at_price || variant.price,\n attributes: [\n {\n attributeId: variant.option1,\n name: variant.option1\n },\n {\n attributeId: variant.option2,\n name: variant.option2\n },\n {\n attributeId: variant.option3,\n name: variant.option3\n }\n ],\n sellercraftAttributes: product?.options.map(option => {\n return {\n native_attribute_id: option.name,\n attribute_key: option.name,\n display_name: option.name,\n values: [variant[`option${option.position}`]]\n }\n }) || [],\n weight: variant.grams,\n presentmentPrices: variant?.presentment_prices\n ? variant.presentment_prices.map(presentmentPrice => {\n return {\n currency: presentmentPrice.price?.currency_code\n ? presentmentPrice.price.currency_code\n : presentmentPrice.compare_at_price.currency_code,\n costPrice: presentmentPrice.compare_at_price?.amount\n ? presentmentPrice.compare_at_price.amount\n : presentmentPrice.price.amount,\n sellPrice: presentmentPrice.price?.amount\n ? presentmentPrice.price.amount\n : presentmentPrice.compare_at_price.amount\n }\n })\n : {\n currency: null,\n costPrice: variant.price,\n sellPrice: variant.compare_at_price\n }\n }\n })\n }\n\n results.push({ ...result })\n }\n\n return { results, total: totalProducts, page_info }\n }\n }\n}\n\nfunction extractLinkParams(link) {\n let nextLink = link\n\n // If there's a previous link, remove the first part of the string entirely\n if (nextLink.indexOf(`rel=\"previous\"`) > -1) {\n nextLink = nextLink.substr(nextLink.indexOf(',') + 2, nextLink.length)\n }\n\n // Parse the remaining string for the actual link\n nextLink = nextLink.substr(1, nextLink.indexOf('>') - 1)\n\n return nextLink\n}\n"]}
|
|
1
|
+
{"version":3,"file":"get-store-products.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-products.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://shopify.dev/docs/admin-api/rest/reference/products/product?api[version]=2020-07#index-2020-07 */\n\nimport { URL } from 'url'\n\nimport { StoreAPI } from '../../store-api'\n\nexport function getStoreProducts() {\n return {\n method: 'get',\n path: '/products.json',\n denormalize(req) {\n var { pagination, pageInfo, fromUpdatedDate, toUpdatedDate } = req || {}\n var { page, limit } = pagination || { page: 0, limit: 100 }\n\n var payload: any = {\n limit: limit\n }\n\n if (fromUpdatedDate && toUpdatedDate) {\n payload.updated_at_max = toUpdatedDate\n payload.updated_at_min = fromUpdatedDate\n }\n\n if (pageInfo) payload.page_info = pageInfo\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.products\n const linkParams = res.link\n let page_info: string\n\n if (linkParams) {\n const url = extractLinkParams(linkParams)\n var urlParams = new URL(url)\n page_info = urlParams.searchParams.get('page_info')\n }\n\n let results: any[] = []\n let totalProducts = await StoreAPI.getStoreProductsCount(store, res)\n\n for (var i = 0; i < res.products.length; i++) {\n const product: any = res.products[i]\n const productVariations: any[] = product.variants\n\n const inventoryIds: string[] = productVariations.map(productVariation => productVariation.inventory_item_id)\n const inventoryItemIds: string = inventoryIds.join()\n\n const inventoryLevels: any = await StoreAPI.getInventoryLevel(store, {\n inventoryItemIds\n })\n\n for (var j = 0; j < productVariations.length; j++) {\n let locationIds: any = []\n const productVariation: any = productVariations[j]\n const productInventoryItemId = productVariation.inventory_item_id\n for (var k = 0; k < inventoryLevels.inventory_levels.length; k++) {\n const inventoryLevel: any = inventoryLevels.inventory_levels[k]\n const inventoryItemId = inventoryLevel.inventory_item_id\n\n if (inventoryItemId == productInventoryItemId) {\n const locationId: any = {\n location_id: inventoryLevel.location_id,\n available: inventoryLevel.available === null ? 0 : inventoryLevel.available\n }\n locationIds.push(locationId)\n }\n }\n productVariation.location_id = JSON.stringify(locationIds)\n }\n\n const result = {\n itemId: product.id,\n name: product.title,\n type: product.product_type,\n description: product.body_html,\n marketplaceStatus: product.status,\n hasVariation: true,\n categoryId: product?.collection_id ? product.collection_id : null,\n attributes: [],\n sellercraftAttributes: [\n {\n native_attribute_id: 'description',\n attribute_key: 'description',\n display_name: 'Description',\n values: [product.body_html],\n data_type: 'RICH_TEXT'\n }\n ],\n images: product?.images?.map(image => {\n return image.src\n }) || [],\n variations: productVariations.map(variant => {\n return {\n variationId: variant.id,\n variationSku: variant.sku,\n channelSku: variant.sku,\n name: variant.title == 'Default Title' ? product.title : variant.title,\n qty: variant.inventory_quantity,\n inventoryPolicy: variant.inventory_policy,\n inventoryItemId: variant.inventory_item_id,\n locationId: variant.location_id,\n extraMetadata: {\n inventoryItemId: variant.inventory_item_id,\n locationId: variant.location_id, \n },\n primaryUnit: variant.weight_unit,\n primaryUnitValue: variant.weight,\n costPrice: variant.price,\n sellPrice: variant.compare_at_price || variant.price,\n attributes: [\n {\n attributeId: variant.option1,\n name: variant.option1\n },\n {\n attributeId: variant.option2,\n name: variant.option2\n },\n {\n attributeId: variant.option3,\n name: variant.option3\n }\n ],\n sellercraftAttributes: product?.options.map(option => {\n return {\n native_attribute_id: option.name,\n attribute_key: option.name,\n display_name: option.name,\n values: [variant[`option${option.position}`]]\n }\n }) || [],\n weight: variant.grams,\n presentmentPrices: variant?.presentment_prices\n ? variant.presentment_prices.map(presentmentPrice => {\n return {\n currency: presentmentPrice.price?.currency_code\n ? presentmentPrice.price.currency_code\n : presentmentPrice.compare_at_price.currency_code,\n costPrice: presentmentPrice.compare_at_price?.amount\n ? presentmentPrice.compare_at_price.amount\n : presentmentPrice.price.amount,\n sellPrice: presentmentPrice.price?.amount\n ? presentmentPrice.price.amount\n : presentmentPrice.compare_at_price.amount\n }\n })\n : {\n currency: null,\n costPrice: variant.price,\n sellPrice: variant.compare_at_price\n }\n }\n })\n }\n\n results.push({ ...result })\n }\n\n return { results, total: totalProducts, page_info }\n }\n }\n}\n\nfunction extractLinkParams(link) {\n let nextLink = link\n\n // If there's a previous link, remove the first part of the string entirely\n if (nextLink.indexOf(`rel=\"previous\"`) > -1) {\n nextLink = nextLink.substr(nextLink.indexOf(',') + 2, nextLink.length)\n }\n\n // Parse the remaining string for the actual link\n nextLink = nextLink.substr(1, nextLink.indexOf('>') - 1)\n\n return nextLink\n}\n"]}
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
6
6
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
7
7
|
const querystring_1 = tslib_1.__importDefault(require("querystring"));
|
|
8
|
-
const integration_base_1 = require("@things-factory/integration-base");
|
|
9
8
|
const debug = require('debug')('things-factory:integration-marketplace:shopify');
|
|
10
9
|
class Shopify {
|
|
11
10
|
constructor(config) {
|
|
@@ -53,12 +52,11 @@ class Shopify {
|
|
|
53
52
|
const link = response.headers.get('link');
|
|
54
53
|
var result = await response.json();
|
|
55
54
|
result.link = link;
|
|
56
|
-
try {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
catch (e) { }
|
|
55
|
+
// try {
|
|
56
|
+
// createPayloadLog(shop, path, qs || '', result, {
|
|
57
|
+
// state: { domain: null }
|
|
58
|
+
// })
|
|
59
|
+
// } catch (e) {}
|
|
62
60
|
debug('response result', result);
|
|
63
61
|
return result;
|
|
64
62
|
}
|
|
@@ -76,12 +74,11 @@ class Shopify {
|
|
|
76
74
|
body: jsondata
|
|
77
75
|
});
|
|
78
76
|
const result = await response.json();
|
|
79
|
-
try {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
catch (e) { }
|
|
77
|
+
// try {
|
|
78
|
+
// createPayloadLog(shop, path, jsondata, result, {
|
|
79
|
+
// state: { domain: null }
|
|
80
|
+
// })
|
|
81
|
+
// } catch (e) {}
|
|
85
82
|
debug('response result', result);
|
|
86
83
|
return result;
|
|
87
84
|
}
|
|
@@ -99,12 +96,11 @@ class Shopify {
|
|
|
99
96
|
body: jsondata
|
|
100
97
|
});
|
|
101
98
|
const result = await response.json();
|
|
102
|
-
try {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
catch (e) { }
|
|
99
|
+
// try {
|
|
100
|
+
// createPayloadLog(shop, path, jsondata, result, {
|
|
101
|
+
// state: { domain: null }
|
|
102
|
+
// })
|
|
103
|
+
// } catch (e) {}
|
|
108
104
|
debug('response result', result);
|
|
109
105
|
return result;
|
|
110
106
|
}
|