Authoritative Tutorial on Supplier Inventory Outbound Query Interface for VansysHealth
What Problem Does This Interface Solve
The VansysHealth sccp.sup.insout.download is the Supply Chain Control Platform (SCCP) supplier inventory outbound download interface. It pulls outbound details of drugs and consumables from VansysHealth. In pharmaceutical supply chain integration scenarios, it handles the one-way aggregation of "supplier → hospital" outbound data, commonly used for reconciliation, reporting, near-expiry alerts, batch tracing, and downstream mapping to Kingdee Cosmic material master data. It is a zero-write-risk "safe data source" under QUERY mode.
Interface Capability Overview
- Authentication: In private deployment, dual-factor validation based on tenant key and IP whitelist; API access must be applied in advance in the VansysHealth console.
- Request Structure: POST format, with pagination parameters (page number, page size) and time window (outbound date range) in the body; supports incremental by
stkinsoutidorstkinsoutno. - Response Structure: JSON array, each record contains 26 core fields including
hoscode,goodscode,qty,money,lotno, etc., as detailed in the table below. - Pagination/Incremental Mode: Standard pagination (
pageNum/pageSize) combined withinsoutdatetime window incremental; polling every 10 minutes (*/10 * * * *), with metadataidconfigured asstkinsoutidandnumberconfigured asstkinsoutno. - Write Constraint: This strategy is QUERY_ONLY, strictly prohibited from writing to Kingdee Cosmic, only serving as a data source reference for subsequent integration solutions.
Typical Field Mappings
| Field Name | Type | Meaning | Practical Notes |
|---|---|---|---|
| stkinsoutid | string | Outbound document primary key | Configure as id in metadata for downstream deduplication |
| stkinsoutno | string | Outbound document business number | Configure as number in metadata, business-unique |
| hoscode | string | Hospital code | Organizational dimension in multi-zone scenarios |
| hosdeptcode | string | Department code | Align with organization master data |
| supcode | string | Supplier code | Used to map Kingdee FSupplierId |
| goodscode | string | Hospital material code | Used to map Kingdee material code |
| goodsname | string | Hospital material name | Note Chinese/English/aliases |
| spec | string | Specification | Align with material master data |
| unit | string | Unit | Minimum packaging unit |
| manufactor | string | Manufacturer | Determines qualification certificate association |
| lotno | string | Batch number | Key for GSP traceability |
| mfdate | string | Manufacture date | Note timezone and date format |
| expire | string | Expiry date | Core for near-expiry alerts |
| snno | string | Serial number | Required for high-value consumables |
| qty | string | Quantity | String, needs conversion to numeric |
| sellprice | string | Sales unit price | Confirm tax-included/excluded with upstream |
| money | string | Amount | Verify with qty * sellprice |
| insoutdate | string | Outbound date | Time anchor for incremental pull |
| ordercd | string | Order code | Linked to purchase order |
| orderdcd | string | Order detail code | Line-level traceability |
| ulappdno | string | Requisition number | In-hospital process traceability |
| insouttype | string | Outbound type | Distinguish purchase/requisition/transfer |
How to Configure on Qeasy
On the Qeasy data integration platform, this interface is usually encapsulated with an "HTTP Adapter + Field Mapper" combination: the adapter side fills in the VansysHealth API address, tenant key, and whitelist IP; the field mapper automatically identifies stkinsoutid/stkinsoutno as the primary key and business number, landing them in Qeasy's metadata table; the incremental strategy uses "outbound date + primary key deduplication" double insurance, and the platform's built-in pagination cycler automatically turns pages without manual scripting. The target side (this strategy) is set to "null operation" to ensure zero write.
Cross-Solution Practical Points
- Metadata Dual Anchors: Always configure
stkinsoutidasidandstkinsoutnoasnumber; no adjustments needed when reusing the same interface in subsequent solutions. - Time Window + Primary Key Dual Incremental: Using only time window will miss backfill documents; using only primary key will miss historical data. The safe approach is "time window pull + primary key deduplication" combination.
- Supplier and Material Master Data First: Before pulling outbound details, be sure to establish mapping tables in Qeasy between
supcodeand Kingdee FSupplierId, and betweengoodscodeand material code. - Multi-Zone Parallel Strategies: Each zone (e.g., Nanqi, Sanshui) opens a separate strategy, distinguished by Sequence numbers (A/B/C), non-interfering.
- Batch/Expiry Fields Must Penetrate: In the pharmaceutical industry,
lotno,mfdate,expiremust penetrate to downstream reports; otherwise compliance audits will fail. - Clean String-Type Numeric Values:
qty,sellprice,moneyare all strings; Qeasy's field mapper needs to attach a "type converter" to convert to Decimal, avoiding downstream rounding errors.
Lessons Learned
- Pitfall 1: Mistakenly using
goodscode(hospital code) asgoodscd(internal serial number), causing material mapping misalignment. The safe approach is to only usegoodscodeto align with Kingdee materials. - Pitfall 2: Incremental pull only by
insoutdate, missing cross-day backfill documents. Fixed by switching to "time window +stkinsoutiddeduplication" double insurance. - Pitfall 3: Forgetting to update IP whitelist in private environment, getting 403 after server migration. Be sure to sync whitelist updates every time the server migrates.
- Pitfall 4: Inconsistent
expirefield format (someyyyy-MM-dd, some with timestamps). Attach a date standardization converter in Qeasy to unify asyyyy-MM-dd. - Pitfall 5: Accidentally changing the QUERY_ONLY strategy to "write to Kingdee", triggering downstream dirty data. Be sure to check the "prohibit write" hard switch in strategy configuration.
When to Use
This interface is suitable for "one-way aggregation, reconciliation, and reporting of supplier inventory outbound data" scenarios; it is not suitable for business flows that require writing back documents or modifying inventory status. If the downstream needs to trigger inbound or transfer, please use VansysHealth's inbound/transfer write-type interface and open a separate strategy to avoid mixing with QUERY_ONLY and causing data pollution.