| 国家 ID | 国家名称 | 国家代码 | 货币代码 | 关联账号数 | 操作 |
|---|
国家维护
维护国家名称、英文简写和货币。账号货币自动关联国家,兑换按国家代码选择账号。
运行与充值总览
同时查看选定时间段的收卡与成功入账数据,以及当前登录态、IP 和兑换链路是否可安全运行。
今日充值成功的卡
按 Apple 实际确认入账金额分组;申报面值不一致的记录仍按实际金额计入,并同时标记 ATTENTION。
最近一次兑换时间线
X9QK7M2P4R8T6W3N · $25.00
来自 future-service-adapter 演示源;当前尚未真实接入。
14:26:08.042 · 4ms从 5 个符合条件的 READY 登录态中选出 3 个。
14:26:08.060 · 14ms返回 balance_after=$475.00,确认本次计入 $25.00。
14:26:08.866 · 806ms不阻塞已返回的成功 JSON,迟到响应仍完整落库。
14:26:09.104核心池健康
只展示会影响下一笔兑换的指标。
| 资源 | 当前 | 要求 | 状态 | 最近变化 |
|---|---|---|---|---|
| NORMAL_MAINTAINED READY | 6 | 最低 4 / 软上限 6 | 充足 | 2 分钟前恢复 +1 |
| FALLBACK_BEST_EFFORT READY | 1 | 不计 NORMAL 最低水位 | 兜底可用 | 另 1 个 DRAINING 不计 READY |
| 总活动 Session | 13 / 16 | 新建硬门禁 / cap debt 0 | 正常 | 无收敛欠账 |
| 空闲可用 IP | 12 | 最低 8,TTL >180s | 充足 | 41 秒前补入 +3 |
| 今日兑换结果 | 3,787 / 56 | 成功 / 失败 | 已结算 | 失败不占用账号额度 |
| MySQL / 审计存储 | InnoDB 事务 | 可写 / durable jobs <30s | 正常 | fallback 分配凭据同事务落盘 |
需要关注
按对下一笔兑换的影响排序。
兑换请求
每一行是一笔聚合请求;展开后可逐账号查看绑定 Session/IP、该 attempt 的完整 Apple 返回、结算动作与最终 JSON。
真实记录来自 /admin/api/redeems;首个明确成功可先返回,已发送 loser 后台结算。只使用额度足够的账号;不足 min 时可减少调用账号数,没有合格账号则直接拒绝。
| 请求 / 演示来源 | code / 面值 | 结果 / 结算 | 已发起 / 本轮候选 | 加卡成功账号 / 耗时 | 请求耗时 | 收到时间 | 操作 |
|---|---|---|---|---|---|---|---|
| rcg_01JZ82X4future-service-adapter · 未接入 | X9QK7M2P4R8T6W3N$25.00 · USD | 成功SETTLED · 3/3 已返回 | 3 / 5配置 1–3 | us.recharge01@icloud.combalance_after $475.00 | 824ms / 1.06s | 今天 14:26:08 | |
| rcg_01JZ7FB1demo-caller | F8K2M7Q4T9R3X6NP$100.00 · USD | 成功 · 目标兜底MATCHED 1 < MIN 3 · 整轮 FALLBACK | 3 / 8全部健康态统一 recent-first | us.recharge14@icloud.com授权超目标 $75.00 | 936ms / 1.22s | 今天 14:25:11 | |
| rcg_01JZ81WVdemo-caller | P7M2R9K4T8X3Q6NH$50.00 · USD | 明确失败SETTLED · 3/3 业务失败 | 3 / 3全部明确返回 | — | 4.91s / 4.91s | 今天 14:23:41 | |
| rcg_01JZ81BAfuture-service-adapter · 未接入 | R8T3X6N2Q9M4P7KH$10.00 · USD | 处理中1/3 已返回 · 2 在途 | 3 / 6 | 等待首个成功 | 1.27s / — | 今天 14:27:12 | |
| rcg_01JZ7XS9demo-caller | A7Q2M9R4T6X3N8KP申报 $25.00 · USD | 成功 · 需复核ATTENTION · 实际 redeemedCredit $100 | 3 / 4已按真实 $100 入账 | us.recharge13@icloud.comOVER_TARGET / DRAINING | 1.42s / 待复核 | 今天 13:54:33 | |
| rcg_01JZ7WQ6demo-caller | Q3M7P2R8T4X9N6KW$100.00 · USD | 未发送NO_USABLE_LOGIN_SESSION · 可安全重试 | 0 / 0MATCHED 0 / FALLBACK 0 | — | 6ms / 6ms | 今天 13:47:11 | |
| rcg_01JZ7YN8future-service-adapter · 未接入 | Y2N6T9R3K7P4M8QX$25.00 · USD | 成功SETTLED | 3 / 4 | us.recharge03@icloud.com | 1.18s / 1.42s | 今天 13:51:29 |
查国家
独立账号池同步查询卡国家;不进入普通充值 fanout,也不使用 target_fallback。
请求携带 Authorization 与 JSON {"code":"..."};Idempotency-Key 可选,不传即作为一次全新查询。HTTP 最多等待配置的总时限;541 会冷却当前账号并立即切换。
同步 HTTP 调用
Idempotency-Key 可选;仅在需要网络重试重放原结果时传入。业务成功或失败均以 HTTP 200 同步返回。
cURL
curl -X POST http://127.0.0.1:8080/v1/country-lookup \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'X-Caller-Id: direct-client' \
-d '{"code":"ABCDEFGH12345678"}'成功返回
{
"request_id": "country_...",
"status": 1,
"message": "查询成功",
"country": "USA",
"country_adjective": "American",
"account_country": "CHN",
"attempt_count": 2,
"elapsed_ms": 1834,
"apple_response_raw": "{...Apple 原始响应...}"
}status=1 表示查询成功;status=0 表示查询失败。失败返回同时包含 reason_code、message、attempt_count、elapsed_ms 和最后一次 Apple 原文 apple_response_raw(Apple 未返回正文时为 null)。
查询记录
完整卡号仅在已鉴权的管理后台显示;支持按完整或部分卡号、请求 ID、调用方搜索。
| 请求 / 调用方 | 完整卡号 | 结果 | 国家 | 尝试账号数 | 耗时 | 收到时间 | 操作 |
|---|---|---|---|---|---|---|---|
| 等待从 MySQL 读取查国家记录 | |||||||
专用账号登录态
账号用途在录入时固定;下表仅显示 COUNTRY_LOOKUP 账号,不会进入普通充值候选。
| 账号 | 账号状态 | 认证 / 工作 | 绑定 IP | 541 / 429 | IP 恢复 | 最近原因 |
|---|---|---|---|---|---|---|
| 等待读取专用账号 | ||||||
登录态池
认证健康和当前互斥工作分别展示;账号额度只扣除已确认成功金额与当前在途 active 预占。
充值只使用剩余额度覆盖本次面值的 TARGET_MATCHED 账号;NORMAL_MAINTAINED 表示仍能覆盖至少一个配置面值,临期/541 会维护。COUNTRY_LOOKUP 账号也显示在下表,但使用独立水位和调度,绝不参与普通充值或 FALLBACK。
| 账号 / Session | 认证健康 | 当前互斥工作 | 维护策略 | Apple 余额 / 更新时间 | 绑定 IP | IP 剩余 | 在线证据 | 541 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| us.recharge01@icloud.comses_A91D · s3 / p2 | HEALTHY | REDEEMINGlease185 · current attempt | NORMAL_MAINTAINED绑定失效时自动恢复 | $0 / 0 笔 | 203.0.113.42:1080proxy-us-a17 | 09:42 | 8 秒前 | 0 / 0 | |
| us.recharge02@icloud.comses_B31F · s2 / p4 | HEALTHY | REDEEMINGlease229 · current attempt | NORMAL_MAINTAINED绑定失效时自动恢复 | $0 / 0 笔 | 198.51.100.18:1080 | 07:18 | 31 秒前 | 0 / 3 | |
| us.recharge03@icloud.comses_C77A · s5 / p3 · 恢复 | HEALTHY | IDLE | NORMAL_MAINTAINED绑定失效时自动恢复 | $0 / 0 笔 | 203.0.113.77:1080 | 11:06 | 2 分钟前 | 0 / 5 | |
| us.recharge14@icloud.comses_H14A · s2 / p1 · FALLBACK_ONLY | HEALTHY | IDLE · 仅兜底AUTHORIZED_FALLBACK · 超目标 $75 | FALLBACK_BEST_EFFORT绑定失效即退休 | $0 / 0 笔 | 198.51.100.114:1080 | 06:30 | 28 秒前 | 0 / 1 | |
| us.recharge05@icloud.comses_E52C · s2 / p8 | REBINDING | LEASEDdurable rebind job | NORMAL_MAINTAINED绑定失效时自动恢复 | $0 / 0 笔 | 198.51.100.51:1080 | 00:43 | 刚刚 | 0 / 1 | |
| us.recharge04@icloud.comses_D28B · s4 / p6 | RISK_RELOGIN | LEASEDrisk login job | NORMAL_MAINTAINED绑定失效时自动恢复 | $0 / 0 笔 | 203.0.113.101:1080 | 10:33 | 19 秒前 | 2 / 8 | |
| us.recharge10@icloud.com新账号补池 · credential g1 | LOGGING_IN | LEASEDlogin_attempt la_044 | NORMAL_MAINTAINED登录成功后自动维护 | $0 / 0 笔 | 198.51.100.82:1080 | 14:22 | 进行中 | — |
账号池
账号池是登录态的补充来源。仅使用剩余额度足够的账号;没有可用账号时直接返回失败,不允许超目标充值。
| 账号 / 密码(原文) | 国家 | 充值池 | 目标 / 币种 | StoreFront | 累计确认充值 | 最后充值时间 | 账号余额 | 账号录入时间 | 当前在途预占 | 剩余可充值 | 登录态 | 登录失败计数 | 业务状态 / 操作 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| us.recharge01@icloud.comExamplePass-2026! | $1,000.00USD · 143441 | $475.00 | $475.00最近成功返回 | $10.00 / $0.00 | $515.00 | REDEEMING | 0 / 3credential g2 | ENABLED 最近原因:兑换 lease185 | ||||||
| us.recharge02@icloud.comBlue-Door-88! | $800.00USD · 143441 | $700.00 | $682.17可能有消费,不等于累计充值 | $10.00 / $0.00 | $90.00 | REDEEMING | 0 / 3credential g1 | ENABLED 最近原因:兑换 lease229 | ||||||
| us.recharge04@icloud.comSafe-Pass-104# | $600.00 | $150.00 | $150.00 | $0.00 / $0.00 | $450.00 | 重新登录 | 0 / 3541 不计密码错误 | ENABLED | ||||||
| us.recharge06@icloud.comCompleted-6$ | $500.00 | $500.00 | $487.30 | $0.00 / $0.00 | $0.00AT_TARGET | DRAININGIP 临期,已退出 READY | 0 / 3 | ENABLED FALLBACK_BEST_EFFORT 不换 IP,安全退休中 | ||||||
| us.recharge14@icloud.comFallback-14! | $500.00USD · 143441 | $575.00 | $650.00最近兜底成功返回 | $0.00 / $0.00 | 超目标 $75.00 | FALLBACK_ONLYses_H14A · HEALTHY | 0 / 3 | AUTHORIZED_FALLBACK MATCHED 1 < MIN 3 allocation attestation · 正常成功 | ||||||
| us.recharge13@icloud.comOver-Target-13! | $500.00USD · 143441 | $525.00 | $600.00 | $0.00 / $0.00 | $0.00 | DRAINING | 0 / 3 | OVER_TARGET 申报 $25,Apple 严格证据实际入账 $100 | ||||||
| us.recharge08@icloud.comNeeds-Repair-8! | $750.00USD · 143441 | $200.00 | — | $0.00 / $0.00 | $550.00 | LOGIN_BACKOFF | 2 / 3今天 14:24:18 · g3 | 等待自动重试 MZFinance.BadLogin · Password incorrect(原文)· 下次 14:29:18 | ||||||
| us.recharge07@icloud.comInvalid-Credential-7 | $900.00USD · 143441 | $125.00 | — | $0.00 / $0.00 | $775.00 | 无活动态 | 3 / 3今天 14:21:02 · g4 | CREDENTIAL_INVALID MZFinance.BadLogin · Password incorrect(原文) | ||||||
| us.recharge12@icloud.comDisabled-Example-12! | $1,000.00USD · 143441 | $50.00 | — | $0.00 / $0.00 | $950.00 | 无活动态 | 立即停止明确禁用不重试 | ACCOUNT_DISABLED Apple 明确返回账号已禁用 |
已归档
归档账号不参与补池或兑换,也不保留运行中的 Session;充值记录和出售回调永久保留,审计记录按原保留策略查询。
| 账号 / 密码(原文) | 国家 | 目标 / 币种 | StoreFront | 累计确认充值 | 当前账号余额 | 业务状态 | 出售余额快照 | 出售单价 | 出售总额 | 备注 | 出售回调 | 回调地址 | 尝试次数 | 回调成功时间 | 归档前状态 | 归档时间 | 操作 |
|---|
IP 池
可用 IP 必须已经验证且剩余使用时间大于 3 分钟。绑定后独占;临期 20 秒时 NORMAL_MAINTAINED 登录态换绑,FALLBACK_BEST_EFFORT 登录态安全退休。
IP 提供方健康
主、备用提供方的获取和验证情况。
| 提供方 | 状态 | 获取成功率 | P95 | 平均有效时长 |
|---|---|---|---|---|
| provider-primary | 正常 | 99.2% | 1.42s | 14m 28s |
| provider-backup | 待命 | 97.8% | 2.16s | 11m 06s |
IP 生命周期规则
当前服务实际采用的关键阈值。
验证出口、地区与 TTL 后计入空闲池;180 秒只是最低配置。
保存提供方 ID、实际出口 IP 与准确到期时间,代理失败绝不回退直连。
NORMAL_MAINTAINED 两阶段换绑;FALLBACK_BEST_EFFORT 直接退休。在途统一只记 binding_action_pending,结算后再决定换绑或退休。
| IP / 提供方 ID | 状态 | 剩余时长 | 绑定账号 | 最后验证 | 541 | 操作 |
|---|---|---|---|---|---|---|
| 203.0.113.120:1080proxy-us-a28 · primary | 空闲可用 | 14:36 | — | 12 秒前Apple 连通性 OK | 0 | |
| 203.0.113.42:1080proxy-us-a17 · primary | 已绑定 | 09:42 | us.recharge01@icloud.comses_A91D | 8 秒前 | 0 | |
| 198.51.100.51:1080proxy-us-b09 · backup | 即将过期 | 00:43 | us.recharge05@icloud.com正在换绑 | 刚刚 | 0 | |
| 198.51.100.115:1080proxy-us-b11 · backup | 等待安全退休 | 00:52 | us.recharge06@icloud.comFALLBACK_ONLY · 不购买新 IP | 刚刚 | 0 | |
| 198.51.100.199:1080proxy-us-b15 · backup | 验证失败 | — | — | 44 秒前出口重复 / 已隔离 | — |
登录与风控事件
集中查看登录、在线检测、541、换 IP、重新登录、账号禁用与恢复回池的完整事件链。
第一次 541 后已换 IP;新 IP 上再次 541,已进入重新登录。READY 数量仍高于最低要求。
在线探测 / 账号摘要
内部 accountSummary 用于远端在线证据;余额展示与对外查询是否保留仍需审核,不是礼品卡余额能力。
三件套中的礼品卡余额算法、卡国家识别与 Web session pool 不计划接入。
| 账号 | 结果 | Apple 账户余额 | 登录态 / IP | 耗时 | 查询时间 | 操作 |
|---|---|---|---|---|---|---|
| us.recharge01@icloud.com | 成功 | $475.00 | ses_A91D203.0.113.42 | 412ms | 今天 14:26:02早于当前 redeem lease185 | |
| us.recharge03@icloud.com | 成功 | $225.00 | ses_C77A203.0.113.77 | 531ms | 今天 14:25:12 | |
| us.recharge04@icloud.com | 541 · 待联调 | — | ses_D28B按需求触发换绑 | 896ms | 今天 14:27:07 |
运行设置
只保留直接影响登录态就绪度、IP 水位、兑换 fanout 与故障恢复的核心参数。
仅选择剩余额度覆盖本次面值的账号。本池低于 min 时可从另一池补充合格账号;仍低于 min 时使用现有合格账号,完全没有可用账号时最多等待 10 秒,仍不可用才拒绝。
登录态池
NORMAL 补池基线与软上限;FALLBACK_ONLY 单独统计,不阻止继续补 NORMAL。
IP 池与换绑
只有满足剩余 TTL 的已验证空闲 IP 才计入可用池。
并发兑换
request、排队和实际 Apple attempt 分开限额;fanout=3 时 128 个 request 不能被误当成只有 128 个 Apple 请求。
风控与凭据恢复
区分临时风控、明确密码错误、2FA/交互问题与账号永久不可用。
外部 redeem 接口
只接收 code、面值、币种与幂等标识,不接收账号或密码。
存储与保留
使用 MySQL / InnoDB 持久化,单活服务,不依赖 Redis。
运行模式与配置预览
DRAINING 拒绝新请求并安全取消未 CLAIMED,已 CLAIMED 完整收尾后自动 PAUSED;PAUSED 稳定禁止新发送。
runtime_mode: ACTIVE credential_policy: max_confirmed_password_failures: 3 apple_disabled_stops_immediately: true session_pool: min_ready: 4 normal_soft_max: 6 total_active_hard_cap: 16 current_occupancy: 13 cap_debt: 0 allow_recovered_overflow: true fallback_binding_loss_action: RETIRE ip_pool: min_available: 8 usable_ttl_seconds: 180 rebind_before_expiry_seconds: 60 redeem: min_accounts: 1 max_accounts: 3 account_selection: RECENT_SUCCESS_FIRST/v1 target_fallback_when_matched_zero: true mix_matched_and_fallback: false min_accounts_is_soft: true min_accounts_usage: coverage_slo_and_alert max_active_requests: 128 max_queued_requests: 256 max_claimed_apple_attempts: 256 timeout_seconds: 15 first_success_returns: true storage: engine: mysql topology: single-active transactional_engine: InnoDB redis: disabled backup_interval_minutes: 5 exact_idempotency_replay_days: 3 detail_retention_days: 3
运行安全
只展示会决定“是否还能安全向 Apple 发送”的控制面:SEND_GATE、耐久任务、卡死 lease、熔断器、磁盘与灾难恢复。
INTAKE 同事务创建唯一 SHORT_CLAIMED + REDEEM_DISPATCH;内存队列只唤醒调度器。SEND_GATE 用 job fencing/CAS 升级永久 tombstone,并在 InnoDB 同事务提交 CLAIMED/dispatch nonce、RESERVE 与 mode epoch 后才放行 HTTP。
MySQL INTAKE / SEND_GATE 与耐久域
允许外发前必须全部为绿色。
| 门禁 | 当前 | 要求 | 最近证明 |
|---|---|---|---|
| MySQL 数据库 | InnoDB 事务 | 同事务永久墓碑 | 8ms 前 commit |
| INTAKE / short claim | 冲突 0 | 同 code 唯一 generation | 晚到 release CAS 失败 0 |
| SEND_GATE | P95 18ms | commit 3,844 / rollback 0 | 1 笔零发送拒绝 · writer wait P95 4ms · BUSY 0 |
| Fallback allocation attestation | 违规 0 | matched_count < min · per-attempt reserve mode | RECENT_SUCCESS_FIRST/v1 · cfg19 |
| 金额账本投影 | 一致 | projection/head mismatch=0 | 全量重算 6 分钟前 |
| Session cap / debt | 13 / 16 · debt 0 | non-RETIRED + RESERVED slot | slot→LOGGING_IN 一换一 |
| Outcome journal | 同库可写 | response commit 后才结算 | seq 88421 |
| 磁盘安全水位 | 41% | <80% 才接受新 redeem | 12s 前 |
| 配置 / mode epoch | cfg19 / mode42 | SEND_GATE 内 CAS | ACTIVE |
熔断与依赖
关联异常时进入 BROWNOUT,不用真实 code 做健康探针。
Durable jobs 与 lease reaper
INTAKE 后以 MySQL job 为事实源;lease 超时只接管同一 execution。
| 队列 | 等待 / 在途 | 最老 | 状态 |
|---|---|---|---|
| redeem dispatch / short claim | 0 / 0 | — | 无搁置 |
| response journal consumer | 0 / 1 | 18s | 正常 |
| IP rebind / pending handoff | 1 / 1 | 11s | 运行中 |
| risk relogin | 1 / 1 | 9s | 运行中 |
| stuck CLAIMED / expired lease | 0 / 0 | — | 正常 |
备份、密钥与恢复门禁
MySQL 备份、完整性校验与单机故障边界。
5 分钟周期 · 备份完成 · journal seq 88421 · 数据校验完成。
单实例无同步副本;恢复后先 PAUSED 核对,不宣称灾难级 RPO=0。
双 key 无中断窗口;秘密查看与导出均审计。