13 KiB
LTJT Business Module API Inventory
Date: 2026-07-07
Scope
Authorized browser session for the 业务操作 module on https://ltjt.yunzhi.run/.
This inventory records endpoint shapes and parameter names only. It intentionally avoids storing business data rows, cookie values, passwords, CAPTCHA values, or other secrets.
Integration Model Observed
- The app is a classic ASP/IIS back office.
- Business screens are HTML pages under
/System/Business/*.asp. - List data is usually loaded by jQuery XHR from
/System/dat/*.aspwithPOSTform encoding. - Most list endpoints return
text/html; Charset=UTF-8, not JSON. - Common pagination keys:
Act,Tpage,P_Size, then the page'sSearchForm.serialize()fields. - The UI opens modules as extra iframes/tabs inside
System/Mainlt.asp, not as a single replaced iframe. - A direct unauthenticated or expired call returns JavaScript such as
alert('登陆失效,请重新登陆!').
Core List Endpoints
| Module | Page | List endpoint | Act | Notes |
|---|---|---|---|---|
| 产品管理 | /System/Business/Product.asp |
POST /System/dat/product.asp |
PrintGridList |
Confirmed by real menu click. |
| 独立团计划表 | /System/Business/orders.asp |
POST /System/dat/orders.asp |
JH_OrderList |
Confirmed by real menu click. |
| 散拼团计划表 | /System/Business/plan.asp |
POST /System/dat/plan.asp |
SP_OrderList |
Confirmed by real menu click. |
| 团队安排 | /System/Business/teams.asp |
POST /System/dat/team.asp |
PrintGridLists |
Confirmed by real menu click. |
| 航班控位表 | /System/Business/tickets.asp |
POST /System/dat/tickets.asp |
PrintGridListh |
Confirmed from page JS; initial load also calls AjaxPublicFun.asp?Act=Probaowei. |
| 团队备案表 | /System/Business/teams_beians.asp |
POST /System/dat/team.asp |
PrintGridListb |
Confirmed by real menu click. |
| 退货管理 | /System/Business/teams_return.asp |
POST /System/dat/team_return.asp |
PrintGridLists |
Confirmed by real menu click. |
| 客服回访 | /System/Business/kefu.asp |
POST /System/dat/team.asp |
PrintGridListk |
Confirmed by real menu click. |
| 酒店用房表 | /System/Business/Hotels.asp |
POST /System/dat/hotels.asp |
TBD | Page references confirmed; exact Act still needs a stable-login script capture. |
Parameter Shapes
产品管理
Endpoint: POST /System/dat/product.asp
Observed body keys:
Act=PrintGridList, Tpage, P_Size, S_fabudanwei, S_chanpinming, S_tianshu, S_kehu, S_caozuoren, S_zhuanxianming, S_zhuangtai.
Related endpoints:
POST /System/dat/AjaxPublicFun.asp?Act=ProGetTableZD&tb=Product&zd=chanpinming&s_fabudanwei=...GET /System/Business/product_list.asp?ID=...GET /System/Business/product_add.asp?cp=...POST ../DAT/product.aspandPOST ../dat/product.aspare referenced for product actions.
独立团计划表
Endpoint: POST /System/dat/orders.asp
Observed list body keys:
Act=JH_OrderList, Tpage, P_Size, riqi, S_chufariqi, S_chufarizhi, S_fabudanwei, S_tuanxuhao, S_kehuming, S_chanpinming, S_gendanren, S_youkexinxi, S_daoyou, S_lingdui, S_querenshu, S_zhuanxianming, S_zhuangtai.
Other actions referenced:
Act=JH_OrderList_oneAct=DelRecordAct=JH_OrdercopyAct=JH_set_quxiao
Related pages:
/System/Business/orders_list.asp?did=.../System/Business/orders_add.asp?fabudanwei=.../System/Business/orders_adds.asp?fabudanwei=.../System/Business/cash_shou_add.asp?.../System/Business/teams_shoudaoyou.asp?tdid=...orders_excel.asp
独立团下单 / 新增订单
Full extracted field schema:
- Machine-readable JSON: schemas/orders_add_form_schema.json
- Human-readable summary: schemas/orders_add_form_schema.md
Entry point:
- The
下单button on/System/Business/orders.asphasonclick=OPEN_update(0,0,0). - It opens a dialog iframe:
/system/Business/orders_add.asp?fabudanwei=<分公司>©=0&ddid=0&_=<timestamp> - The page title is
计划下单/修改.
Save endpoint:
- Form id/name:
ListForm - Form action:
/System/DAT/orders.asp?Act=DoInfoJH - JavaScript submit call:
POST /System/DAT/orders.asp - Submit payload:
Act=DoInfoJH&+$("#ListForm").serialize() - Response type: JavaScript (
dataType: "script"), so success/failure is probably returned as executable script/alerts rather than JSON.
Submit behavior observed:
SubmitInfoForm()first checks that the total large/small passenger counts are not both zero.- It then calls
Vidy.CheckMastInput("ListForm")to enforce required fields and basic input filtering. - Only after those checks does it call
$.ajax({ type: "POST", url: "/System/DAT/orders.asp", dataType: "script", data: "Act=DoInfoJH&" + $("#ListForm").serialize() }). - The loaded add form contained about 825
input/select/textareafields, because it includes repeated itinerary, receivable, flight, restaurant, hotel, attraction, attachment, and hidden metadata rows.
Primary required fields observed on the add form:
chufa_ri- 出发日期zhuanxianming- 专线名称TianShu- 行程天数zutuansheplus hiddenzutuansheid,zutuanshegzr,bizhong- 预订客户/customer metadatachanpinmingplus hiddenbaojia- 产品名称/pricing metadatagendanren- 跟单人tuanxuhao1,tuanxuhao2- 团号 partsdarenshu,xiaorenshu,ertrenshu,yingrenshu,quanrenshu- adult/child/infant/leader countsxiaoshouren- 销售人
Other form field groups observed:
lianxiren,keyuandi,xiadanbeizhu,yaobeian,danzhuangtaifrenshu*traveler-count breakdown fieldsText*_NandshuomingNitinerary/explanation blocksPicFile0,PicFile1upload attachment referencesys_*receivable/charge rows, including unit, item, currency, quantity, unit price, amount, payment-state metadata, remarks, operator/reviewer fieldsban*flight rows, up to 4 observed row groupszao*,zhong*,wan*,zhusu*,jingdian*itinerary/service arrangement rows, up to 15 day rows and repeated attraction slots- hidden operational fields including
ddid,tdid,quanxian,fabudanwei,caozuoren,ys_shenhe,yingfu_jing,yingfu_can,zhusuanpai,daoyoujiesuan,youyingshoukuan,session_id
Lookup/support endpoints loaded by the add page:
POST /system/dat/AjaxPublicFun.asp?Act=GetInformation&fl=1&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=ProTravel&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=GetSFXiangMu&sf=0POST /system/dat/AjaxPublicFun.asp?Act=Probaowei&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=GetProucttextes&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=ProDanweiZCxm&leibie=3&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=ProDanweiZCxm&leibie=4&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=ProDanweiZCxm&leibie=1&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=GetInformation&fl=3&fls=1&fabudanwei=...POST /system/dat/AjaxPublicFun.asp?Act=ProGetProductname&fls=1&fabudanwei=...POST ../dat/AjaxPublicFun.asp?Act=Find_danweixinxi&...POST ../DAT/AjaxPublicFun.asp?Act=Find_qiankuan&...POST ../dat/AjaxPublicFun.asp?Act=GetProduct&cpm=...
Attachment helper pages:
/Inc/UpLoadImg.asp?InputID=PicFile0&Exe=jpg|jpeg|bmp|png|gif|tif|doc|xls|xlsx|docx|pdf&oldval=.../Inc/UpLoadImg.asp?InputID=PicFile1&Exe=jpg|jpeg|bmp|png|gif|tif|doc|xls|xlsx|docx|pdf&oldval=...
Feasibility note:
- The down-order operation is technically addressable through
Act=DoInfoJH, but it is a large browser-form contract rather than a small API call. - Building a reliable adapter requires reproducing the page's client-side construction of
ListForm: lookup fills, hidden IDs, currency/unit metadata, itinerary rows, receivable rows, uploaded attachment references, and validation. - It should be developed first as a dry-run serializer that opens
orders_add.asp, fills fields in a controlled browser/page context, serializesListForm, and compares the payload without pressing submit. - Actual
Act=DoInfoJHsubmission should wait for explicit owner approval and a test/sandbox order or rollback policy.
散拼团计划表
Endpoint: POST /System/dat/plan.asp
Observed list body keys:
Act=SP_OrderList, Tpage, P_Size, riqi, S_chufariqi, S_chufarizhi, S_fabudanwei, S_tuanxuhao, S_kehuming, S_chanpinming, S_gendanren, S_youkexinxi, S_daoyou, S_querenshu, S_zhuanxianming, S_zhuangtai.
Other actions referenced:
Act=SP_OrderList_oneAct=SP_PlancopyAct=DelRecordAct=JH_set_quxiao
Related pages:
/System/Business/plan_List.asp?tid=.../System/Business/plan_order.asp?tdid=.../System/Business/plan_add.asp?fabudanwei=.../System/Business/plan_update.asp?tid=...
团队安排
Endpoint: POST /System/dat/team.asp
Observed body keys:
Act=PrintGridLists, Tpage, P_Size, riqi, S_chufariqi, S_chufarizhi, S_fabudanwei, S_chanpinming, S_fatuanren, S_daoyou, S_kehu, S_jiudian, S_chedui, S_tuanxuhao, S_Guide, S_Car, S_Hotel, S_Train, S_Other, S_youke, S_tuanbao, S_zhuanxianming, S_zhuanxianlei, S_zhuangtai.
Related pages:
/System/Business/plan_List.asp?tid=.../System/Business/orders_list.asp?tid=.../System/Business/teams_daoyou.asp?tdid=.../System/Business/teams_cheliang.asp?tdid=.../System/Business/teams_jiudian.asp?tdid=.../System/Business/teams_piao.asp?tdid=.../System/Business/teams_qita.asp?tdid=...teams_excel.asp
航班控位表
Endpoint: POST /System/dat/tickets.asp
Observed list body keys:
Act=PrintGridListh, Tpage, P_Size, S_chufariqi, S_chufarizhi, S_fabudanwei, S_picihao, S_kehu, S_danweiid, S_danwei, S_zhuanxianlei.
Related endpoints/pages:
POST /System/dat/AjaxPublicFun.asp?Act=Probaowei&fabudanwei=.../System/Business/tickets_add.asp?.../System/Business/tickets_one.asp?hangbanhao=...tickets_excel.asp
团队备案表
Endpoint: POST /System/dat/team.asp
Observed body keys:
Act=PrintGridListb, Tpage, P_Size, riqi, S_chufariqi, S_chufarizhi, S_fabudanwei, S_chanpinming, S_jidiaoren, S_daoyou, S_kehu, S_beianhao, S_tuanxuhao, S_Other, S_youke, S_zhuanxianming, S_zhuanxianlei, S_zhuangtai.
Related page:
/System/Business/teams_qita.asp?tdid=...
退货管理
Endpoint: POST /System/dat/team_return.asp
Observed body keys:
Act=PrintGridLists, Tpage, P_Size, riqilei, S_chufariqi, S_chufarizhi, S_fabudanwei, S_tuanxuhao, S_chanpinming, S_gouwudian, S_daoyou, S_kehu, S_youke, S_fatuanren, S_zhuanxianming, S_zhuangtai.
Related pages:
/System/Business/teams_return_add.asp?fabudanwei=...teams_return_excel.asp
客服回访
Endpoint: POST /System/dat/team.asp
Observed body keys:
Act=PrintGridListk, Tpage, P_Size, riqi, S_chufariqi, S_chufarizhi, S_fabudanwei, S_tuanxuhao, S_chanpinming, S_fatuanren, S_daoyou, S_zhuanxianlei, S_zhuanxianming, S_zhuangtai.
Related actions/pages:
/System/Business/kefu_add.asp?tdid=...Act=del_kefuonPOST /System/DAT/team.asp
Permission or Session-Sensitive Pages
The following business-menu items showed permission alerts, empty frames, or session invalidation during capture and should be rechecked after a fresh login if they are needed:
/System/Business/Cash_fu.asp- 我的付款单/System/Business/Cash_shou.asp- 我的收款单/System/Business/Cash_zhi.asp- 我的费用报销单/System/Business/Invoice.asp- 我的发票申请/System/Business/Bill_out.asp- 我发放的签单/System/Business/Arrears.asp- 我的客户欠款
Practical Feasibility
Direct integration appears feasible, but not as a clean public API. The practical path is to build an adapter that:
- Logs in through an approved account/session strategy.
- Replays the same
application/x-www-form-urlencodedXHR calls used by each page. - Parses HTML fragments, not JSON.
- Handles session expiry scripts and permission-alert scripts as first-class errors.
- Keeps writes disabled until each write endpoint is separately reviewed and authorized.
Runtime must not depend on AI/LLM decisions. AI is only acceptable for discovery and mapping drafts. The production adapter should be deterministic: standard data object -> explicit field mapping -> lookup resolution -> dry-run serialization -> validated submit.
See adapter_design.md for the recommended non-AI runtime architecture.
Open items before production:
- Confirm stable login/session renewal with the system owner.
- Capture response-body structure for successful list calls after a fresh login.
- Confirm whether dat endpoints require a page-opened iframe context, Referer, or additional cookies.
- Define allowed read/write operations for the integration account.