openydt-coupon
Original:🇨🇳 Chinese
Translated
E-Voucher & Merchant Domain: Closed-loop processes including creating/editing/freezing/deleting merchants, creating voucher templates, selling, issuing, querying, and reclaiming vouchers. Covers frequently used terms such as e-voucher/coupon/discount voucher/parking voucher/merchant voucher/merchant/create merchant/create voucher/voucher template/sell voucher/issue voucher/distribute coupon/scan to issue voucher/fixed voucher/print voucher/reclaim voucher/refund voucher/lock voucher/query voucher/issued voucher/available voucher/voucher QR code/voucher applicable parking lot/sales record/issuance record.
14installs
Sourcexiaowen-0725/openydt-cli
Added on
NPX Install
npx skill4agent add xiaowen-0725/openydt-cli openydt-couponTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →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 document.../openydt-shared/SKILL.md
When to Use This Skill
This skill covers the E-Voucher & Merchant Domain (coupon): creation and maintenance of merchants (trader), creation of e-voucher templates, selling vouchers to merchants, issuing e-vouchers to vehicles, querying voucher and merchant information, and reclaiming vouchers. Vehicles can use e-vouchers in parking lots to deduct part or all of the parking fee.
Intent Routing:
- "Create a merchant / Add a merchant / Enter merchant account" → (Write operation, requires
openydt coupon create-trader).--yes - "Edit merchant info / Freeze merchant / Unfreeze / Delete merchant" → /
openydt coupon edit-trader/frozen-trader(Write operation, requiresdelete-trader).--yes - "Query merchant list / View a merchant's info / Verify merchant account password" → /
openydt coupon get-trader-list/get-trader-info-by-trader-code.validate-trader-account-and-password - "Create a voucher template / Create coupon / Create fixed voucher" → /
openydt coupon create-coupon-template/create-coupon(Write operation, requirescreate-fixed-coupon).--yes - "Sell vouchers to merchant / Sell e-vouchers" → (Write operation, requires
openydt coupon sell-coupon).--yes - "Issue voucher to this vehicle / Distribute coupon / Issue by voucher code / Scan to issue voucher" → /
openydt coupon send-coupon/send-coupon-by-coupon-code(Write operation, requiressync-scan-coupon-qr-code).--yes - "Query vouchers for this vehicle / Issued vouchers / Available vouchers / Voucher info" → /
openydt coupon query-car-code-valid-coupon/query-usable-coupon.query-coupon - "Reclaim this voucher / Refund voucher / Lock voucher / Print voucher" → /
openydt coupon cancel-coupon/lock-coupon(Write operation, requiresprint-coupon).--yes
Querying actual fee after voucher deduction / Payment is in the trade domain (); Parking vehicle confirmation is in the parking domain (openydt trade --help).openydt parking --help
Available Commands
| English Name | Command | Read/Write | Key Parameters |
|---|---|---|---|
| Get Merchant Info | | Read | |
| Verify Merchant User Account Password | | Read | |
| Create Merchant | | Write | |
| Edit Merchant | | Write | |
| Freeze or Unfreeze Merchant | | Write | |
| Delete Merchant (Irreversible) | | Write | |
| Query Merchant List | | Read | |
| Create E-Voucher Template | | Write | |
| Create E-Voucher and Sell to Merchant | | Write | |
| Create Fixed E-Voucher (One Code for Multiple Vouchers) | | Write | |
| Sell E-Vouchers to Merchant | | Write | |
| Issue E-Voucher to Specified Vehicle | | Write | |
| Issue Merchant Voucher by Voucher Code | | Write | |
| Sync E-Voucher QR Code Scan | | Write | |
| Check If E-Voucher Is Issuable | | Read | |
| Check E-Voucher QR Code Validity | | Read | |
| Print E-Voucher (Mark as Issued) | | Write | |
| Query E-Voucher Print Records | | Read | |
| Lock E-Voucher | | Write | |
| Reclaim E-Voucher | | Write | |
| Query Issued E-Vouchers (By License Plate/Card Number) | | Read | |
| Query E-Voucher Info | | Read | |
| Query Available E-Vouchers | | Read | |
| Query Applicable Parking Lots by Voucher Code | | Read | |
| Query Voucher Template by Voucher Template Code | | Read | |
| Query Voucher Template by Voucher SN | | Read | |
| Query Merchant Info by Voucher Code | | Read | |
| Query E-Voucher Sales Records | | Read | |
| Query Merchant Voucher Issuance Records | | Read | |
| Query Coupon List (By License Plate) | | Read | |
All write commands (/create-trader/edit-trader/frozen-trader/delete-trader/create-coupon-template/create-coupon/create-fixed-coupon/sell-coupon/send-coupon/send-coupon-by-coupon-code/sync-scan-coupon-qr-code/print-coupon/lock-coupon) must includecancel-couponfor confirmation, otherwise they will be blocked.--yes
Business Process
E-Voucher Closed Loop (Create Merchant + Create Template → Sell → Issue → Query → Reclaim)
Execute step by step, must use fields from the previous command response as parameters for subsequent commands (merchant code traderCode, voucher template code traderCouponTemplateCode, sales bill sellBillId, unique voucher number couponSn), do not construct them out of thin air:
-
Create Merchant + Create Voucher Template (Write operations, both require):
--yesopenydt coupon create-trader --yes \ --trader-name <Merchant Name> --contact <Contact Person> --phone <Phone Number> \ --park-code <Parking Lot Code> --login-account <Account> --password <Password> openydt coupon create-coupon-template --yes \ --name <Voucher Name> --sell-from ... --sell-to ... --grant-from ... --grant-to ... \ --valid-minute 60 --balance-type 0 --coupon-type 1 \ --face-value 500 --original-price 600 --real-price 500 \ --use-rule-from 0 --use-rule-to 1000- Extract merchant code from the
traderCoderesponse (can also be retrieved viacreate-trader) → use asget-trader-listfor all subsequent commands;--trader-code - Extract voucher template code (merchant voucher template code) from the response → use as
create-coupon-templatefor--trader-coupon-template-codein Step 2 (can also verify viasell-coupon).query-coupon-template-by-coupon-code --code <Template Code>
- Extract merchant code
-
Sell to Merchant (Write operation, requires) — use the merchant code + template code obtained in Step 1:
--yesopenydt coupon sell-coupon --yes \ --trader-coupon-template-code <From create-coupon-template> \ --trader-code <From create-trader> \ --sell-num 100 --sell-money 0.01 --sell-time "2018-04-16 09:00:00"- Extract sales bill from the
sellBillIdresponse → use assell-couponfor--sell-bill-idin Step 3 (can also check the available issuance quantity of this batch viasend-coupon).query-usable-coupon --trader-code <traderCode> --sell-bill-id <id>
- Extract sales bill
-
Issue to Vehicle (Write operation, requires) — use the
--yes+ merchant code obtained in Step 2:sellBillIdopenydt coupon send-coupon --yes \ --trader-code <From create-trader> \ --sell-bill-id <From sell-coupon> \ --car-code <License Plate> --car-code-color 1You can also issue by voucher code:(Cannot leave bothsend-coupon-by-coupon-code --yes --coupon-code <Voucher Code> --car-no <License Plate>and--car-noempty). Before issuing, you can confirm if it's issuable via--card-no.check-coupon-whether-send-available --coupon-code <Voucher Code> -
Query Vouchers (Read operation) — confirm vouchers have been assigned to the vehicle / merchant:
openydt coupon query-car-code-valid-coupon --park-code <Parking Lot> --car-code <License Plate> openydt coupon query-coupon --trader-code <traderCode> --query-type 1 --page 1 --page-size 10- Extract unique voucher number from the query response → use as
couponSnfor--coupon-snin Step 5 (To query merchant info via voucher code, usecancel-coupon).query-trader-info-by-coupon-code --coupon-sn <couponSn>
- Extract unique voucher number
-
Reclaim (Write operation, requires) — use the
--yes+ merchant code obtained in Step 4:couponSnopenydt coupon cancel-coupon --yes --trader-code <traderCode> --coupon-sn <From query>
Examples
Create Merchant (Write operation, must include ; parameters from catalog sampleBody):
--yesopenydt coupon create-trader --yes \
--trader-name Test Merchant --trader-type 5 \
--contact Contact Person --phone 13800000000 \
--park-code 2KNTYVWC --login-account trader001 --password 123456Sell E-Vouchers to Merchant (Write operation, must include ; template code / merchant code from previous responses):
--yesopenydt coupon sell-coupon --yes \
--trader-coupon-template-code GCSH3FI1YNDN \
--trader-code NWTSZY49BH67 \
--sell-num 100 --sell-money 0.01 --sell-remark Test \
--sell-time "2018-04-16 09:00:00"Query Issued E-Vouchers by License Plate (Read operation):
openydt coupon query-car-code-valid-coupon --park-code 2KKN6111 --car-code 粤B88888