docs: confirm basic data scheduled flow
This commit is contained in:
@@ -26,6 +26,7 @@ Do not implement inbound module interfaces in this plan. Include all concrete in
|
||||
- `ApiService` already delegates `ess.*` and `shopee.*` APIs to `PlatformInboundApiService`.
|
||||
- `ShopeeInboundApiHandler` exists but has no outbound cases implemented.
|
||||
- Confirmed: `4.2`-`4.5` Vendor-to-WES inventory/rack-transfer interfaces all enter WES through `ShopeeInboundApiHandler`; the handler then reuses existing `wms-transfer` and `wms-inventory` services.
|
||||
- Confirmed: WES-to-Vendor basic-data interfaces in `5.2`-`5.8` are driven by scheduled jobs using a three-step `.confirm` -> `.get` -> `.uploadStatus` flow. Protocol `5.5` remains Vendor-to-WES and is not part of that scheduled outbound flow.
|
||||
- `ShipmentHeader` already contains key Shopee fields: `cutOffTime`, `purchaseTime`, `orderTime`, `shopeeWave`, `waveRule`, `kickOutWave`, `ticketType`, `pickType`, `orderStructure`, `groupKey`.
|
||||
- `ShopeeWaveService` has low-water scheduling and persistence, but the actual upstream wave-number request is still a placeholder.
|
||||
- `WaveRuleMatchService` has Shopee wave binding placeholders and local binding/rollback logic.
|
||||
@@ -888,9 +889,38 @@ Expose Shopee-facing `edi-shopee` endpoints and forward to WES:
|
||||
|
||||
Reuse existing WES user and SKU services. Do not create duplicate user/SKU lookup SQL if a service already exists.
|
||||
|
||||
- [ ] **Step 6: Add 5.2-5.4 and 5.6-5.8 WMS-to-Vendor basic calls**
|
||||
- [ ] **Step 6: Add 5.2-5.4 and 5.6-5.8 scheduled WMS-to-Vendor basic calls**
|
||||
|
||||
Use internal `edi-shopee` endpoints for:
|
||||
Confirmed trigger source: scheduled jobs. Each WES-to-Vendor basic-data sync uses this three-step internal flow:
|
||||
|
||||
```text
|
||||
<basic api>.confirm -> <basic api>.get -> <basic api>.uploadStatus
|
||||
```
|
||||
|
||||
Use this pattern for the WES-to-Vendor basic-data subset. `5.5` remains a Vendor-to-WES query handled in Step 5.
|
||||
|
||||
| Section | Step | Internal endpoint | Shopee path |
|
||||
| --- | --- | --- | --- |
|
||||
| 5.2 | `.confirm` | `/internal/shopee/automation/basic/inventory/batchStatusUpdate.confirm` | `/api/v2/automation/tovendor/basic/inventory/batch_status_update` |
|
||||
| 5.2 | `.get` | `/internal/shopee/automation/basic/inventory/batchStatusUpdate.get` | `/api/v2/automation/tovendor/basic/inventory/batch_status_update` |
|
||||
| 5.2 | `.uploadStatus` | `/internal/shopee/automation/basic/inventory/batchStatusUpdate.uploadStatus` | `/api/v2/automation/tovendor/basic/inventory/batch_status_update` |
|
||||
| 5.3 | `.confirm` | `/internal/shopee/automation/basic/inventory/querySkuBatchInventory.confirm` | `/api/v2/automation/tovendor/basic/inventory/query_sku_batch_inventory` |
|
||||
| 5.3 | `.get` | `/internal/shopee/automation/basic/inventory/querySkuBatchInventory.get` | `/api/v2/automation/tovendor/basic/inventory/query_sku_batch_inventory` |
|
||||
| 5.3 | `.uploadStatus` | `/internal/shopee/automation/basic/inventory/querySkuBatchInventory.uploadStatus` | `/api/v2/automation/tovendor/basic/inventory/query_sku_batch_inventory` |
|
||||
| 5.4 | `.confirm` | `/internal/shopee/automation/basic/inventory/syncReconciliationResult.confirm` | `/api/v2/automation/tovendor/basic/inventory/sync_reconciliation_result` |
|
||||
| 5.4 | `.get` | `/internal/shopee/automation/basic/inventory/syncReconciliationResult.get` | `/api/v2/automation/tovendor/basic/inventory/sync_reconciliation_result` |
|
||||
| 5.4 | `.uploadStatus` | `/internal/shopee/automation/basic/inventory/syncReconciliationResult.uploadStatus` | `/api/v2/automation/tovendor/basic/inventory/sync_reconciliation_result` |
|
||||
| 5.6 | `.confirm` | `/internal/shopee/automation/basic/sku/syncSkuInfo.confirm` | `/api/v2/automation/tovendor/basic/sku/sync_sku_info` |
|
||||
| 5.6 | `.get` | `/internal/shopee/automation/basic/sku/syncSkuInfo.get` | `/api/v2/automation/tovendor/basic/sku/sync_sku_info` |
|
||||
| 5.6 | `.uploadStatus` | `/internal/shopee/automation/basic/sku/syncSkuInfo.uploadStatus` | `/api/v2/automation/tovendor/basic/sku/sync_sku_info` |
|
||||
| 5.7 | `.confirm` | `/internal/shopee/automation/basic/robot/queryAgvStatus.confirm` | `/api/v2/automation/tovendor/basic/robot/query_agv_status` |
|
||||
| 5.7 | `.get` | `/internal/shopee/automation/basic/robot/queryAgvStatus.get` | `/api/v2/automation/tovendor/basic/robot/query_agv_status` |
|
||||
| 5.7 | `.uploadStatus` | `/internal/shopee/automation/basic/robot/queryAgvStatus.uploadStatus` | `/api/v2/automation/tovendor/basic/robot/query_agv_status` |
|
||||
| 5.8 | `.confirm` | `/internal/shopee/automation/basic/inventory/queryVendorUnitList.confirm` | `/api/v2/automation/tovendor/basic/inventory/query_vendor_unit_list` |
|
||||
| 5.8 | `.get` | `/internal/shopee/automation/basic/inventory/queryVendorUnitList.get` | `/api/v2/automation/tovendor/basic/inventory/query_vendor_unit_list` |
|
||||
| 5.8 | `.uploadStatus` | `/internal/shopee/automation/basic/inventory/queryVendorUnitList.uploadStatus` | `/api/v2/automation/tovendor/basic/inventory/query_vendor_unit_list` |
|
||||
|
||||
The previous one-call internal endpoint names are retained only as conceptual API names, not as the scheduled-job contract:
|
||||
|
||||
| Section | Internal endpoint | Shopee path |
|
||||
| --- | --- | --- |
|
||||
@@ -901,7 +931,7 @@ Use internal `edi-shopee` endpoints for:
|
||||
| 5.7 | `/internal/shopee/automation/basic/robot/queryAgvStatus` | `/api/v2/automation/tovendor/basic/robot/query_agv_status` |
|
||||
| 5.8 | `/internal/shopee/automation/basic/inventory/queryVendorUnitList` | `/api/v2/automation/tovendor/basic/inventory/query_vendor_unit_list` |
|
||||
|
||||
These calls stay in `edi-shopee`. For this phase, only implement callable internal endpoints; binding them to WES business events or reconciliation jobs is explicitly out of scope.
|
||||
These calls stay in `edi-shopee`. Scheduled jobs call `.confirm`, `.get`, then `.uploadStatus`; do not bind them to ad hoc WES business events in this phase.
|
||||
|
||||
- [ ] **Step 7: Compile transfer, API, inventory, and edi-shopee modules**
|
||||
|
||||
@@ -1083,9 +1113,21 @@ WMS-to-Vendor basic-data samples:
|
||||
```powershell
|
||||
Invoke-RestMethod `
|
||||
-Method Post `
|
||||
-Uri 'http://localhost:9210/internal/shopee/automation/basic/sku/syncSkuInfo' `
|
||||
-Uri 'http://localhost:9210/internal/shopee/automation/basic/sku/syncSkuInfo.confirm' `
|
||||
-ContentType 'application/json' `
|
||||
-Body '<5.6 json body from protocol>'
|
||||
-Body '<5.6 confirm json body>'
|
||||
|
||||
Invoke-RestMethod `
|
||||
-Method Post `
|
||||
-Uri 'http://localhost:9210/internal/shopee/automation/basic/sku/syncSkuInfo.get' `
|
||||
-ContentType 'application/json' `
|
||||
-Body '<5.6 get json body from protocol>'
|
||||
|
||||
Invoke-RestMethod `
|
||||
-Method Post `
|
||||
-Uri 'http://localhost:9210/internal/shopee/automation/basic/sku/syncSkuInfo.uploadStatus' `
|
||||
-ContentType 'application/json' `
|
||||
-Body '<5.6 uploadStatus json body>'
|
||||
```
|
||||
|
||||
- [ ] **Step 5: Manual internal WES smoke tests**
|
||||
|
||||
Reference in New Issue
Block a user