Files
as-daycard-openapi/JST-INTERFACE-REFERENCE.md
zhaogd 73c34ddefe fix: 橘视厅接口地址对齐 release App 现网配置
- 媒资接口 servhub-ep03 → servhub-ep01(ep03 媒资滞后,新片查不到、片名错位)
- 登录接口 external(预发布) → api.future.jetsentv.com(现网)
- 新增 JST-INTERFACE-REFERENCE.md 接口排查手册
2026-09-26 14:28:13 +08:00

127 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 橘视厅接口参考手册(日常排查用)
> 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 的也能重激)