bni-121

Installation
SKILL.md

BNI 121 & 引薦自動填報

透過 API 直接批次提交一對一 (121) 會面記錄與引薦記錄,不需要操作 UI。

執行步驟

Step 1:收集資訊

一次向用戶詢問以下資訊:

  1. BNI Connect 帳號密碼(Email & 密碼)
  2. 121 名單:每行一筆,只需姓名
  3. 會面地點
  4. 會面日期(預設今天,格式 YYYY-MM-DD)
  5. 引薦名單(可選):每行格式 引薦給誰 | 被引薦人姓名

Step 2:登入取得 JWT Token

用 agent-browser 登入,從 localStorage 取出 JWT token。

⚠️ 登入陷阱:登入後 get url 可能仍顯示 /login/,這是 React SPA 的行為,並不代表失敗。以 localStorage 中是否有 token 作為成功依據。

agent-browser --session-name bni open "https://www.bniconnectglobal.com/login/"
agent-browser --session-name bni wait --load networkidle

# 取得 ref(每次重新登入 ref 可能不同,必須先 snapshot 再使用)
agent-browser --session-name bni snapshot -i
# 通常:使用者名稱=e11, 密碼=e12, 登入按鈕=e8

agent-browser --session-name bni fill e11 "<email>"
agent-browser --session-name bni fill e12 "<password>"
agent-browser --session-name bni click e8
agent-browser --session-name bni wait --load networkidle
agent-browser --session-name bni wait 2000   # 等 localStorage 寫入完成

# 取出 JWT(不用 get url 判斷,直接讀 token)
TOKEN=$(agent-browser --session-name bni eval "JSON.parse(localStorage.getItem('bniconnect:portal:session')).access_token" | tr -d '"')
echo "Token length: ${#TOKEN}"  # 應為 700+ 字元

Step 3:批次提交 121

使用技能目錄下的 scripts/submit-121.sh,透過環境變數傳入參數,姓名作為位置參數:

SKILL_DIR="/Users/kevinshu/Projects/bni/.claude/skills/bni-121"
TOKEN="<jwt>" DATE="2026-04-29" LOCATION="東京" COMMENTS="商務交流" \
  bash "$SKILL_DIR/scripts/submit-121.sh" 周澐 張家綺 王大明

⚠️ 姓名顛倒:BNI API 的 firstName 存中文「姓」,lastName 存中文「名」(與英文慣例相反)。腳本已處理。

⚠️ 用 curl,不用 Python urllib:Python urllib 可能遇到 403,腳本使用 /usr/bin/curl

Step 4:批次提交引薦(可選)

使用技能目錄下的 scripts/submit-referral.sh,每個引薦以 接收者|被引薦人 格式傳入:

SKILL_DIR="/Users/kevinshu/Projects/bni/.claude/skills/bni-121"
TOKEN="<jwt>" bash "$SKILL_DIR/scripts/submit-referral.sh" \
  "江大大|攤位對面活動廠商" \
  "陳蕃薯|王小明"

⚠️ 預設為外分會(跨分會):121 與引薦均預設以外分會模式提交(referralType: OUTSIDE)。

Step 5:完成回報

向用戶報告 121 與引薦各自的成功筆數,以及任何失敗的姓名與原因。

API 參考

功能 方法 路徑
本分會成員清單 GET /member-api/slips/available-members-list
跨分會搜尋 POST /member-api/cross-chapter-search
提交 121 PUT /member-api/slips/one2one
提交引薦 PUT /member-api/slips/referral
  • Base URLhttps://api.bniconnectglobal.com
  • AuthAuthorization: Bearer <JWT>
  • dateMet 格式YYYY-MM-DDTHH:mm:ss(時間固定填 00:00:00
  • comments:談話主題欄位
  • HTTP 428:重複記錄偵測,重送時 header 改為 bypassCheck: true(submit-121.sh 已處理)
  • Token 有效期:約 2 小時(expires_in: 7199
  • 引薦預設值referralType: OUTSIDEtemperature: 5cardGiven: true
Installs
1
First Seen
8 days ago