ticket-availability

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Ticket Availability

演出剩余座位查询

What this skill does

功能说明

YES24 (
ticket.yes24.com
) 와 인터파크 (
tickets.interpark.com
) 의 공개 BFF JSON / Ajax endpoint 를 단일 HTTP 요청으로 호출해 공연 일정과 등급별 잔여석 수를 정규화한다.
  • 공연 URL 또는
    platform:id
    표기로 입력을 받는다.
  • 일정 (날짜·시간·회차) 조회.
  • 등급별 잔여석 수 조회 (등급명, 잔여수, YES24의 경우 노출가).
  • 좌석맵 / 좌석 선택 / 예매 / 결제 / 로그인 세션 접근은 하지 않는다.
  • CloakBrowser, Playwright, fingerprint spoofing, CAPTCHA 우회를 사용하지 않는다 (
    httpx
    only).
通过单次HTTP请求调用YES24 (
ticket.yes24.com
) 和Interpark (
tickets.interpark.com
) 的公开BFF JSON/Ajax接口,标准化演出日程及各等级剩余座位数量。
  • 接收演出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/26000541
https://ticket.yes24.com/Perf/58026
若无演出URL或
platform:id
格式信息,将先向用户询问。
推荐提问:
请告知您要查询的演出的YES24或Interpark链接。 示例:
https://tickets.interpark.com/goods/26000541
https://ticket.yes24.com/Perf/58026

Prerequisites

前置条件

  • Python 3.9+
  • httpx
    (표준 패키지)
설치:
bash
pip install httpx
  • Python 3.9+
  • httpx
    (标准包)
安装命令:
bash
pip install httpx

Workflow

工作流程

1. URL 파싱

1. URL解析

입력매칭
https://tickets.interpark.com/goods/<goods_code>
platform=interpark
https://ticket.yes24.com/Perf/<perf_id>
platform=yes24
https://ticket.yes24.com/New/Perf/Detail/View/<perf_id>
platform=yes24
yes24:<id>
/
interpark:<id>
shorthand
输入匹配结果
https://tickets.interpark.com/goods/<goods_code>
platform=interpark
https://ticket.yes24.com/Perf/<perf_id>
platform=yes24
https://ticket.yes24.com/New/Perf/Detail/View/<perf_id>
platform=yes24
yes24:<id>
/
interpark:<id>
简写格式

2. 일정 조회 (
schedule
)

2. 日程查询 (
schedule
)

bash
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-dates
추가.
bash
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-dates
参数。

3. 잔여석 조회 (
seats
)

3. 剩余座位查询 (
seats
)

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 응답은 등급별
price
(노출가) 도 포함:
json
{"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的响应还包含各等级的
price
(公示价格):
json
{"grade": "전석", "price": "110,000원", "remain": 2}

4. 헬스체크 (
health
)

4. 健康检查 (
health
)

bash
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. 파이프/스크립트용은
--compact
추가 (한 줄 JSON).
默认输出为带缩进的JSON。若需用于管道/脚本,可添加
--compact
参数(输出单行JSON)。

Endpoints used

使用的接口

이 스킬이 호출하는 공개 endpoint 만:
PlatformMethodURL
YES24POST
https://ticket.yes24.com/New/Perf/Sale/Ajax/axPerfDay.aspx
YES24POST
https://ticket.yes24.com/NEw/Perf/Detail/Ajax/axPerfPlayTime.aspx
YES24POST
https://ticket.yes24.com/New/Perf/Detail/Ajax/axPerfRemainSeat.aspx
InterparkGET
https://api-ticketfront.interpark.com/v1/goods/<id>/playSeq
InterparkGET
https://api-ticketfront.interpark.com/v1/goods/<id>/playSeq/PlaySeq/<seq>/REMAINSEAT
전부 비로그인 / 무인증. 헤더는
User-Agent
+
Referer
+ JSON
Accept
만.
本工具仅调用以下公开接口:
平台请求方法地址
YES24POST
https://ticket.yes24.com/New/Perf/Sale/Ajax/axPerfDay.aspx
YES24POST
https://ticket.yes24.com/NEw/Perf/Detail/Ajax/axPerfPlayTime.aspx
YES24POST
https://ticket.yes24.com/New/Perf/Detail/Ajax/axPerfRemainSeat.aspx
InterparkGET
https://api-ticketfront.interpark.com/v1/goods/<id>/playSeq
InterparkGET
https://api-ticketfront.interpark.com/v1/goods/<id>/playSeq/PlaySeq/<seq>/REMAINSEAT
所有接口均无需登录/认证,请求头仅包含
User-Agent
+
Referer
+ JSON
Accept

Failure modes

异常情况

  • YES24
    schedule
    결과 빈 배열
    : 공연 ID 가 유효하지만 향후 3주(또는 6개월) 내 일정이 없음. ID 자체가 잘못된 경우와 구분되지 않으므로, 사용자에게
    --all-dates
    또는 다른 ID 확인을 안내한다.
  • Interpark
    data: []
    : goods_code 가 지나갔거나 아직 오픈 전 / 비공개. 다른 ID 확인을 안내한다.
  • HTTP 4xx/5xx: 차단/일시 장애. 우회 시도하지 않고
    http error
    출력 후 종료.
  • JSON 스키마 변경: YES24 axPerfRemainSeat 는 HTML 응답을 정규식으로 파싱 — 사이트 갱신 시 영향 가능.
    remain
    0 으로 잘못 보고될 수 있어 사용자에게 "조회 시각 기준" 이라고 표기.
  • 공연 매진: API 는
    remain: 0
    반환. 매진 표시.
  • YES24
    schedule
    返回空数组
    : 演出ID有效,但未来3周(或6个月)内无日程。无法与ID无效的情况区分,需提示用户尝试
    --all-dates
    参数或检查ID是否正确。
  • Interpark返回
    data: []
    : 商品码对应的演出已结束、尚未开售或非公开。需提示用户检查ID是否正确。
  • 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:
    seats
    명령은 회차별 순차 호출 — Interpark 0.3s, YES24 0.4s 간격. 100회차 짜리 공연이면 약 30s ~ 40s 소요. 짧은 모니터링 루프에 넣지 말 것.
  • 本工具刻意不包含购票/支付/选座/登录自动化功能。通过脚本非法购买、转售门票违反《演出法》第4条第2款(2023.9.22实施),将面临刑事处罚。
  • 不使用任何密钥、登录会话信息。
  • 速率限制:
    seats
    命令按场次依次调用——Interpark间隔0.3s,YES24间隔0.4s。若演出有100场次,需耗时约30s~40s。请勿用于短周期监控循环。

Done when

完成标准

  • 공연 URL 또는
    platform:id
    가 확인되었다.
  • 일정 또는 잔여석 결과 JSON 을 반환하거나, 빈 결과 사유를 설명했다.
  • 예매 / 결제 / 좌석 선택 기능을 자동화하지 않았다.
  • 조회 시각 기준임을 안내했다.
  • 已确认演出URL或
    platform:id
    信息。
  • 已返回日程或剩余座位的JSON结果,或说明空结果的原因。
  • 未实现购票/支付/选座自动化功能。
  • 已向用户标注数据为查询时刻的结果。