Authoritative Tutorial on the Yongyou BIP Staff Query API Field Handbook
What Problem Does This API Solve
In cross-system sales order synchronization, if master data such as sales reps, organizations, and departments cannot be aligned, documents will inevitably get "mixed up" downstream. The Yongyou BIP staff query API pulls staff master data from Yongyou BIP into the middle platform, serving as the authoritative base table for personnel mapping and organizational affiliation alignment with Xiaoman OKKI CRM, providing a clean personnel reference for subsequent sales order synchronization.
API Capabilities Overview
- Endpoint:
/yonbip/digitalModel/staff/list - Method: POST with JSON body
- Strategy type: QUERY_ONLY, Target configured as "write no-op", no data written to target
- Pagination:
pageIndex(default 1),pageSize(default 10), both string type - Incremental mode: The API itself has no incremental field; typical practice is to filter by
modifiedtimeon the middle platform side, or perform a full rebuild daily - Schedule: crontab
3 2 * * *, full pull at 02:03 AM, avoiding business peak hours - Primary key / code:
idas metadata primary key,codeas metadata code, both used for cross-system mapping
Typical Field Mappings
| Field | Type | Meaning | Practical Notes |
|---|---|---|---|
| id | string | Staff primary key | metadata id, the unique anchor for cross-system association, must be used as the primary key |
| code | string | Staff code | metadata number, business-readable code, preferred for reconciliation |
| name | string | Staff name | Used in selector display; fall back to code for same-name scenarios |
| org_id / org_id_name | string | Organization ID and name | Must be distinguished in multi-org isolation scenarios, otherwise cross-org data leakage occurs |
| dept_id / dept_id_name | string | Department ID and name | Commonly used as basis for sales region division |
| user_id | string | Associated user primary key | Bound to login account, used for SSO and permission assignment |
| mobile | string | Mobile number | Pay attention to desensitization and field length; don't treat as required when many values are empty |
| enable | string | Enabled status (0/1) | Filter enable=1 during integration, disabled staff should not flow downstream |
| dr | string | Logical deletion flag | Must filter dr=0, otherwise deleted staff will be synced out |
| ordernumber | string | Sort number | Used for list display order, generally not relevant to business |
| modifier / modifier1 | string | Modifier ID and name | For auditing, very useful when troubleshooting |
| modifiedtime | string | Modification time | Key field for incremental windows on the middle platform side |
| pubts | string | Publish timestamp | Used with modifiedtime for consistency check |
How to Configure on Qeasy Cloud
In the Qeasy Cloud data integration platform, this API is typically wrapped with a "query adapter"; simply select "Yongyou BIP" as the source system to attach the existing staff/list connector.
- Data object selection: bind the staff object's
idto the metadata id field, andcodeto the number field. Qeasy Cloud's field mapper will automatically recognize them as a "primary key + code" dual-anchor structure, allowing direct bridging via code when mapping sales order sales reps. - Pagination and pull strategy: Qeasy Cloud's loop puller will automatically paginate by
pageIndex/pageSizeuntil an empty page is returned. It is recommended to setpageSizebetween 50–100 to balance call count and single response volume. - Target write no-op: because this is a pure query, directly select "No Operation (NOOP)" in the Target configuration. Qeasy Cloud only drops the data into the middle platform cache table for downstream strategies to consume, without writing back to Yongyou.
- Scheduling and dependencies: set the cron to
3 2 * * *in Qeasy Cloud's scheduling canvas, and configure this strategy as a prerequisite for "Xiaoman sales order => Yongyou BIP sales order", ensuring personnel master data is ready before order synchronization. - Auto-naming by field mapper: Qeasy Cloud will automatically translate
org_id_nameintoorg_nameanddrintois_deletedaccording to the generic concept table, allowing direct reuse of the semantic layer when modeling across systems.
Cross-Solution Best Practices
- Use code as the business anchor: across multiple client projects, we have found that using code (staff code) for cross-system mapping is far more stable than using name; homonyms, duplicate names, and Chinese character encoding differences will not affect matching.
- Must filter dr=0 and enable=1: these are the two switches most prone to errors. If forgotten, deleted or disabled staff will be pushed downstream, creating "ghost sales reps".
- Incremental relies on modifiedtime: although the API itself provides no incremental parameter, modifiedtime is stable and reliable on the middle platform side. The safe approach is to do a daily full pull + verify against the last 7 days of modifiedtime.
- Target must be configured as no-op: this is a QUERY_ONLY strategy; newcomers most often mistakenly point Target to a real object, causing data to be wrongly written. Be sure to explicitly configure NOOP.
- Schedule ahead of downstream order strategies: staff master data must land before sales order synchronization. We usually set cron 30–60 minutes before the order strategy to avoid the situation where "the data is needed but not yet there".
- Use organization/department in pairs: always carry both ID and name of org and dept, so that in cross-org scenarios the ID can be used for permission isolation while the name is used for display.
Pitfall Remediation
- Pitfall 1: Forgot to filter dr, deleted staff are synced
Symptom: long-departed sales reps appear downstream.
Fix: directly add
dr=0 AND enable=1to the filter conditions in Qeasy Cloud, and save as a strategy template for reuse. - Pitfall 2: Setting pageSize to 1 triggers rate limiting Symptom: the early-morning task is rate-limited midway, causing all subsequent strategies to be delayed. Fix: raise pageSize to 50–100, reducing call count and lowering the probability of being rate-limited.
- Pitfall 3: Target mistakenly configured to a real object Symptom: staff data is written back to a downstream object, creating dirty data. Fix: QUERY strategies should always explicitly set Target=write no-op, and this should be a mandatory check item during review.
- Pitfall 4: Using name as unique key, encountering duplicate-named staff Symptom: during reconciliation, only one record is retained for staff with the same name. Fix: cross-system mapping should always fall back to code; never use name alone.
- Pitfall 5: Inconsistent timezones for modifiedtime Symptom: the incremental window is miscalculated, causing data to be missed. Fix: store in UTC on the middle platform side, then convert to local time on the display side; document cross-project conventions in metadata comments.
When to Use This
Choose this query strategy when your sales order integration needs to align personnel master data such as sales reps, owners, organizations, and departments between CRM and ERP, or when you need to provide an authoritative personnel base table for downstream order synchronization. If you only need to query one or two individuals occasionally, going directly through the Yongyou portal or open-platform API is lighter and does not require a scheduled job.