关于 pp-eventbrite
pp-eventbrite 是供活动组织者和运营人员管理 Eventbrite 活动及参会者数据的 Printing Press 命令行技能。它以本地 SQLite 存储支持跨活动销售和受众分析。
主要功能
- 01跨活动销售与容量分析
- 02评估折扣和退款表现
- 03查找回头参会者与高消费买家
- 04导出去重后的参会者联系信息
- 05汇总多个组织的数据
适用场景
- 01发现销售缓慢或容量利用率低的活动
- 02评估优惠码效果和退款情况
- 03整理用于联系的参会者名单
- 04查看不同客户组织的整体表现
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-eventbrite安装后在 Claude Code 中输入/pp-eventbrite确认已加载。
详细介绍
Eventbrite — Printing Press CLI
前置条件:安装 CLI
此技能通过 eventbrite-pp-cli 二进制文件运行。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。默认情况下,二进制文件会安装到 macOS/Linux 上的
$HOME/.local/bin,以及 Windows 上的%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install eventbrite --cli-only - 验证:
eventbrite-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(未安装 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/eventbrite/cmd/eventbrite-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功前,请勿继续执行技能命令。
何时使用此 CLI
当 Agent 需要管理组织者的 Eventbrite 页面时,请使用此 CLI:创建和发布活动、获取订单与参加者历史记录,以及回答跨活动问题(哪些活动售票最慢、哪些粉丝会再次购票、哪些买家消费最高、折扣码效果如何)。这些问题无法通过单场活动的控制面板或现有的单组织 MCP 服务解答。只要任务需要汇总完整的订单/参加者历史记录,而不是查询单个实时 API,就适合使用此工具。如果同一位主办方也在 DICE 上售票,两个 CLI 都会输出 JSON 和本地 SQLite 数据库,Agent 可以按活动(名称和日期)及买家邮箱关联两个数据集,了解跨平台的表现和忠诚度情况。
独有功能
这些功能是此 API 的其他任何工具都不具备的。
跨活动销售分析
-
sales-velocity— 按开售以来的日均售票量为所有正在销售的活动排名,并预测售罄日期。当 Agent 需要了解组织者的哪些活动目前表现不佳,而不仅是查看当前总量时,可使用此功能。
eventbrite-pp-cli sales-velocity --json -
discount-performance— 按折扣码显示核销次数、类型和核销率(已使用额度占该码总额度的比例)。在决定续用还是停用促销码前,可用此功能衡量它是否真正带动了销售。
eventbrite-pp-cli discount-performance --json -
capacity— 一次性查看所有正在销售活动的已售票数、总容量和剩余百分比。一次调用即可发现哪些活动即将售罄,或售票远低于预期。
eventbrite-pp-cli capacity --json -
refund-rate— 按活动或整个组织显示退款和取消订单数量、退款收入及退款率。可用此功能标记退款率异常的活动,这可能意味着定价、日期或履约方面存在问题。
eventbrite-pp-cli refund-rate --json -
top-buyers— 按买家在所有活动中的总消费排名,而不仅仅是参加活动的场次。可用此功能找出组织者消费最高的客户,以便进行 VIP 或预售推广。
eventbrite-pp-cli top-buyers --limit 25 --json
离线搜索自己的数据
-
repeat-attendees— 在所有已同步的历史记录中,找出购买过两场或更多活动门票的粉丝。可用于回答忠诚度和再营销相关问题,这些问题无法通过任何单场活动的参加者名单解答。
eventbrite-pp-cli repeat-attendees --min 2 --json -
roster— 单场活动的离线参加者名单,显示已签到和未签到状态、VIP 和赠票标记,并按入场顺序排列。在活动入口处,如果 Agent 需要快速查询尚未签到的人员名单,无需实时 API 往返即可使用此功能。
eventbrite-pp-cli roster 1234567890 --csv -
fan-export— 导出唯一参加者的联系方式(邮箱、姓名、参加过的活动、签到状态),跨所有活动去重,并支持按活动筛选。可用此功能为组织者的全部受众整理干净、去重后的联系人名单,用于邮件营销活动。
eventbrite-pp-cli fan-export --csv
代理机构多组织视图
-
org-rollup— 汇总令牌可访问的所有组织:活动数量、售票数、总收入,以及每个组织的头部活动。适用于需要查看客户汇总信息,而不想逐一登录各组织账号的代理机构或多品牌运营方。
eventbrite-pp-cli org-rollup --json
命令参考
balance — 管理余额
类别对象
活动所属的总体类别(垂直领域)。示例包括“音乐”和“耐力”。
eventbrite-pp-cli categories category-by-id— 根据 ID 获取一个category,作为category。eventbrite-pp-cli categories list-of— 返回类别列表作为 categories,其中包含嵌套的子类别。返回分页响应。
折扣对象
折扣对象表示订单所有者购买活动门票时可使用的折扣。
折扣可用于单个票种,也可同时用于多个活动的多个票种(称为跨活动折扣)。
折扣分为四种类型:
-
公开折扣。 在活动列表和结账页面向订单所有者公开显示。仅用于单个活动。
-
代码折扣。 订单所有者必须使用秘密代码才能使用折扣。
-
访问代码。 订单所有者必须使用秘密代码才能访问隐藏门票。访问代码还可以选择包含折扣金额。
-
保留折扣。 允许订单所有者为保留席位应用或解锁折扣。
门票的显示价格计算方式为:
price_before_discount - discount_amount = display_price
注意:
-
公开折扣和代码折扣可以指定减免金额或减免百分比,但不能同时指定两种类型的折扣。
-
公开折扣不应包含撇号或非字母数字字符(“ -���、“_”、“ ”、“(”、“)”、“/”和“”除外)。
-
代码折扣和访问代码不应包含空格、撇号或非字母数字字符(“-”、“_”、“(”、“)”、“/”和“”除外)。
字段
使用这些字段指定折扣信息。
| Field | Type | Description |
|---|---|---|
code | string | 公共折扣的折扣名称,或编码折扣和访问码的代码。 |
type | string | 折扣类型。可以是 access、coded、public 或 hold。 |
end_date | datetime | 折扣代码可用的截止日期。日期不含时区信息,默认采用活动的时区。如果为 null 或空,则折扣在活动的 end_date 之前均可使用。ISO 8601 格式:YYYY-MM-DDThh:mm:ss。 |
end_date_relative | integer | 折扣代码可用的截止时间,即活动开始前的秒数。如果为 null 或空,则折扣在活动的 end_date 之前均可使用。 |
amount_off | decimal | 作为折扣应用的固定金额。此金额不带货币单位,而是使用活动的货币,范围为 0.01 至 99999.99。仅允许两位小数。访问码的默认值为 null。 |
percent_off | decimal | 作为折扣应用的百分比。在结账时显示在票价中,范围为 1.00 至 100.00。仅允许两位小数。访问码的默认值为 null。 |
quantity_available | integer | 此折扣可使用的次数;0 表示不限次数。 |
quantity_sold | integer | 此折扣已使用的次数。此字段为只读。 |
start_date | local datetime | 折扣代码开始可用的日期。如果为 null 或空,则折扣立即生效。 |
start_date_relative | integer | 折扣代码开始可用的时间,即活动开始前的秒数。如果为 null 或空,则折扣立即生效。 |
ticket_class_ids | list | 单个活动中享受折扣的票种 ID 列表。如果要查看活动的所有票券,请留空。 |
event_id | string | 可使用此折扣的单个活动 ID。对于折扣,请留空。 |
ticket_group_id | string | 可使用此折扣的票券组 ID。 |
hold_ids | list | 此折扣可解锁的保留名额 ID 列表。如果此折扣无法解锁保留名额,则为 null。 |
| 以下条件定义了折扣的适用范围: |
-
如果提供了
event_id,但未提供ticket_class_ids,则会为该活动的所有门票创建一个活动折扣。 -
如果同时提供了
event_id和ticket_class_ids,则会为该活动的指定门票创建一个活动折扣。 -
如果提供了
ticket_group_id,则会为该门票组创建一个折扣。 -
如果既未提供
event_id,也未提供ticket_group_id,则会创建一个折扣,适用于某个组织旗下所有活动的所有门票,包括未来的活动。
扩展字段
请求信息时通常不会返回扩展字段中的信息。如需在请求中获取这些信息,请展开相应字段。
| 扩展字段 | 来源 | 描述 |
|---|---|---|
event | event_id | 可使用该折扣的单个活动。 |
ticket_group | ticket_group_id | 可使用该折扣的门票组。 |
reserved_seating | ticket-reserved-seating-settings | 门票类别的预留座位设置。不支持预留座位的门票类别不会返回此扩展字段。 |
eventbrite-pp-cli discounts delete-a— 删除折扣。只能删除尚未使用的折扣。eventbrite-pp-cli discounts retrieve-a— 根据折扣 ID 获取折扣。eventbrite-pp-cli discounts update-a— 根据折扣 ID 更新折扣。
活动对象
活动对象表示一个 Eventbrite 活动。一个活动归属于一个组织。
公开字段
使用这些字段来指定有关活动的信息。对于公开列出的活动,所有 Eventbrite 用户 和 Eventbrite 应用都可以获取这些信息。
| 字段 | 类型 | 描述 |
|---|---|---|
name | multipart-text | 活动名称。 |
summary | string | (可选)活动摘要。简要说明活动及其目的。 |
description | multipart-text | (已弃用)(可选)活动描述。描述可以很长,也可以包含大量格式。 |
url | string | eventbrite.com 上活动列表页面的 URL。 |
start | datetime-tz | 活动开始日期和时间。 |
end | datetime-tz | 活动结束日期和时间。 |
created | datetime | 活动创建日期和时间。 |
changed | datetime | 活动最近一次更改的日期和时间。 |
published | datetime | 活动发布日期和时间。 |
status | string | 活动状态。可以是 draft、live、started、ended、completed 和 canceled。 |
currency | string | 活动的 ISO 4217 货币代码。 |
online_event | boolean | true = 表示活动仅在线上举行(即活动没有场地)。 |
hide_start_date | boolean | 如果为 true,则绝不向参加者显示活动的开始日期。 |
hide_end_date | boolean | 如果为 true,则绝不向参加者显示活动的结束日期。 |
私有字段
使用这些字段指定 Event 的属性,这些属性仅对 User 可用。
| 字段 | 类型 | 描述 |
|---|---|---|
listed | boolean | true = 允许在 Eventbrite 网站上公开搜索到该 Event。 |
shareable | boolean | true = Event 可分享,即在 Eventbrite 应用中为该 Event 提供社交分享按钮。 |
invite_only | boolean | true = 只有收到 Event 邀请邮件的受邀者才能在 Eventbrite 应用中查看该 Event。 |
show_remaining | boolean | true = 向 Eventbrite 应用提供该 Event 的剩余门票总数。 |
password | string | 访客用于访问 Event 详情的密码。 |
capacity | integer | 可向 Attendees 出售的该 Event 门票最大数量。总容量由 Ticket Class 的 quantity_total 总和计算得出。 |
capacity_is_custom | boolean | true = 使用自定义容量值指定该 Event 的 Attendees 最大人数。False = 根据所有 Ticket Class 容量总和计算该 Event 的 Attendees 最大人数。 |
音乐属性
Music Properties 对象包含面向音乐客户端的 Event 的一些属性。若要通过 Event ID 获取 Music Properties,请使用 music_properties expansion。
| 字段 | 类型 | 描述 |
|---|---|---|
age_restriction | enum | Event 参加者的最低年龄要求。 |
presented_by | string | 音乐 Event 的主要赞助方。 |
door_time | string | 相对于 UTC 的时间,表示 Event 当天开放入场的时间。若未设置,则 Event 不会设置开放入场时间。2019-05-12T-19:00:00Z |
扩展字段
请求信息时,通常不会返回扩展字段中的信息。若要在请求中获取这些信息,请展开请求。
| 展开项 | 来源 | 说明 |
|---|---|---|
logo | logo_id | 活动图片徽标。 |
venue | venue_id | 活动的场地。 |
organizer | organizer_id | 活动的组织者。 |
format | format_id | 活动的形式。 |
category | category_id | 活动的类别。 |
subcategory | subcategory_id | 活动的子类别。 |
bookmark_info | bookmark_info | 指示用户是否已将活动保存为书签。如果没有书签,则返回 false。如果有书签,则返回一个字典,指定将活动加入书签的终端用户数量,形式为 {count:3} 这样的计数对象。 |
refund_policy | refund_policy | 活动的退款政策。 |
ticket_availability | ticket_availability | 所有票种的可用情况概览 |
external_ticketing | external_ticketing | 活动的外部票务数据。 |
music_properties | music_properties | 活动的音乐属性 |
publish_settings | publish_settings | 活动发布设置。 |
basic_inventory_info | basic_inventory_info | 指示活动是否包含票种、库存层级、捐赠票种、票务规则、库存附加项和/或入场库存层级。 |
event_sales_status | event_sales_status | 活动的销售状态详情 |
checkout_settings | checkout_settings | 活动的结账和付款设置。 |
listing_properties | listing_properties | 活动的显示/上架详情 |
has_digital_content | has_digital_content | 活动是否包含数字内容 |
| events — |
活动对象
Event 对象表示一个 Eventbrite 活动。一个活动归一个组织所有。
公开字段
使用这些字段指定活动信息。对于公开列出的活动,所有 Eventbrite 用户和 Eventbrite 应用都可以检索这些信息。
| 字段 | 类型 | 描述 |
|---|---|---|
name | multipart-text | 活动名称。 |
summary | string | (可选)活动摘要。简要描述活动及其目的。 |
description | multipart-text | (已弃用)(可选)活动描述。描述可以很长,并包含丰富的格式。 |
url | string | 活动在 eventbrite.com 上的列表页面 URL。 |
start | datetime-tz | 活动开始日期和时间。 |
end | datetime-tz | 活动结束日期和时间。 |
created | datetime | 活动创建日期和时间。 |
changed | datetime | 活动最近一次更改的日期和时间。 |
published | datetime | 活动发布日期和时间。 |
status | string | 活动状态。可以是 draft、live、started、ended、completed 和 canceled。 |
currency | string | 活动的 ISO 4217 货币代码。 |
online_event | boolean | true = 指定该活动仅在线上举行(即该活动没有场地)。 |
hide_start_date | boolean | 如果为 true,则绝不向参与者显示活动开始日期。 |
hide_end_date | boolean | 如果为 true,则绝不向参与者显示活动结束日期。 |
私有字段
使用这些字段指定 Event 的属性,这些属性仅对 User 可用。
| 字段 | 类型 | 描述 |
|---|---|---|
listed | boolean | true = 允许在 Eventbrite 网站上公开搜索到该 Event。 |
shareable | boolean | true = Event 可分享,即在 Eventbrite 应用中为该 Event 提供社交分享按钮。 |
invite_only | boolean | true = 只有收到 Event 邀请邮件的受邀者才能在 Eventbrite 应用中查看该 Event。 |
show_remaining | boolean | true = 向 Eventbrite 应用提供该 Event 的剩余门票总数。 |
password | string | 访客用于访问 Event 详情的密码。 |
capacity | integer | 可向 Attendees 出售的该 Event 门票最大数量。总容量由 Ticket Class 的 quantity_total 总和计算得出。 |
capacity_is_custom | boolean | true = 使用自定义容量值指定该 Event 的 Attendees 最大人数。False = 根据所有 Ticket Class 容量总和计算该 Event 的 Attendees 最大人数。 |
音乐属性
Music Properties 对象包含面向音乐客户端的 Event 的一些属性。若要通过 Event ID 获取 Music Properties,请使用 music_properties expansion。
| 字段 | 类型 | 描述 |
|---|---|---|
age_restriction | enum | Event 参加者的最低年龄要求。 |
presented_by | string | 音乐 Event 的主要赞助方。 |
door_time | string | 相对于 UTC 的时间,表示 Event 当天开放入场的时间。若未设置,则 Event 不会设置开放入场时间。2019-05-12T-19:00:00Z |
扩展字段
请求信息时,通常不会返回扩展字段中的信息。若要在请求中获取这些信息,请展开请求。
| 展开项 | 来源 | 说明 |
|---|---|---|
logo | logo_id | 活动图片徽标。 |
venue | venue_id | 活动的场地。 |
organizer | organizer_id | 活动的组织者。 |
format | format_id | 活动的形式。 |
category | category_id | 活动的类别。 |
subcategory | subcategory_id | 活动的子类别。 |
bookmark_info | bookmark_info | 指示用户是否已将活动保存为书签。如果没有书签,则返回 false。如果有书签,则返回一个字典,指定将活动加入书签的终端用户数量,形式为 {count:3} 这样的计数对象。 |
refund_policy | refund_policy | 活动的退款政策。 |
ticket_availability | ticket_availability | 所有票种的可用情况概览 |
external_ticketing | external_ticketing | 活动的外部票务数据。 |
music_properties | music_properties | 活动的音乐属性 |
publish_settings | publish_settings | 活动发布设置。 |
basic_inventory_info | basic_inventory_info | 指示活动是否包含票种、库存层级、捐赠票种、票务规则、库存附加项和/或入场库存层级。 |
event_sales_status | event_sales_status | 活动的销售状态详情 |
checkout_settings | checkout_settings | 活动的结账和付款设置。 |
listing_properties | listing_properties | 活动的显示/上架详情 |
has_digital_content | has_digital_content | 活动是否包含数字内容 |
eventbrite-pp-cli events delete-an— 删除活动(若允许删除)。返回一个布尔值,表示删除操作成功或失败。eventbrite-pp-cli events retrieve-an— 根据活动 ID 获取活动。eventbrite-pp-cli events update-an— 根据活动 ID 更新活动。
格式对象
Format 对象表示一种活动类型,例如研讨会、工作坊或音乐会。指定 Format 有助于网站访客发现某类活动。
eventbrite-pp-cli formats list— 列出所有可用的 Format。返回分页响应。eventbrite-pp-cli formats retrieve-a— 根据 Format ID 获取 Format。
media —
媒体对象
Media 对象表示可包含在活动列表中的图像,例如用于展示品牌形象或提供更多活动信息。
eventbrite-pp-cli media retrieve— 根据 Media ID 获取 Media。eventbrite-pp-cli media retrieve-a-upload— 获取有关 Media 图像上传的信息。eventbrite-pp-cli media upload-a-file— 上传 Media 图像文件。
订单对象
Order 对象表示在 Eventbrite 上针对一个或多个票种创建的订单。换句话说,单个 Order 可以包含多张票。该对象包含订单的财务和交易信息;如需返回与会者信息,请使用与会者对象。
Order 对象被视为私有对象;也就是说,只有 Eventbrite 用户和订单所有者可以访问所有订单信息。
订单字段
| 字段 | 类型 | 描述 |
|---|---|---|
created | datetime | 下单并创建参会者的日期和时间。 |
changed | datetime | 上次更改参会者信息的日期和时间。 |
name | string | 订单所有者姓名。为确保兼容非西方姓名,请使用此字段,而非 first_name/last_name。 |
first_name | string | 订单所有者的名字。请改用 name 字段。 |
last_name | string | 订单所有者的姓氏。请改用 name 字段。 |
email | string | 订单所有者的电子邮件地址。 |
costs | 订单费用 | 订单费用明细。 |
event_id | string | 订单对应的活动 ID。 |
time_remaining | number | 完成订单的剩余时间(秒)。 |
questions | 订单问题 | (可选)向订单所有者显示的自定义问题。 |
answers | 订单答案 | (可选)对向订单所有者显示的自定义问题的回答。 |
promo_code | string | (可选)应用于订单的折扣代码。 |
status | string | 订单状态。 |
订单费用字段
包含订单费用明细。
| 字段 | 类型 | 描述 |
|---|---|---|
base_price | currency | 不含费用和税款的订单金额。如果使用了 票种 的 include_fee 字段,请改用 display_price 字段;否则,订单所有者看到的值会不正确。 |
display_price | currency | 不含费用和税款的订单金额。使用票种的 include_fee 字段时,此字段会向订单所有者显示正确的值。 |
display_fee | currency | 显示价格中包含(由价格吸收)的费用和税款的订单金额。 |
gross | currency | 订单总金额。 |
eventbrite_fee | currency | Eventbrite 费用占订单 gross 金额的比例。请勿向订单所有者公开此字段。 |
payment_fee | currency | 支付处理商费用占订单 gross 金额的比例。 |
tax | currency | 转交给活动组织的税款,占订单 gross 金额的一部分。 |
display_tax | order-display-tax | 订单税款。与 tax 字段的值相同,但还包含税款名称。 |
price_before_discount | currency | 应用折扣代码前的订单价格。如果未应用折扣代码,值应等于 display_price。 |
discount_amount | currency | 订单折扣总额。如果未应用折扣代码,则不会返回 discount_amount。 |
discount_type | string | 应用于订单的折扣类型。可以为 null、coded、access、public 或 hold。如果未应用折扣代码,则不会返回 discount_type。 |
fee_components | Cost Component(列表) | 属于费用显示组的价格成本组件列表。 |
tax_components | Cost Component(列表) | 属于税款显示组的价格成本组件列表。 |
shipping_components | Cost Component(列表) | 属于运费显示组的价格成本组件列表。 |
has_gts_tax | boolean | 指示 tax_components 中是否有任何一项是 gts 税。 |
tax_name | string | 适用税款的名称(如有)。 |
显示税费字段
| 字段 | 类型 | 描述 |
|---|---|---|
name | string | 税费名称。 |
tax | currency | 税费金额。 |
退款请求字段
订单包含一项退款请求。
| 字段 | 类型 | 描述 |
|---|---|---|
from_email | string | 用于创建退款请求的电子邮件地址。 |
from_name | string | 退款请求名称。 |
status | string | 退款请求状态。 |
message | string | 与退款请求相关的消息。 |
reason | string | 退款请求原因代码。 |
last_message | string | 与退款请求上一个状态相关的最后一条消息。 |
last_reason | string | 退款请求的最后一个原因代码。 |
items | refund_item 列表 | 退款请求中申请退款的商品。 |
退款商品字段
退款请求包含一个退款商品。
订单问题字段
用于向参会者展示自定义问题。
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 自定义问题 ID。 |
label | string | 自定义问题标签。 |
type | string | 可以是 text、url、email、date、number、address 或 dropdown |
required | boolean | true = 必须回答自定义问题。 |
订单答案字段
包含参会者对自定义问题的回答信息。
| 字段 | 类型 | 描述 |
|---|---|---|
question_id | string | 自定义问题 ID。 |
attendee_id | string | 参会者 ID。 |
question | string | 自定义问题文本。 |
type | string | 可以是 text、url、email、date、number、address 或 dropdown。 |
answer | varies | 答案类型。通常使用 string 值;但如果答案适合使用 address 或 date,则使用相应类型。 |
订单备注字段
订单备注是与订单相关的自由文本。
| 字段 | 类型 | 描述 |
|---|---|---|
created | datetime | 订单备注的创建日期和时间。 |
text | string | 订单备注内容,最多 2000 个字符。 |
type | string | 与订单备注关联的订单类型,始终且仅为 order。 |
event_id | event | 与订单关联的 Event ID。 |
order_id | order | 与订单备注关联的订单 ID。 |
author_name | string | 与订单备注关联的订单所有者的名和姓。 |
扩展
请求信息时,通常不会返回扩展字段中的信息。 如需在请求中获取这些信息,请展开请求。
| 扩展 | 来源 | 描述 |
|---|---|---|
event | event_id | 订单关联的活动。 |
attendees | attendee(list) | 订单的参与者。 |
merchandise | merchandise(list) | 此订单包含的商品。 |
concierge | concierge | 订单的礼宾人员。 |
refund_requests | refund_request | 订单的退款申请。 |
survey | order-questions | (可选)订单的自定义问题。 |
survey_responses | order-survey-responses(object) | (可选)订单对调查问题的回答。 |
answers | order-answers | (可选)订单对自定义问题的回答。 |
ticket_buyer_settings | ticket_buyer_settings | (可选)包含与购买者相关的信息,包括确认消息。 |
contact_list_preferences | contact_list_preferences | (可选)与订单关联的电子邮件地址的订阅偏好设置。 |
eventbrite-pp-cli orders <order_id>— 按订单 ID 获取订单。
组织对象
表示一种业务组织结构(例如市场营销部门)的对象;活动会在其中创建和管理。组织 由一位 用户 所有,并且可以拥有多位 成员。
公共字段
使用这些字段指定组织的信息。
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 组织 ID。必须通过 API 请求获取,例如「列出你的组织」请求。organization_id 不等于 organizer_id(Organizer 个人资料 URL 中的字符串)。 |
name | string | 组织名称。 |
image_id | string | (可选)组织图片的 ID。 |
vertical | string | 该组织所处的业务领域类型。目前仅支持 default 和 music。如果未指定,则值为 default。 |
定价对象
Pricing 对象表示适用于不同货币、国家/地区、商品组合和销售渠道的所有可用费率。
eventbrite-pp-cli pricing calculate-items— 计算 Eventbrite 在票务创建流程中针对给定价格收取的费用。eventbrite-pp-cli pricing list— 列出所有可用的定价费率。返回分页响应。
报告对象
Report 对象表示可通过 API 检索的报告,包括以下报告:
eventbrite-pp-cli reports retrieve-a-attendee— 按活动 ID 或活动状态检索参加者报告。eventbrite-pp-cli reports retrieve-a-sales— 按活动 ID 或活动状态检索销售报告。
series — 管理系列
eventbrite-pp-cli series <event_series_id>— 按活动系列 ID 检索父级活动系列。
subcategories — 管理子类别
eventbrite-pp-cli subcategories list-of— 列出所有可用子类别。返回分页响应。eventbrite-pp-cli subcategories subcategory-by-id— 按子类别 ID 检索子类别。
票务组对象
Ticket Group 对象用于对票种进行分组。
最常见的用途是将跨活动折扣应用于多个票种。
字段
| 字段 | 类型 | 描述 |
|---|---|---|
name | string | 票务组名称。超过 20 个字符的名称会自动截断。 |
status | string | 票务组状态。可以是 transfer、live、deleted 或 archived。默认状态为 live。 |
event_ticket_ids | dict | 显示与特定活动 ID 关联的票种类别 ID 的字典。 |
tickets | objectlist | 票种类别列表。每个票种类别包含 id、event_id、sales_channels、variants 和 name。默认情况下,此字段为空,除非使用了票种类别扩展字段。 |
eventbrite-pp-cli ticket-groups delete-a— 删除票务组。票务组的状态会更改为deleted。eventbrite-pp-cli ticket-groups retrieve-a— 根据票务组 ID 获取票务组。eventbrite-pp-cli ticket-groups update-a— 根据票务组 ID 更新票务组。
用户 — >注意: 这些 URL 可在 URL 中使用“me”代替用户 ID,例如,/users/me/orders/ 将返回当前用户下的订单。
用户对象
用户是代表 Eventbrite 账户的对象。用户是组织的成员。
eventbrite-pp-cli users list-your-organizations— 列出您作为成员所属的组织。返回分页响应。eventbrite-pp-cli users retrieve-information-about-a-account— 返回指定user对应的用户。eventbrite-pp-cli users retrieve-information-about-your-account— 获取您的用户账户信息
场地对象
场地对象表示活动的地点(即活动举办的地点)。
场地由组织对象分组。
场地字段
| 字段 | 类型 | 描述 |
|---|---|---|
address | address | 场地地址。 |
id | string | 场地 ID。 |
age_restriction | string | 场地的年龄限制。 |
capacity | number | 场地最多可售出的门票数量。 |
name | string | 场地名称。 |
latitude | string | 场地地址的纬度坐标。 |
longitude | string | 场地地址的经度坐标。 |
eventbrite-pp-cli venues retrieve-a— 根据场地 ID 获取场地。eventbrite-pp-cli venues update-a— 根据场地 ID 更新场地。
Webhook 对象
表示与组织关联的 webhook 的对象。
eventbrite-pp-cli webhooks create-deprecated— 创建 Webhook。> 警告:此 API 将于 2020 年 6 月 1 日起无法使用。eventbrite-pp-cli webhooks delete-by-id— 根据 ID 删除 Webhook。eventbrite-pp-cli webhooks list-of-deprecation— 列出 Webhook。> 警告:此 API 将于 2020 年 6 月 1 日起无法使用。
查找合适的命令
如果你知道要做什么,但不知道该用哪个命令,可以直接询问 CLI:
eventbrite-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有把握较大的匹配项——请改用 --help,或使用范围更窄的查询。
使用示例
找出销售速度最慢的进行中活动
eventbrite-pp-cli sales-velocity --json
根据本地订单存储,按活动开售以来的日均售票数对所有进行中的活动排序,并预测售罄日期。
找出适合再次营销的回头客
eventbrite-pp-cli repeat-attendees --min 3 --agent --select email,name,events_count
跨活动关联参会者;--agent 会输出结构化行,--select 则仅保留邮件工具所需的联系字段。
离线门口签到名单
eventbrite-pp-cli roster 1234567890 --csv
将某场活动已同步的参会者名单及签到状态以 CSV 格式打印,供现场取票名单使用——无需实时 API 调用。
代理机构周五客户汇总
eventbrite-pp-cli org-rollup --json
在同一视图中汇总令牌可访问的所有组织:活动、售票数、总收入,以及每个客户组织的热门活动。
衡量促销代码的投资回报率
eventbrite-pp-cli discount-performance --json
根据已同步的折扣对象,按兑换次数和兑换率(各代码配额的使用比例)对折扣代码排序。
整合 Eventbrite 和 DICE,全面了解活动表现
eventbrite-pp-cli fan-export --json
将 Eventbrite 买家/参会者名单导出为 JSON;在 DICE 销售同一场演出的主办方也导出 DICE 数据,然后由 Agent 按名称和日期关联活动,并按标准化邮箱关联买家,从而跨平台查看表现和忠诚度,而这些信息无法通过单个平台获取。
身份验证设置
Eventbrite 使用通过 Bearer 标头发送的 OAuth2 私有令牌。对于你自己的帐户,无需完成完整的 OAuth 流程——从 eventbrite.com/platform/api-keys 复制私有令牌并设置 EVENTBRITE_API_KEY。运行 eventbrite-pp-cli doctor,确认令牌已被读取。
Agent 模式
向任何命令添加 --agent,相当于展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留一部分字段。点分路径可深入嵌套结构;数组会逐个遍历元素。对于输出冗长的 API,此功能对控制上下文大小至关重要:eventbrite-pp-cli formats list --agent --select id,name,status -
可预览 —
--dry-run显示请求但不发送 -
支持离线使用 — 在本地 SQLite 存储可用时,同步/搜索命令可以使用该存储
-
非交互式 — 从不提示输入;所有输入均通过标志提供
-
显式重试 — 仅当已存在的创建结果应视为成功时使用
--idempotent;仅当缺失的删除目标应视为成功时使用--ignore-missing
响应信封
从本地存储或 API 读取数据的命令,会将输出包装在来源信封中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并通过 .meta.source 判断数据来自实时 API 还是本地存储。只有当 stdout 连接到终端,且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将人类可读的 N results (live) 摘要打印到 stderr;通过管道使用的命令、Agent 消费者以及显式指定格式的运行,都会在 stdout 输出纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有什么不对劲时,请记录下来:
eventbrite-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
eventbrite-pp-cli feedback --stdin < notes.txt
eventbrite-pp-cli feedback list --json --limit 10
条目会存储在本地的 ~/.eventbrite-pp-cli/feedback.jsonl 中。除非设置了 EVENTBRITE_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 EVENTBRITE_FEEDBACK_AUTO_SEND=true,否则绝不会发送 POST 请求。默认行为仅在本地保存。
写下让你感到意外的事,而不是 bug 报告。简短、具体,用一行描述:这是会不断累积的部分。
输出传递
每条命令都接受 --deliver <sink>。除了(或取代)stdout,输出还会发送到指定的目标,因此 Agent 无需手动管道传递即可路由命令结果。支持三种目标:
| 目标 | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 以原子方式将输出写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson) |
不支持的方案会被拒绝,并返回列出受支持方案的结构化错误。Webhook 失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。
命名配置
配置档是已保存的一组标志值,可在多次调用中重复使用。当定时运行的 Agent 每次都以相同配置调用同一命令时,可以使用它——即 HeyGen 的“Beacon”模式。
eventbrite-pp-cli profile save briefing --json
eventbrite-pp-cli --profile briefing formats list
eventbrite-pp-cli profile list --json
eventbrite-pp-cli profile show briefing
eventbrite-pp-cli profile delete briefing --yes
显式标志始终优先于配置档值;配置档值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置档,供自省型 Agent 在运行时发现。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示eventbrite-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并带上
--agent)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/eventbrite/cmd/eventbrite-pp-mcp@latest - 注册到 Claude Code:
claude mcp add eventbrite-pp-mcp -- eventbrite-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which eventbrite-pp-cli如果未找到,请提供安装选项(参见本技能开头的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:eventbrite-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
eventbrite-pp-cli <command> --help。