openydt-evcharge
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseopenydt-evcharge — 电动车充电域 (evcharge)
openydt-evcharge — EV Charging Domain (evcharge)
CRITICAL:开始前 MUST 先用 Read 工具读取(认证 / profile / 签名 / 状态码 / 限速 / 安全规则)。未读共享基座不要执行任何命令。../openydt-shared/SKILL.md
CRITICAL:MUST use the Read tool to readbefore starting (Authentication / Profile / Signature / Status Code / Rate Limiting / Security Rules). Do not execute any commands without reading the shared base.../openydt-shared/SKILL.md
何时用本技能
When to Use This Skill
当用户需要对电动车充电平台做只读查询/统计时使用本技能,例如:列某运营商(代理商)名下的充电站、看某充电站详情、查充电桩及枪口实时状态、统计站点/桩的经营数据(订单数、充电电量、电费/服务费)、查充电订单列表或单笔订单详情。
意图路由:
- 要站点:按运营商账号/手机号列站 → ;按站点编号看单站(含 operatorName、pileCount) →
station-list。station-detail - 要充电桩/枪口 → (返回
pile-list枪口状态)。guns[] - 要经营数据/营收/电量 → (按站点聚合到每根桩)。
station-statistics - 要订单 → 列表用 (按时间段,可加 plotCodes/pileId/useraccount 过滤);单笔用
order-list(按 orderNo)。order-detail - 若要做停车(非充电)的查费/缴费、停车记录/在场、月票/券/设备/黑白名单等,请改用对应停车域技能 [[openydt-billing]] / [[openydt-record]] / [[openydt-park]] / [[openydt-monthticket]] / [[openydt-coupon]] / [[openydt-device]] / [[openydt-list]]。
- 充电平台若有本技能未覆盖的 cmd,用 [[openydt-api-explorer]] 以 兜底。
openydt api <cmd>
Use this skill when users need to perform read-only queries/statistics on the EV charging platform, such as listing charging stations under an operator (agent), viewing details of a charging station, checking real-time status of charging piles and gun ports, statistics on operation data of stations/piles (order count, charging electricity, electricity fee/service fee), and querying charging order lists or single order details.
Intent Routing:
- For stations: List stations by operator account/mobile number → ; View single station details (including operatorName, pileCount) by station code →
station-list.station-detail - For charging piles/gun ports → (returns
pile-listgun port status).guns[] - For operation data/revenue/electricity → (aggregated to each pile by station).
station-statistics - For orders: Use for lists (filtered by time period, optional plotCodes/pileId/useraccount); Use
order-listfor single orders (by orderNo).order-detail - For parking (non-charging) fee inquiry/payment, parking records/presence, monthly tickets/coupons/devices/blacklists, etc., please use the corresponding parking domain skills [[openydt-billing]] / [[openydt-record]] / [[openydt-park]] / [[openydt-monthticket]] / [[openydt-coupon]] / [[openydt-device]] / [[openydt-list]].
- If the charging platform has commands not covered by this skill, use [[openydt-api-explorer]] with as a fallback.
openydt api <cmd>
可用命令
Available Commands
| 中文名 | 命令 | 读/写 | 关键参数 |
|---|---|---|---|
| 获取充电站点列表 | | 读 | useraccount / mobile(二选一)、pageNum、pageSize |
| 获取充电站点详情 | | 读 | plotCode(必填) |
| 获取充电桩设备列表 | | 读 | useraccount(必填)、plotCodes(数组,仅 --body)、pageNum、pageSize |
| 获取站点经营数据 | | 读 | useraccount(必填)、plotCodes(数组)、startDate、endDate(必填,≤30天)、分页 |
| 获取充电订单列表 | | 读 | startDate、endDate(必填,≤30天)、useraccount/plotCodes/pileId(可选过滤)、分页 |
| 获取订单详情 | | 读 | orderNo(必填) |
全部为只读命令,无需。命令名已去掉冗余域前缀(--yes而非station-list);原始业务码evcharge-station-list等仍可作 alias 使用。evchargeStationList
| Chinese Name | Command | Read/Write | Key Parameters |
|---|---|---|---|
| Get Charging Station List | | Read | useraccount / mobile (choose one), pageNum, pageSize |
| Get Charging Station Details | | Read | plotCode (required) |
| Get Charging Pile Device List | | Read | useraccount (required), plotCodes (array, only via --body), pageNum, pageSize |
| Get Station Operation Data | | Read | useraccount (required), plotCodes (array), startDate, endDate (required, ≤30 days), pagination |
| Get Charging Order List | | Read | startDate, endDate (required, ≤30 days), optional filters: useraccount/plotCodes/pileId, pagination |
| Get Order Details | | Read | orderNo (required) |
All commands are read-only, no need for. The command names have removed redundant domain prefixes (--yesinstead ofstation-list); Original business codes likeevcharge-station-listcan still be used as aliases.evchargeStationList
入参约束(来自平台规则)
Parameter Constraints (from Platform Rules)
- :
station-list与useraccount至少传一个。mobile - 是站点编号数组:只能经
plotCodes传(不是单值 flag);不传或空数组表示不按站点过滤,默认最多 50 个。--body - /
startDate:格式endDate,间隔不能超过 30 天(超过回 status=2 / resultCode=909「查询时间范围不能超过 30 天」)。yyyy-MM-dd HH:mm:ss - 分页:最大 50(超过回业务失败「pageSize 不能大于 50」);命令会按 catalog 文档默认值在缺省时注入
pageSize/pageNum=1。pageSize=10
- : At least one of
station-listanduseraccountmust be passed.mobile - is an array of station codes: Can only be passed via
plotCodes(not a single-value flag); Not passing or passing an empty array means no filtering by stations, default maximum 50.--body - /
startDate: FormatendDate, interval cannot exceed 30 days (exceeding returns status=2 / resultCode=909 "Query time range cannot exceed 30 days").yyyy-MM-dd HH:mm:ss - Pagination: maximum 50 (exceeding returns business failure "pageSize cannot be greater than 50"); The command will inject default values
pageSize/pageNum=1from the catalog document when missing.pageSize=10
业务流程
Business Process
充电域均为只读查询,典型链路是先定位运营商/站点,再下钻桩与订单,强调用前序响应字段作为后续入参:
- 定位站点:用 (传
station-list或--useraccount)拿到站点的--mobile/plotCode;或已知plotName直接plotCode看详情(返回station-detail、operatorName、经纬度、运行状态)。pileCount - 下钻充电桩:把第 1 步的 放进
plotCode的pile-list的--body数组(配plotCodes),得到各桩--useraccount、pileId、enabled与runningStatus枪口状态。guns[] - 经营统计:(useraccount + plotCodes + 时间段)按站点聚合到每根桩,给出
station-statistics/orderCount/chargeTotalTimes/totalPower/totalAmount/totalElectricFee。totalServiceFee - 订单分析:(时间段必填,可用第 1/2 步的
order-list、plotCodes、pileId过滤)列订单并拿到useraccount;需要单笔细节再用orderNo。order-detail --order-no <orderNo>
字段传递要点:/station-list的station-detail→plotCode/pile-list/station-statistics的order-list数组(经 --body);plotCodes的pile-list→pileId的order-list过滤;--pile-id的order-list→orderNo的order-detail。--order-no
All operations in the charging domain are read-only queries. The typical link is first locate the operator/station, then drill down to piles and orders, emphasizing using response fields from previous steps as parameters for subsequent steps:
- Locate Station: Use (pass
station-listor--useraccount) to get--mobile/plotCodeof stations; Or directly useplotNameto view details ifstation-detailis known (returnsplotCode,operatorName, longitude/latitude, running status).pileCount - Drill Down to Charging Piles: Put the from Step 1 into the
plotCodearray inplotCodesof--body(withpile-list) to get--useraccount,pileId,enabledof each pile andrunningStatusgun port status.guns[] - Operation Statistics: (useraccount + plotCodes + time period) aggregates data to each pile by station, providing
station-statistics/orderCount/chargeTotalTimes/totalPower/totalAmount/totalElectricFee.totalServiceFee - Order Analysis: (time period required, can be filtered by
order-list,plotCodes,pileIdfrom Step 1/2) lists orders and getsuseraccount; UseorderNofor single order details.order-detail --order-no <orderNo>
Field Transfer Points:fromplotCode/station-list→station-detailarray inplotCodes/pile-list/station-statistics(via --body);order-listfrompileId→pile-listfilter in--pile-id;order-listfromorderNo→order-listin--order-no.order-detail
响应字段/枚举速查(prod 实测,与对接文档有出入)
Quick Reference for Response Fields/Enumerations (prod actual measurement, inconsistent with docking document)
⚠️ 以下为正式环境实测结果;对接文档写的单一英文枚举(PAID/CHARGING…)在 prod 未出现。以平台实测为准;若平台后续澄清,以平台为准。orderStatus
- 订单(/
order-list)有两个状态维度:order-detail- /
chargeStatus—— 充电状态:chargeStatusName=充电中,9002=已完成。9003 - /
orderState—— 订单状态:orderStatusName=下单,1=已支付。3 - 金额字段(/
totalAmount/electricFee)单位「元」,电量serviceFee单位「kWh」,chargingPower形如「12分」「1分12秒」。chargingDuration
- 充电桩():
pile-list0停用/1启用;桩enabled(原值)0运行/1离线;runningStatus为所属站点;plotCode实测 0=离线 / 2=空闲 / 4=已插枪(对接文档仅给 2=空闲)。guns[].status - 站点经营():
station-statistics含piles[](充电次数,文档未列)及 orderCount/totalDuration/totalPower/totalAmount/totalElectricFee/totalServiceFee;recordList 项含chargeTotalTimes。stationName - 站点(/
station-list):station-detail1运营中/0已停业;runningStatus另含station-detail、operatorName、pileCount/lng、lat。region
⚠️ The following are actual measurement results from the production environment; The singleEnglish enumeration (PAID/CHARGING…) written in the docking document does not appear in prod. Follow the actual platform measurement; If the platform clarifies later, follow the platform's instructions.orderStatus
- Orders(/
order-list) have two status dimensions:order-detail- /
chargeStatus—— Charging status:chargeStatusName=Charging,9002=Completed.9003 - /
orderState—— Order status:orderStatusName=Ordered,1=Paid.3 - Amount fields(/
totalAmount/electricFee) are in "Yuan", electricityserviceFeeis in "kWh",chargingPoweris in the format like "12min" "1min12sec".chargingDuration
- Charging Piles():
pile-list0=Disabled/1=Enabled; Pileenabled(original value)0=Running/1=Offline;runningStatusis the affiliated station;plotCodeactual measurement 0=Offline / 2=Idle / 4=Plugged in(docking document only provides 2=Idle).guns[].status - Station Operation():
station-statisticsincludespiles[](charging count, not listed in document) and orderCount/totalDuration/totalPower/totalAmount/totalElectricFee/totalServiceFee; recordList items includechargeTotalTimes.stationName - Stations(/
station-list):station-detail1=In Operation/0=Closed;runningStatusadditionally includesstation-detail,operatorName,pileCount/lng,lat.region
错误自愈速查
Quick Reference for Error Self-Healing
| 现象 | 含义 | 恢复动作 |
|---|---|---|
| resultCode 909「查询时间范围不能超过 30 天」 | | 收窄 |
| 业务失败「pageSize 不能大于 50」 | 分页超限 | |
| | 至少给一个 |
| 当成单值 flag 传了 | 用 |
| 返回空 / nodata | 多为时间窗无业务,或在 test 环境查充电(充电数据当前在 prod 验证) | 换时间窗,或 |
通用 status/resultCode、退出码、限速重试、签名版本见 [[openydt-shared]]。充电复用同一签名鉴权(默认 v2)。
| Phenomenon | Meaning | Recovery Action |
|---|---|---|
| resultCode 909 "Query time range cannot exceed 30 days" | Time window of | Narrow |
| Business failure "pageSize cannot be greater than 50" | Pagination exceeds limit | Set |
| Neither | Provide at least one |
| Passed as a single-value flag | Use |
| Returns empty / nodata | Mostly no business data in the time window, or querying charging in test environment(charging data is currently verified in prod) | Change time window, or add |
General status/resultCode, exit code, rate limiting retry, signature version refer to [[openydt-shared]]. Charging reuses the same signature authentication(default v2).
示例
Examples
充电业务数据目前在 prod 验证(test 环境可能无充电数据);如需查 prod,加并配 prod 凭据。下列为只读命令,安全。样例站点--env prod、运营商C3CMHJX为实测值。DLS001
bash
undefinedCharging business data is currently verified in prod(test environment may have no charging data); To query prod, addand configure prod credentials. The following are read-only commands, safe. Sample station--env prod, operatorC3CMHJXare actual measured values.DLS001
bash
undefined1) 按运营商账号列充电站(二选一:--useraccount 或 --mobile)
1) List charging stations by operator account(choose one: --useraccount or --mobile)
openydt evcharge station-list --useraccount DLS001 --page-size 10
openydt evcharge station-list --useraccount DLS001 --page-size 10
2) 看单站详情(含运营商、桩数、运行状态)
2) View single station details(including operator, pile count, running status)
openydt evcharge station-detail --plot-code C3CMHJX
openydt evcharge station-detail --plot-code C3CMHJX
3) 列站内充电桩与枪口(plotCodes 是数组,必须经 --body)
3) List charging piles and gun ports in the station(plotCodes is array, must be passed via --body)
openydt evcharge pile-list --body '{"useraccount":"DLS001","plotCodes":["C3CMHJX"],"pageNum":1,"pageSize":10}'
openydt evcharge pile-list --body '{"useraccount":"DLS001","plotCodes":["C3CMHJX"],"pageNum":1,"pageSize":10}'
4) 站点经营数据(时间段 ≤30 天)
4) Station operation data(time period ≤30 days)
openydt evcharge station-statistics --body '{"useraccount":"DLS001","plotCodes":["C3CMHJX"],"startDate":"2026-06-01 00:00:00","endDate":"2026-06-18 23:59:59","pageNum":1,"pageSize":10}'
openydt evcharge station-statistics --body '{"useraccount":"DLS001","plotCodes":["C3CMHJX"],"startDate":"2026-06-01 00:00:00","endDate":"2026-06-18 23:59:59","pageNum":1,"pageSize":10}'
5) 充电订单列表(时间段必填,可按站点/桩/运营商过滤),拿到 orderNo
5) Charging order list(time period required, can be filtered by station/pile/operator), get orderNo
openydt evcharge order-list --body '{"plotCodes":["C3CMHJX"],"startDate":"2026-06-01 00:00:00","endDate":"2026-06-18 23:59:59","pageNum":1,"pageSize":10}'
openydt evcharge order-list --body '{"plotCodes":["C3CMHJX"],"startDate":"2026-06-01 00:00:00","endDate":"2026-06-18 23:59:59","pageNum":1,"pageSize":10}'
6) 单笔订单详情(用第 5 步响应里的 orderNo)
6) Single order detail(use orderNo from Step 5 response)
openydt evcharge order-detail --order-no 26061820675194016111704626880659
undefinedopenydt evcharge order-detail --order-no 26061820675194016111704626880659
undefined