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
Added on

NPX Install

npx skill4agent add xiaowen-0725/openydt-cli openydt-coupon

SKILL.md Content (Chinese)

View Translation Comparison →
CRITICAL: MUST use the Read tool to read
../openydt-shared/SKILL.md
before starting
(Authentication / Profile / Signature / Status Code / Rate Limiting / Security Rules). Do not execute any commands without reading the shared base document.

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" →
    openydt coupon create-trader
    (Write operation, requires
    --yes
    ).
  • "Edit merchant info / Freeze merchant / Unfreeze / Delete merchant" →
    openydt coupon edit-trader
    /
    frozen-trader
    /
    delete-trader
    (Write operation, requires
    --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
    /
    create-fixed-coupon
    (Write operation, requires
    --yes
    ).
  • "Sell vouchers to merchant / Sell e-vouchers" →
    openydt coupon sell-coupon
    (Write operation, requires
    --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
    /
    sync-scan-coupon-qr-code
    (Write operation, requires
    --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
    /
    print-coupon
    (Write operation, requires
    --yes
    ).
Querying actual fee after voucher deduction / Payment is in the trade domain (
openydt trade --help
); Parking vehicle confirmation is in the parking domain (
openydt parking --help
).

Available Commands

English NameCommandRead/WriteKey Parameters
Get Merchant Info
openydt coupon get-trader-info-by-trader-code
Read
--trader-code
Required
Verify Merchant User Account Password
openydt coupon validate-trader-account-and-password
Read
--trader-user-account
Required,
--trader-password
Required
Create Merchant
openydt coupon create-trader
Write
--trader-name
Required,
--contact
Required,
--phone
Required,
--park-code
Required,
--login-account
Required,
--password
Required,
--trader-type
(0 Catering/1 Hotel/2 Leisure & Entertainment/3 Life Services/4 Shopping/5 Others)
Edit Merchant
openydt coupon edit-trader
Write
--trader-code
/
--trader-id
(Either one),
--trader-name
Required,
--contact
Required,
--phone
Required,
--park-code
Required,
--login-account
Required,
--password
Required,
--trader-type
Freeze or Unfreeze Merchant
openydt coupon frozen-trader
Write
--trader-code
/
--trader-id
(Either one),
--park-code
Required,
--status
Required(0 Unfreeze/1 Freeze)
Delete Merchant (Irreversible)
openydt coupon delete-trader
Write
--park-code
Required,
--trader-code
/
--trader-id
(Either one)
Query Merchant List
openydt coupon get-trader-list
Read
--park-code
Required,
--create-time-from
Required,
--create-time-to
Required,
--page-num
Required,
--page-size
Required(Max 1000)
Create E-Voucher Template
openydt coupon create-coupon-template
Write
--name
Required,
--sell-from
/
--sell-to
/
--grant-from
/
--grant-to
Required,
--valid-minute
Required,
--balance-type
Required,
--coupon-type
Required,
--face-value
Required,
--original-price
/
--real-price
/
--use-rule-from
/
--use-rule-to
Required
Create E-Voucher and Sell to Merchant
openydt coupon create-coupon
Write
--trader-code
Required,
--total-count
Required(≤10,000),
--body
(parkCodeList, couponTemplate sub-object)
Create Fixed E-Voucher (One Code for Multiple Vouchers)
openydt coupon create-fixed-coupon
Write
--trader-code
Required,
--group-name
Required,
--valid-from
/
--valid-to
Required,
--max-num
Required,
--sell-bill-id
Required,
--uniq-no
Required
Sell E-Vouchers to Merchant
openydt coupon sell-coupon
Write
--trader-coupon-template-code
Required,
--trader-code
Required,
--sell-num
Required,
--sell-money
Required,
--sell-time
Required,
--sell-remark
,
--transation-num
Issue E-Voucher to Specified Vehicle
openydt coupon send-coupon
Write
--trader-code
Required,
--sell-bill-id
Required,
--car-code
Required,
--car-code-color
,
--parking-code
Issue Merchant Voucher by Voucher Code
openydt coupon send-coupon-by-coupon-code
Write
--coupon-code
Required,
--car-no
/
--card-no
(Cannot be empty at the same time),
--park-code
,
--grant-user-id
,
--car-code-color
,
--parking-code
,
--is-fixed-qr-code
,
--origin
Sync E-Voucher QR Code Scan
openydt coupon sync-scan-coupon-qr-code
Write
--coupon-code
Required,
--grant-user-id
Required
Check If E-Voucher Is Issuable
openydt coupon check-coupon-whether-send-available
Read
--coupon-code
Required,
--fixed-status
(0 Non-fixed/1 Fixed)
Check E-Voucher QR Code Validity
openydt coupon check-coupon-qr-code-valid-status
Read
--coupon-code
Required,
--origin
Required
Print E-Voucher (Mark as Issued)
openydt coupon print-coupon
Write
--trader-code
Required,
--coupon-sn
Required
Query E-Voucher Print Records
openydt coupon query-coupon-print-record
Read
--coupon-code
Required
Lock E-Voucher
openydt coupon lock-coupon
Write
--url
Required
Reclaim E-Voucher
openydt coupon cancel-coupon
Write
--trader-code
Required,
--coupon-sn
Required
Query Issued E-Vouchers (By License Plate/Card Number)
openydt coupon query-car-code-valid-coupon
Read
--park-code
Required,
--car-code
,
--card-code
,
--coupon-sn
Query E-Voucher Info
openydt coupon query-coupon
Read
--trader-code
Required,
--query-type
Required(0 Specified/1 All/2 Issuable),
--page
Required,
--page-size
Required,
--coupon-code-list
Query Available E-Vouchers
openydt coupon query-usable-coupon
Read
--trader-code
Required,
--sell-bill-id
Required
Query Applicable Parking Lots by Voucher Code
openydt coupon query-coupon-available-park-by-coupon-code
Read
--coupon-code
Required,
--fixed-status
Required(0 Non-fixed/1 Fixed)
Query Voucher Template by Voucher Template Code
openydt coupon query-coupon-template-by-coupon-code
Read
--code
Required(Merchant voucher template code)
Query Voucher Template by Voucher SN
openydt coupon query-coupon-template-by-coupon-sn
Read
--coupon-sn
Required
Query Merchant Info by Voucher Code
openydt coupon query-trader-info-by-coupon-code
Read
--coupon-sn
Required
Query E-Voucher Sales Records
openydt coupon query-trader-coupon-sell-record
Read
--sell-begin-time
Required,
--sell-end-time
Required,
--page-num
,
--page-size
,
--body
(parkCodeList)
Query Merchant Voucher Issuance Records
openydt coupon get-trader-coupon-grant-record-list
Read
--trader-id
Required,
--begin-time
Required,
--end-time
Required,
--page-num
Required,
--page-size
Required,
--body
(parkCodeList),
--need-coupon-park
,
--need-coupon-status
Query Coupon List (By License Plate)
openydt coupon get-trader-coupon-list
Read
--page-size
,
--page-num
,
--body
(parkCodes, carNos/carPlateList Either one)
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
/
cancel-coupon
) must include
--yes
for confirmation, otherwise they will be blocked.

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:
  1. Create Merchant + Create Voucher Template (Write operations, both require
    --yes
    ):
    openydt 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
      traderCode
      from the
      create-trader
      response (can also be retrieved via
      get-trader-list
      ) → use as
      --trader-code
      for all subsequent commands;
    • Extract voucher template code (merchant voucher template code) from the
      create-coupon-template
      response → use as
      --trader-coupon-template-code
      for
      sell-coupon
      in Step 2 (can also verify via
      query-coupon-template-by-coupon-code --code <Template Code>
      ).
  2. Sell to Merchant (Write operation, requires
    --yes
    ) — use the merchant code + template code obtained in Step 1:
    openydt 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
      sellBillId
      from the
      sell-coupon
      response → use as
      --sell-bill-id
      for
      send-coupon
      in Step 3 (can also check the available issuance quantity of this batch via
      query-usable-coupon --trader-code <traderCode> --sell-bill-id <id>
      ).
  3. Issue to Vehicle (Write operation, requires
    --yes
    ) — use the
    sellBillId
    + merchant code obtained in Step 2:
    openydt coupon send-coupon --yes \
      --trader-code <From create-trader> \
      --sell-bill-id <From sell-coupon> \
      --car-code <License Plate> --car-code-color 1
    You can also issue by voucher code:
    send-coupon-by-coupon-code --yes --coupon-code <Voucher Code> --car-no <License Plate>
    (Cannot leave both
    --car-no
    and
    --card-no
    empty). Before issuing, you can confirm if it's issuable via
    check-coupon-whether-send-available --coupon-code <Voucher Code>
    .
  4. 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
      couponSn
      from the query response → use as
      --coupon-sn
      for
      cancel-coupon
      in Step 5 (To query merchant info via voucher code, use
      query-trader-info-by-coupon-code --coupon-sn <couponSn>
      ).
  5. Reclaim (Write operation, requires
    --yes
    ) — use the
    couponSn
    + merchant code obtained in Step 4:
    openydt coupon cancel-coupon --yes --trader-code <traderCode> --coupon-sn <From query>

Examples

Create Merchant (Write operation, must include
--yes
; parameters from catalog sampleBody):
openydt coupon create-trader --yes \
  --trader-name Test Merchant --trader-type 5 \
  --contact Contact Person --phone 13800000000 \
  --park-code 2KNTYVWC --login-account trader001 --password 123456
Sell E-Vouchers to Merchant (Write operation, must include
--yes
; template code / merchant code from previous responses):
openydt 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