SuperAPI AI Directory

openydt-evcharge

General & other

View repository

Updated 10-16 07:23

About this skill

openydt-evcharge — EV charging domain (evcharge)

CRITICAL: Before starting, MUST first use the Read tool to read ../openydt-shared/SKILL.md(authentication / profile / signature / status codes / rate limiting / security rules). Do not execute any command without reading the shared base.

When to use this skill

Use this skill when the user needs to perform read-only queries/statistics on theEV charging platform, for example: list the charging stations under a certain operator (agent), view the details of a certain charging station, query the real-time status of charging piles and gun connectors, count the operation data of stations/piles (order count, charging electricity, electricity fee/service fee), query the charging order list or the details of a single order.

Intent routing:

  • Forstations: list stations by operator account/mobile number → station-list; view a single station by station code (including operatorName, pileCount) → station-detail。
  • Forcharging piles/gun connectors → pile-list(returns guns[] gun connector status).
  • Foroperation data/revenue/electricity → station-statistics(aggregated by station down to each pile).
  • Fororders → for the list use order-list(by time period, can add plotCodes/pileId/useraccount filters); for a single order use order-detail(by orderNo).
  • If you need to doparking(non-charging) fee queries/payments, parking records/presence, monthly passes/coupons/devices/blacklists and whitelists, etc., please switch to the corresponding parking domain skills [[openydt-billing]] / [[openydt-record]] / [[openydt-park]] / [[openydt-monthticket]] / [[openydt-coupon]] / [[openydt-device]] / [[openydt-list]].
  • If the charging platform has cmd not covered by this skill, use [[openydt-api-explorer]] with openydt api <cmd> as a fallback.

Available commands

Chinese name Command Read/Write Key parameters
Get charging station list openydt evcharge station-list Read useraccount / mobile (choose one), pageNum, pageSize
Get charging station details openydt evcharge station-detail Read plotCode (required)
Get charging pile device list openydt evcharge pile-list Read useraccount (required), plotCodes (array, only --body), pageNum, pageSize
Get station operation data openydt evcharge station-statistics Read useraccount (required), plotCodes (array), startDate, endDate (required, ≤30 days), pagination
Get charging order list openydt evcharge order-list Read startDate, endDate (required, ≤30 days), useraccount/plotCodes/pileId (optional filters), pagination
Get order details openydt evcharge order-detail Read orderNo (required)

All are read-only commands, no --yes. Command names have had redundant domain prefixes removed (station-list instead of evcharge-station-list); the original business codes evchargeStationList etc. can still be used as aliases.

Input parameter constraints (from platform rules)

  • station-list:useraccount and mobile at least one must be provided。
  • plotCodes is asite number array: can only be passed via --body (not a single-value flag); if not provided or an empty array, it means no filtering by site, defaulting to at most 50.
  • startDate/endDate: format yyyy-MM-dd HH:mm:ss,the interval cannot exceed 30 days(if exceeded, returns status=2 / resultCode=909 "The query time range cannot exceed 30 days").
  • Pagination:pageSize maximum 50(if exceeded, returns business failure "pageSize cannot be greater than 50"); the command will inject the default value from the catalog documentation when omitted pageNum=1 / pageSize=10。

Business process

The charging domain is entirely read-only queries; the typical chain isfirst locate the operator/site, then drill down to chargers and orders, emphasizing using fields from previous responses as subsequent input parameters:

  1. Locate site: use station-list(pass --useraccount or --mobile) to get the site's plotCode/plotName; or if the plotCode is already known, directly station-detail to view details (returns operatorName、pileCount, latitude/longitude, operating status).
  2. Drill down to chargers: put the plotCode from step 1 into the pile-list of the --body of plotCodes array (with --useraccount), to get each charger's pileId、enabled、runningStatus and guns[] connector status.
  3. Business statistics:station-statistics(useraccount + plotCodes + time range) aggregated by site down to each charger, giving orderCount/chargeTotalTimes/totalPower/totalAmount/totalElectricFee/totalServiceFee。
  4. Order analysis:order-list(time range required; can use the plotCodes、pileId、useraccount from steps 1/2 to filter) lists orders and gets the orderNo; if single-order details are needed, then use order-detail --order-no <orderNo>。

Field passing key points:station-list/station-detail the plotCode → pile-list/station-statistics/order-list the plotCodes array (via --body);pile-list the pileId → order-list the --pile-id filter;order-list the orderNo → order-detail the --order-no。

Response fields/enum quick reference (prod-tested, differs from integration documentation)

⚠️ The following are actual test results in the production environment; the single orderStatus English enum (PAID/CHARGING…) written in the integration documentation did not appearin prod. The platform's actual test results shall prevail; if the platform later clarifies, the platform shall prevail.

  • Order(order-list/order-detail) hastwo status dimensions:
    • chargeStatus / chargeStatusName — Charging status:9002=charging,9003=completed.
    • orderState / orderStatusName — Order status:1=placed,3=paid.
    • Amount field (totalAmount/electricFee/serviceFee) unit "yuan", electricity chargingPower unit "kWh",chargingDuration in the form "12 min" "1 min 12 sec".
  • Charger(pile-list):enabled 0 disabled/1 enabled; charger runningStatus(original value) 0 running/1 offline;plotCode is the site it belongs to;guns[].status actual test 0=offline / 2=idle / 4=connector plugged in(the integration documentation only gives 2=idle).
  • Site operations(station-statistics):piles[] includes chargeTotalTimes(number of charging sessions, not listed in the documentation) and orderCount/totalDuration/totalPower/totalAmount/totalElectricFee/totalServiceFee; recordList items contain stationName。
  • Station(station-list/station-detail):runningStatus 1 in operation/0 closed;station-detail also contains operatorName、pileCount、lng/lat、region。

Error self-healing quick reference

Symptom Meaning Recovery action
resultCode 909 "query time range cannot exceed 30 days" order-list/station-statistics time window >30 days narrow startDate/endDate to ≤30 days
Business failure "pageSize cannot be greater than 50" pagination exceeds limit --page-size ≤ 50
station-list reports parameter error useraccount and mobile neither passed provide at least one
plotCodes did not take effect passed as a single-value flag use --body '{"plotCodes":["C3CMHJX"]}'(arrays can only be passed via body)
returns empty / nodata mostly no business in the time window, or querying charging in the test environment(charging data is currently verified in prod) change the time window, or --env prod + corresponding prod credentials to verify; not an interface failure

For general status/resultCode, exit codes, rate-limit retries, and signature versions, see [[openydt-shared]]. Charging reuses the same signature authentication (default v2).

Example

Charging business data is currently verified in prod (the test environment may have no charging data); to query prod, add --env prod and configure prod credentials. The following are read-only commands and are safe. Sample station C3CMHJX, operator DLS001 are measured values.

# 1) 按运营商账号列充电站(二选一:--useraccount 或 --mobile)
openydt evcharge station-list --useraccount DLS001 --page-size 10

# 2) 看单站详情(含运营商、桩数、运行状态)
openydt evcharge station-detail --plot-code C3CMHJX

# 3) 列站内充电桩与枪口(plotCodes 是数组,必须经 --body)
openydt evcharge pile-list --body '{"useraccount":"DLS001","plotCodes":["C3CMHJX"],"pageNum":1,"pageSize":10}'

# 4) 站点经营数据(时间段 ≤30 天)
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
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)
openydt evcharge order-detail --order-no 26061820675194016111704626880659