ticket-availability
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTicket Availability
演出剩余座位查询
What this skill does
功能说明
YES24 () 와 인터파크 () 의 공개 BFF JSON / Ajax endpoint 를 단일 HTTP 요청으로 호출해 공연 일정과 등급별 잔여석 수를 정규화한다.
ticket.yes24.comtickets.interpark.com- 공연 URL 또는 표기로 입력을 받는다.
platform:id - 일정 (날짜·시간·회차) 조회.
- 등급별 잔여석 수 조회 (등급명, 잔여수, YES24의 경우 노출가).
- 좌석맵 / 좌석 선택 / 예매 / 결제 / 로그인 세션 접근은 하지 않는다.
- CloakBrowser, Playwright, fingerprint spoofing, CAPTCHA 우회를 사용하지 않는다 (only).
httpx
通过单次HTTP请求调用YES24 () 和Interpark () 的公开BFF JSON/Ajax接口,标准化演出日程及各等级剩余座位数量。
ticket.yes24.comtickets.interpark.com- 接收演出URL或格式的输入。
platform:id - 查询日程(日期、时间、场次)。
- 查询各等级剩余座位数量(含等级名称、剩余数量,YES24还包含公示价格)。
- 不支持座位图查看、选座、购票、支付及登录会话访问。
- 不使用CloakBrowser、Playwright、指纹伪造、CAPTCHA绕过技术(仅使用)。
httpx
When to use
使用场景
- "오늘 인터파크 ○○ 공연 잔여석 있어?"
- "YES24 콘서트 ID 58026 일정 알려줘"
- "이 공연 R석 몇 자리 남았어?"
- "공연 URL 줄게, 회차별 잔여석 확인해줘"
- "今天Interpark的○○演出还有剩余座位吗?"
- "请告知YES24演唱会ID 58026的日程"
- "这场演出的R级座位还剩多少?"
- "我给你演出URL,帮我查各场次的剩余座位"
When not to use
不适用场景
- 예매·결제·취소·환불 처리 — 공연법 §4조의2 (2023.9 시행) 매크로 입장권 부정구매·판매 금지 대상이며 이 스킬은 의도적으로 예매를 지원하지 않는다.
- 좌석 선택, 좌석맵 시각화, 특정 좌석 번호 확인 — 잔여 수 만 노출한다.
- 회원 등급별 우선 예매, 쿠폰가, 카드사 할인가 — 공개 endpoint 만 사용한다.
- 차단 우회, CAPTCHA 우회, headless 감지 우회 — 한 호출로 안 되면 실패 모드로 처리하고 종료한다.
httpx
- 购票、支付、取消、退款处理——《演出法》第4条第2款(2023.9实施)禁止通过脚本非法购买、转售门票,本工具刻意不支持购票功能。
- 选座、座位图可视化、特定座位号查询——仅展示剩余座位数量。
- 会员等级优先购票、优惠券价格、银行卡折扣价——仅使用公开接口。
- 绕过封禁、CAPTCHA绕过、无头浏览器检测绕过——若单次调用失败则直接终止,不尝试绕过。
httpx
Required inputs
必要输入
공연 URL 또는 표기가 없으면 먼저 물어본다.
platform:id권장 질문:
확인하실 공연의 YES24 또는 인터파크 URL을 알려주세요. 예:https://tickets.interpark.com/goods/26000541https://ticket.yes24.com/Perf/58026
若无演出URL或格式信息,将先向用户询问。
platform:id推荐提问:
请告知您要查询的演出的YES24或Interpark链接。 示例:https://tickets.interpark.com/goods/26000541https://ticket.yes24.com/Perf/58026
Prerequisites
前置条件
- Python 3.9+
- (표준 패키지)
httpx
설치:
bash
pip install httpx- Python 3.9+
- (标准包)
httpx
安装命令:
bash
pip install httpxWorkflow
工作流程
1. URL 파싱
1. URL解析
| 입력 | 매칭 |
|---|---|
| platform=interpark |
| platform=yes24 |
| platform=yes24 |
| shorthand |
| 输入 | 匹配结果 |
|---|---|
| platform=interpark |
| platform=yes24 |
| platform=yes24 |
| 简写格式 |
2. 일정 조회 (schedule
)
schedule2. 日程查询 (schedule
)
schedulebash
python3 scripts/ticket_availability.py schedule "https://tickets.interpark.com/goods/26000541"응답 — Interpark:
json
{
"platform": "interpark",
"id": "26000541",
"schedule": [
{"date": "2026-05-13", "time": "14:30", "play_seq": "055"},
{"date": "2026-05-14", "time": "19:30", "play_seq": "057"}
]
}응답 — YES24:
json
{
"platform": "yes24",
"id": "58026",
"schedule": [
{"date": "2026-05-16", "time_label": "1회", "id_time": "1432397"}
]
}YES24 는 기본 3주 윈도우. 6개월 전체는 추가.
--all-datesbash
python3 scripts/ticket_availability.py schedule "https://tickets.interpark.com/goods/26000541"响应示例 — Interpark:
json
{
"platform": "interpark",
"id": "26000541",
"schedule": [
{"date": "2026-05-13", "time": "14:30", "play_seq": "055"},
{"date": "2026-05-14", "time": "19:30", "play_seq": "057"}
]
}响应示例 — YES24:
json
{
"platform": "yes24",
"id": "58026",
"schedule": [
{"date": "2026-05-16", "time_label": "1회", "id_time": "1432397"}
]
}YES24默认查询3周内的日程,若需查询6个月内全部日程,需添加参数。
--all-dates3. 잔여석 조회 (seats
)
seats3. 剩余座位查询 (seats
)
seatsbash
python3 scripts/ticket_availability.py seats "interpark:26000541"응답:
json
{
"platform": "interpark",
"id": "26000541",
"seats": {
"2026-05-13|14:30|055": {
"date": "2026-05-13", "time": "14:30", "play_seq": "055",
"seats": [
{"grade": "VIP석", "remain": 150},
{"grade": "R석", "remain": 36},
{"grade": "S석", "remain": 82},
{"grade": "A석", "remain": 71}
]
}
}
}YES24 응답은 등급별 (노출가) 도 포함:
pricejson
{"grade": "전석", "price": "110,000원", "remain": 2}bash
python3 scripts/ticket_availability.py seats "interpark:26000541"响应示例:
json
{
"platform": "interpark",
"id": "26000541",
"seats": {
"2026-05-13|14:30|055": {
"date": "2026-05-13", "time": "14:30", "play_seq": "055",
"seats": [
{"grade": "VIP석", "remain": 150},
{"grade": "R석", "remain": 36},
{"grade": "S석", "remain": 82},
{"grade": "A석", "remain": 71}
]
}
}
}YES24的响应还包含各等级的(公示价格):
pricejson
{"grade": "전석", "price": "110,000원", "remain": 2}4. 헬스체크 (health
)
health4. 健康检查 (health
)
healthbash
python3 scripts/ticket_availability.py health응답:
json
{"yes24": {"status": 200, "ok": true}, "interpark": {"status": 200, "ok": true}}bash
python3 scripts/ticket_availability.py health响应示例:
json
{"yes24": {"status": 200, "ok": true}, "interpark": {"status": 200, "ok": true}}Output format
输出格式
기본 출력은 들여쓰기 JSON. 파이프/스크립트용은 추가 (한 줄 JSON).
--compact默认输出为带缩进的JSON。若需用于管道/脚本,可添加参数(输出单行JSON)。
--compactEndpoints used
使用的接口
이 스킬이 호출하는 공개 endpoint 만:
| Platform | Method | URL |
|---|---|---|
| YES24 | POST | |
| YES24 | POST | |
| YES24 | POST | |
| Interpark | GET | |
| Interpark | GET | |
전부 비로그인 / 무인증. 헤더는 + + JSON 만.
User-AgentRefererAccept本工具仅调用以下公开接口:
| 平台 | 请求方法 | 地址 |
|---|---|---|
| YES24 | POST | |
| YES24 | POST | |
| YES24 | POST | |
| Interpark | GET | |
| Interpark | GET | |
所有接口均无需登录/认证,请求头仅包含 + + JSON 。
User-AgentRefererAcceptFailure modes
异常情况
- YES24 결과 빈 배열: 공연 ID 가 유효하지만 향후 3주(또는 6개월) 내 일정이 없음. ID 자체가 잘못된 경우와 구분되지 않으므로, 사용자에게
schedule또는 다른 ID 확인을 안내한다.--all-dates - Interpark : goods_code 가 지나갔거나 아직 오픈 전 / 비공개. 다른 ID 확인을 안내한다.
data: [] - HTTP 4xx/5xx: 차단/일시 장애. 우회 시도하지 않고 출력 후 종료.
http error - JSON 스키마 변경: YES24 axPerfRemainSeat 는 HTML 응답을 정규식으로 파싱 — 사이트 갱신 시 영향 가능. 0 으로 잘못 보고될 수 있어 사용자에게 "조회 시각 기준" 이라고 표기.
remain - 공연 매진: API 는 반환. 매진 표시.
remain: 0
- YES24 返回空数组: 演出ID有效,但未来3周(或6个月)内无日程。无法与ID无效的情况区分,需提示用户尝试
schedule参数或检查ID是否正确。--all-dates - Interpark返回: 商品码对应的演出已结束、尚未开售或非公开。需提示用户检查ID是否正确。
data: [] - HTTP 4xx/5xx错误: 被封禁或临时故障。不尝试绕过,输出后终止。
http error - JSON schema变更: YES24的axPerfRemainSeat接口通过正则表达式解析HTML响应——网站更新可能影响结果。可能会错误返回,需向用户标注“数据为查询时刻的结果”。
remain: 0 - 演出售罄: API返回,需标注售罄。
remain: 0
Response style
响应规范
- 잔여석은 "조회 시각 기준" 으로 표현한다 (실시간 변동).
- "매크로", "선점", "오픈런", "자동 예매" 표현 금지 — 이 스킬은 조회 전용.
- 잔여석 수치 + 등급명 만 인용. 좌석 번호 / 좌석 위치는 노출하지 않는다.
- "지금 사라" 같은 행위 유도 금지 — 사용자가 직접 페이지에서 결제.
- 剩余座位需标注“查询时刻的结果”(数据实时变动)。
- 禁止使用“脚本”“抢占”“开跑”“自动购票”等表述——本工具仅支持查询。
- 仅引用剩余座位数量+等级名称,不展示座位号/座位位置。
- 禁止使用“即将售罄”等诱导性表述——需引导用户自行前往页面完成支付。
Notes
注意事项
- 본 스킬은 의도적으로 예매 / 결제 / 좌석선택 / 로그인 자동화 를 포함하지 않는다. 매크로를 통한 입장권 부정구매·판매는 공연법 §4조의2 (2023.9.22 시행) 에 의해 형사처벌 대상.
- 시크릿 / 키 / 로그인 세션 일체 사용하지 않는다.
- Rate limit: 명령은 회차별 순차 호출 — Interpark 0.3s, YES24 0.4s 간격. 100회차 짜리 공연이면 약 30s ~ 40s 소요. 짧은 모니터링 루프에 넣지 말 것.
seats
- 本工具刻意不包含购票/支付/选座/登录自动化功能。通过脚本非法购买、转售门票违反《演出法》第4条第2款(2023.9.22实施),将面临刑事处罚。
- 不使用任何密钥、登录会话信息。
- 速率限制: 命令按场次依次调用——Interpark间隔0.3s,YES24间隔0.4s。若演出有100场次,需耗时约30s~40s。请勿用于短周期监控循环。
seats
Done when
完成标准
- 공연 URL 또는 가 확인되었다.
platform:id - 일정 또는 잔여석 결과 JSON 을 반환하거나, 빈 결과 사유를 설명했다.
- 예매 / 결제 / 좌석 선택 기능을 자동화하지 않았다.
- 조회 시각 기준임을 안내했다.
- 已确认演出URL或信息。
platform:id - 已返回日程或剩余座位的JSON结果,或说明空结果的原因。
- 未实现购票/支付/选座自动化功能。
- 已向用户标注数据为查询时刻的结果。