Loading...
Loading...
This applies when working with PUDU CloudVeil (Yunyin) OpenAPI, SSO, SM2, data board statistics, robot maps, robot status, robot tasks, robot control, callbacks, dispatch, order-to-person, or assets/*.openapi.json.
npx skill4agent add pudu-robotics/skills pudu-cloudveil-skill1. Check Environment → Verify CLOUDVEIL_BASE_URL / CLOUDVEIL_ACCOUNT / CLOUDVEIL_PASSWORD
2. Authentication → Use SSO getSecret + SM2 encryption + accountLogin to obtain access_token
3. Understand Intent → Locate functional group → Read references/capabilities.md and the hit group documents
4. Normalize Parameter Names → Map user input fields to the actual field names specified in the interface specification
5. Build and Execute Request → Read method, query, requestBody, schema from assets/*.openapi.json
6. Display Results → Consider it successful only if HTTP status is 200 and message === "SUCCESS"; otherwise, display as failedreferences/request-sdk.md| Variable | Function |
|---|---|
| CloudVeil server base URL, e.g., |
| CloudVeil login account |
| CloudVeil login password |
GET /openapi/sso/api/v1/secret/getSecretdata.secretCLOUDVEIL_ACCOUNTCLOUDVEIL_PASSWORDPOST /openapi/sso/api/v1/account/accountLogindata.access_tokenscripts/cloudveil-request.jsreferences/request-sdk.mdreferences/capabilities.md| Functional Group | Detailed Document | OpenAPI Asset | Typical Scenarios |
|---|---|---|---|
| Common Interfaces | | | Stores, maps, robot groups, locations |
| Robot Information | | | Robot status, task status |
| Robot Tasks | | | Calling, delivery, transport, errand, lifting, pallet, hosting |
| Control Commands | | | Position reporting, map switching, one-click recharge, card swiping, device shadow |
| Statistical Data | | | Data board, analysis, task details, logs |
| Order-to-Person (Beta) | | | Orders, pallet configuration, aisles, picking, batches, warehouses |
| Callback Notifications | | Not covered | Passive callback parameter description |
| Robot Dispatch | | Not covered | Traffic control zone / dispatch interfaces |
parametersrequestBodyshopIdshop_idshop-idshopIdshop_idgroupIdgroup_idgroup-idgroupIdgroup_idpayload.startPointpayload.start_pointpayload.start-point_-assets/*.openapi.jsonjqrgjq -r '.paths | keys[]' assets/robot-tasks.openapi.json
jq '.paths["/openapi/open-platform-service/v1/custom_call"].post.requestBody' assets/robot-tasks.openapi.json
jq '.paths["/openapi/data-board/v1/brief/shop"].get.parameters' assets/statistics.openapi.json
jq '.paths["/openapi/order_to_user/v1/order/import"].post.requestBody' assets/order-to-person.openapi.jsonnode scripts/cloudveil-request.js --path <api-path> [--method GET|POST] [--param key=value] [--body-json '<json>']200message === "SUCCESS"messageSUCCESS# Robot Status
GET /openapi/open-platform-service/v2/status/get_by_sn
GET /openapi/open-platform-service/v2/status/get_by_group_id
# Maps and Locations
GET /openapi/map-service/v1/open/current
GET /openapi/open-platform-service/v1/robot/get_position
POST /openapi/map-service/v1/open/group
# Tasks
POST /openapi/open-platform-service/v1/custom_call
POST /openapi/open-platform-service/v1/delivery_task
POST /openapi/open-platform-service/v1/transport_task
POST /openapi/open-platform-service/v1/task_errand
POST /openapi/open-platform-service/v1/lifting_task
# Control
GET /openapi/open-platform-service/v2/recharge
POST /openapi/open-platform-service/v1/switch_map
# Statistics
GET /openapi/data-board/v1/brief/shop
GET /openapi/data-board/v1/analysis/run
# Order-to-Person
POST /openapi/order_to_user/v1/order/import
GET /openapi/order_to_user/v1/batch/query
GET /openapi/order_to_user/v1/warehouse/query_points