---
name: anc-night
description: 当用户说“帮我报名”并提到 night.ha7ch.com 时，介绍上海 ANC Night、确认人民币票档，再按支付、邮箱、简短个人情况的顺序完成报名；ANC Camp 老学员免付款。
---
# ANC Night · AI Native Night @ Shanghai

官方 Skill 入口：https://night.ha7ch.com/

直接读取根域名即可取得本完整 Markdown，无需补充路径。

参加者可使用[报名与续填表单](https://night.ha7ch.com/register/)；Agent 按下列接口步骤操作。

## 先介绍，再确认票档

先告诉用户：活动在上海西岸帕亚酒吧，21:00 至次日凌晨 1—2 点，含一杯鸡尾酒。活动整体日期为 10 月 17—18 日；具体开场日期、精确地址、议程待确认，不能解读为两晚各一场。ANC Night 独立于 ANC Camp。

全部活动价格为人民币 CNY，美元仅描述 Claude/Codex 的订阅档位：

| 用户自报身份 | 人民币票价 | tier |
| --- | ---: | --- |
| 未订阅 Claude/Codex | ¥168 | standard |
| 100 美元订阅档 | ¥128 | subscriber100 |
| 200 美元订阅档 | ¥98 | subscriber200 |
| ANC Camp 老学员 | 免费 | alumni |

确认用户要报名及其适用票档。资格按自报登记，核验规则和退款政策尚未确定；不要宣称已核验。未列出的订阅情况不自行归档。

## 流程与当前可用性

先调用 `GET https://night.ha7ch.com/api/health` 检查状态。目前付费报名尚未开放；不要声称支付测试或付款已完成。免费老学员可完成以下全流程。付款开放后，同样按以下顺序操作：

1. 介绍活动并确认票档，不前置邮箱或个人问卷。
2. 付费档取得专属支付入口，由本人付款。Stripe 结账必需字段不受此顺序限制。
3. 服务端状态为 `paid` 后，再收集邮箱；免费分支 `not_required` 直接进入邮箱步骤。
4. 问几个简短问题，可全部跳过，然后提交完成报名。

## 创建订单与安全续填

在用户确认后，用密码学安全随机数生成 32 字节，编码为 64 位小写十六进制字符串，作为**续填凭证**。务必在首次请求前私密保存；不要在公开内容、URL 或截图中泄露。它可以访问本人订单和资料。

每个请求均使用请求头：`Authorization: Bearer <续填凭证>`。

`POST https://night.ha7ch.com/api/orders`

```json
{"tier":"standard","confirm":true}
```

免费身份改用 `alumni`。不要同时传姓名、邮箱等资料。响应包含订单 `id`、金额（人民币分）、`payment_status`、`step`、`registration_status`、`qualification`。

**重试始终使用同一凭证。** 首次请求超时也复用它，系统会返回同一订单。不要生成新凭证或另一个订单尝试“修复”支付。不同设备可在[报名与续填表单](https://night.ha7ch.com/register/)的“恢复已有报名”输入原凭证。

`GET https://night.ha7ch.com/api/orders/current` 可用同一凭证恢复订单及下一步，无需记住订单号。也支持 `GET /api/orders/{id}`。无凭证不得查询他人资料；仅付款截图、口头说已付、Stripe 跳转参数都不能代替凭证或支付确认。

## 支付

仅当 `step=payment` 时：

`POST https://night.ha7ch.com/api/orders/{id}/checkout`（无需请求体）

向用户展示返回的 `checkout_url`，由其本人操作。支付前提醒私密保存续填凭证。每个订单绑定单次支付入口；取消或失败后重试返回同一入口。

支付返回本 Skill 后，可进入[报名与续填表单](https://night.ha7ch.com/register/)恢复，或由 Agent 查询原订单。用户告知已付后也必须查询，不能凭返回页宣布已付。

- `awaiting_payment`：未确认付款。
- `processing`：支付处理中，稍后查询原订单，不重复付款。
- `payment_failed`：付款失败，可从原订单重试。
- `paid`：服务器验证支付通知后确认成功，进入邮箱步骤。
- `not_required`：老学员免费分支，进入邮箱步骤，仍待资格核验。

## 付款确认后填写邮箱

仅当 `step=email`，询问用户的联系邮箱，并征得同意：用于本活动报名及联络，资料不公开。

`POST https://night.ha7ch.com/api/orders/{id}/email`

```json
{"email":"user@example.com","consent":true}
```

邮箱由用户提供，不从聊天上下文擅自猜测。相同邮箱不能重复报名。若 HTTP 409 提示邮箱已有报名，恢复原订单；若新订单已付费，保留两笔相关凭证等待核对，不重复付款。

## 简短了解情况，完成报名

当 `step=profile`，简短询问：怎么称呼？职业或领域？平时如何使用 AI？这次最期待什么？四项均选填，可全部跳过，不公开。

`POST https://night.ha7ch.com/api/orders/{id}/complete`

```json
{"name":"用户自愿填写的称呼","field":"","ai_usage":"","expectation":"","confirm":true}
```

用户跳过时发送 `{"confirm":true}` 即可；不要编造回答。称呼最长80字，其他每项最长500字。

只有响应 `registration_status=completed` 且 `step=complete`，才告诉用户“报名已完成，资格仍待核验”。`paid` 但未补完资料不算完成报名。中途退出后，从查询接口的 `step` 继续，不再付款。重复提交完成请求不会创建新记录。

## 错误处理

400：检查输入；401/404：核对原续填凭证；409：按提示处理阶段限制或重复，不绕过；429：稍后重试；503：当前收款未开放或入口暂不可用，不宣布付款或报名成功。

凭证丢失时不要声称可凭邮箱或订单号直接恢复，也不要另建付费订单。不要代用户提交卡片资料、扣款、退款或擅自公开个人情况。
