# 橘视厅接口参考手册(日常排查用) > 2026-09-09 整理。来源:release App `jiecheng_business1.3.27` 抓包 + 后端实测 + 同事现场 curl 验证。 --- ## 一、基础凭证(release App 写死,我方沿用) ``` sptoken = 9006874392099a89506142c6df9e3314 signKey = alltvjs portalcode = PCODE-JC channelid = 001 ``` 签名算法:`sign = MD5(sptoken + timeshift + portalcode + signKey).toUpperCase()` --- ## 二、CDN 节点与数据差异(核心坑) ### 现网 servhub(DNS 同 IP 但媒资库版本不同!) | 节点 | 完整 URL | release App 命中 | 说明 | |---|---|---|---| | **ep01** | `https://servhub-ep01.future.jetsentv.com/` | ✅ 实际走这个 | 最新片(8月中下旬上线的)、正确片名 | | **ep03** | `https://servhub-ep03.future.jetsentv.com/` | ❌ 已弃用 | 媒资滞后,新片缺失、片名被改写 | ### 实测对比(ep01 vs ep03) | 片名 | contentcode | ep01 | ep03 | |---|---|---|---| | 后悔没有好好爱过你 | `23010022026090109192132084` | ✅ 同名 | ✅ 同名 | | 乌女山怪谈 | `23010022026090109192132085` | ✅ 同名 | ✅ 同名 | | 千门八将之群龙夺宝 | `23010022026082517202131945` | ✅ 同名 | ✅ 同名 | | 日出江花 | `23010022026082416335131944` | ✅ 同名 | ✅ 同名 | | 刺客的身份 | `23010022026080316521131798` | ✅ 同名 | ✅ 同名 | | 湘西异闻录 | `23010022026072809450131743` | ✅ 原名湘西异闻录 | ⚠️ **显示为血夜行** | | 海墓龙棺 | `23010022026081017241131881` | ✅ 有 | ❌ **完全查不到**(sizetotal=0) | **结论**:后端媒资代理必须走 **ep01**,否则新片查不到、老片片名错位。 ### 预发布 external | 节点 | 完整 URL | 说明 | |---|---|---| | external-ep01 | `https://external-ep01.future.jetsentv.com:8010` | App 预发布主入口 | | external-ep02 | `https://external-ep02.future.jetsentv.com` | 预发布备用 | --- ## 三、API 主入口(登录/激活/支付,不走 servhub) | 环境 | 完整 URL | 用途 | |---|---|---| | 现网 | `https://api.future.jetsentv.com/` | ums_api(login/logout/isLogin)、ccms_api(activateCard/queryUsable)、bms_api(queryOrderList/getPayResultCycle) | | 预发布 | `https://external.future.jetsentv.com/` | 同上 | > **不受 ep01/ep03 影响**,API 统一网关。 --- ## 四、图片 CDN | 域名 | 用途 | |---|---| | `https://imgcms.jetsenx.huashi.tv` | **主**:新片海报(海墓龙棺、湘西异闻录等) | | `https://img01.jetsenx.huashi.tv` | 老片海报 | --- ## 五、华视网聚旧域名(已全部失效) | 域名 | 当前状态 | |---|---| | `https://api.jetsenx.huashi.tv` | 502 Bad Gateway | | `https://external.jetsenx.huashi.tv` | 404 Not Found | --- ## 六、我方后端配置项 文件:`src/main/java/io/as/modules/media/config/JetsenMediaConfig.java` ```yaml jetsen: media: base-url: https://servhub-ep01.future.jetsentv.com/ # ← ep01,关键! path-prefix: /IPTVPortalInterface sp-token: 9006874392099a89506142c6df9e3314 portal-code: PCODE-JC sign-key: alltvjs channel-id: "001" ``` 橘视厅 API(登录/激活)配置在数据库 `sys_config` 的 `JST_PLATFORM_CONFIG`: ```json { "jstApiBaseUrl": "https://api.future.jetsentv.com", "accesser": "JSTASJD", "secret": "kMeWsBu0QsTXpnft", "agCode": "1100101010200492358120169", "serviceComboCode": "1100121010200494755850172", "serviceGroupCode": "1100122010201752209710182", "businessLine": "4100450011381755998420012" } ``` --- ## 七、日常排查 Checklist **媒资查不到 / 片名错位** 1. 先确认 contentcode 对不对(App 埋点里取) 2. 用 ep01 手工 curl 确认:`curl -X POST https://servhub-ep01.future.jetsentv.com/IPTVPortalInterface/content/getcontentlist.do -H "Content-Type: application/json" -d '{"channelid":"001","contentcode":"xxx","portalcode":"PCODE-JC","sign":"...","sptoken":"9006874392099a89506142c6df9e3314","timeshift":"..."}'` 3. 如果 ep01 有、ep03 没有 → 后端 JetsenMediaConfig.baseUrl 被误改回 ep03 了 4. 如果两边都没有 → contentcode 不是橘视厅原生的,可能是 App 本地别名/运营配置的 **SDK init 失败 / 播放鉴权失败** 1. 确认橘视厅 API 走的是 `api.future.jetsentv.com`(不走 servhub) 2. thirdCardNo 派生:`thirdCardNo + "_bul_" + businessLine` 3. businessLine = `4100450011381755998420012`(代销模式用的) **激活失败 "设备不存在"** 1. 发卡后异步激活必须等事务提交再触发(TransactionSynchronization.afterCommit) 2. 重试任务 `dayCardActivateRetryTask` 每 5 分钟执行,已覆盖伙伴代销卡(无 orderNo 的也能重激)