Users API
整理 users 與 user_* 相關 API。
近期流量結論
2026-06-24 與 2026-07-14 查 legacy 正式機 ip-10-5-2-242 目前保留的 access log。2026-07-14 已確認實際位置為 /var/log/apache2/get-lancer_access.log*;rotation 同時包含 uncompressed 與 gzip,查詢方式與當次完整盤點見 migration 共用的 _meta/access_log.md。Users 系列主要命中:
| Endpoint | 筆數 | 判斷 |
|---|---|---|
POST /users/login_once.json | 63663 | 高流量;2026-06-29 已補 legacy guard / fallback 與 PHPUnit,已做 staging happy / consumed 實測,完整 diff 待補 |
POST /users/login.json | 29407 | 高流量;已補 legacy JSON path parity、同 device token rotation decision 與 PHPUnit,staging rotation / full diff 待補 |
POST /users/forgot_password.json | 3900 | 已補 action / PHPUnit / staging diff |
POST /users/sign_up.json | 894 | 已補 action / PHPUnit;已做 staging qna path 實測,完整 social token diff 待補 |
POST /users/delete.json | 539 | 已補 action / routing / PHPUnit;2026-07-02 已做 new staging curl 與主要 DB side effect 驗證 |
POST /users/change_password.json | 104 | 已補 action / routing / PHPUnit;2026-07-03 staging curl / DB / log 已驗證 |
POST /users/update_auto_refill.json | 21 | 已補 action / routing / PHPUnit;付款設定相關,流量較低;legacy / new staging success path 已驗證 |
POST /users/connect_social/{type}.json | 826 POST / 192 OPTIONS | 已補 action / routing / PHPUnit;2026-07-06 重查 legacy /var/log/apache2/get-lancer_access.log*,apple / google / facebook 仍有流量;2026-07-08 new staging Google / Apple 已驗證,Facebook 真實 token 待補 |
GET /users/referrals.json | 139 GET / 125 OPTIONS | 已補 action / routing / PHPUnit;只讀目前 user 的推薦好友列表,寄信是另一支 /users/refer.json |
POST /users/verify/phone/preauth.json | 21715 POST 200 / 80 POST 403 / 11810 OPTIONS 200 | 已補 action / route / model / PHPUnit;new staging Infobip delivery 已驗證 |
POST /users/verify/phone/auth.json | 21760 POST 200 / 31 POST 403 / 11469 OPTIONS 200 | 已補 action / route / user/referral/abnormal side effect / PHPUnit;new staging logged-in auth 已驗證 |
POST /users/verify/voice/preauth.json | 207 POST 200 / 137 OPTIONS 200 | 已補 route / voice provider path / duplicate guard / PHPUnit;真實 voice 實測待補 |
POST /users/login_once.json 已補 legacy parity guard / fallback 與 PHPUnit,已做 staging happy path、二次 consumed 與主要 DB side effect 實測,完整 diff 待補。POST /users/login.json 已補 Google / Facebook Limited / Apple transfer fallback、UserProfile.user_id response、email OTP consume flat id、login_logs、user_login_infos、device-id 無密碼失敗分支;2026-07-21 reviewer 接受同 device 成功重登 archive / rotate token 的非 legacy migration decision,staging rotation / full diff 待補。POST /users/forgot_password.json 已補 action / PHPUnit / staging diff。POST /users/sign_up.json 已補 action / PHPUnit,已做 staging qna path 實測,後續需補完整 social token diff;註冊流程不可直接沿用 shared account helper。POST /users/delete.json 已補 action / routing / PHPUnit,並已做 new staging curl 與主要 DB side effect 驗證。POST /users/change_password.json 已補 action / routing / PHPUnit,並已做 staging curl、DB side effect 與 log 驗證。
| Endpoint | 方法 | 認證 | 來源 | 說明 | 新專案對應 | 狀態 | 備註 |
|---|---|---|---|---|---|---|---|
/user_friends/index.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:57 | friend 清單 | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/add.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:143 | 新增 friend/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/delete.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:343 | 刪除 friend | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/reject.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:371 | 拒絕 friend/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/accept.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:491 | 接受 friend/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/remove.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:602 | 移除 friend/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_friends/importfriends.json | 待確認 | 全域 API key | app/Controller/UserFriendsController.php:923 | 匯入 friend | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFriends.php 或對應 route。 |
/user_profiles/edit.json | POST | 全域 API key | app/Controller/UserProfilesController.php:31 | 編輯 profile | 未找到 | 未找到 | 新專案沒有 UserProfiles endpoint。 |
/user_profiles/profile_image.json | 待確認 | 全域 API key | app/Controller/UserProfilesController.php:341 | profile image | 未找到 | 未找到 | 新專案沒有 UserProfiles endpoint。 |
/user_referrals/remove_referee.json | 待確認 | 使用者 session | app/Controller/UserReferralsController.php:77 | 移除 referee | 未找到 | 未找到 | 新專案沒有 UserReferrals endpoint。 |
/users/index.json | 待確認 | 全域 API key | app/Controller/UsersController.php:71 | user 清單 | 未找到 | 未找到 | 新專案 Users 沒有 index()。 |
/users/dashboard.json | 待確認 | 全域 API key | app/Controller/UsersController.php:472 | dashboard data | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/view.json | 待確認 | 使用者 session + API key | app/Controller/UsersController.php:1008 | user detail | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/register.json | POST | 全域 API key | app/Controller/UsersController.php:1320 | 註冊 | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/activation/{user_id}/{hash}.json | GET | 全域 API key | app/Controller/UsersController.php:1877 / JSON helper 1949 | 啟用 | 未找到 | 暫緩 | 2026-07-14 查全部保留的 legacy get-lancer_access.log* 為 0 筆;見 共用 access log 查詢紀錄。 |
/users/iphone_social_register.json | POST | 全域 API key | app/Controller/UsersController.php:2504 | iPhone social register | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/logout.json | 待確認 | 全域 API key | app/Controller/UsersController.php:2565 | 登出 | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/forgot_password.json | POST | 全域 API key | app/Controller/UsersController.php:2715 | 忘記密碼 | Users::forgot_password() | 已補 action / PHPUnit / staging diff | 2026-06-24 正式 log:POST 200 有 3900 筆;調查見 details/users/forgot_password.md。 |
/users/change_password_from_api.json | 待確認 | 使用者 session | app/Controller/UsersController.php:2911 | API 修改密碼 | Users::change_password() | 已補 action / routing / PHPUnit | 實際 JSON path 由 /users/change_password.json 轉入;見 details/users/change_password.md。 |
/users/change_password.json | POST | 使用者 session | app/Controller/UsersController.php:3151 | 修改密碼 | Users::change_password() | 已補 action / routing / PHPUnit / staging DB log 驗證 | 見 details/users/change_password.md。 |
/users/delete.json | POST | 使用者 session | app/Controller/UsersController.php:3884 | 刪除帳號 | Users::delete() | 已補 action / routing / PHPUnit / staging DB 驗證 | 見 details/users/delete.md。 |
/users/refer.json | POST | 使用者 session | app/Controller/UsersController.php:4409 / JSON path 5668 | 寄推薦好友 email | Users::refer() | 已補 action / routing / PHPUnit | 與 /users/referrals.json 同頁;只寫 Invite_Referral event queue,不新增 referral row。見 details/users/refer.md。 |
/users/skills.json | 待確認 | 全域 API key | app/Controller/UsersController.php:4935 | user skills | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/credentials.json | 待確認 | 全域 API key | app/Controller/UsersController.php:5038 | credentials | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/connect_social/{type}.json | POST | 使用者 session | app/Controller/UsersController.php:5278 | 綁定 Google / Facebook / Apple social id | Users::connect_social() | 已補 action / routing / PHPUnit / new staging Google、Apple 驗證 | 2026-07-08 已驗證 Google / Apple success、social id conflict 與主要 DB side effect;Facebook 真實 token 待補。調查見 details/users/connect_social.md。 |
/users/integration_data.json | 待確認 | 使用者 session | app/Controller/UsersController.php:5567 | integration payload | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/intercom_data.json | 待確認 | 使用者 session | app/Controller/UsersController.php:5622 | Intercom payload | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/refer_from_api.json | 待確認 | 使用者 session | app/Controller/UsersController.php:5668 | API referral | 未找到 | 未找到 | 新專案 Users 沒有同名 method。 |
/users/referrals.json | GET | 使用者 session | app/Controller/UsersController.php:5697 | referral 清單 | Users::referrals() | 已補 action / routing / PHPUnit | 2026-07-08 legacy log:139 GET 200 / 125 OPTIONS 200;實際頁面 /dashboard/free-credits/referral;見 details/users/referrals.md。 |
/users/sign_up.json | POST | 全域 API key | app/Controller/UsersController.php:6044 | 新版 sign up / consumer 註冊 | Users::sign_up() | 已補 action / PHPUnit;已做 staging qna path 實測,完整 social token diff 待補 | 調查與測試見 details/users/sign_up.md。 |
/users/update_auto_refill.json | POST | 使用者 session | app/Controller/UsersController.php:6345 | 更新 auto refill | Users::update_auto_refill() | 已補 action / routing / PHPUnit;legacy / new staging success path 已驗證 | legacy 主流程只更新 users.auto_refill_package_id 與 modified,不直接刷卡。見 details/users/update_auto_refill.md。 |
/user_favorites/user_favorites/index.json | 待確認 | 全域 API key | app/Plugin/UserFavorites/Controller/UserFavoritesController.php:14 | favorite 清單 | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFavorites.php 或對應 route。 |
/user_favorites/user_favorites/add.json | 待確認 | 全域 API key | app/Plugin/UserFavorites/Controller/UserFavoritesController.php:35 | 新增 favorite/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFavorites.php 或對應 route。 |
/user_favorites/user_favorites/delete.json | 待確認 | 全域 API key | app/Plugin/UserFavorites/Controller/UserFavoritesController.php:143 | 刪除 favorite/AJAX | 未找到 | 未找到 | 新專案未看到 Endpoint/V1/UserFavorites.php 或對應 route。 |
/user_can_messages/index.json | 待確認 | 使用者 session | app/Controller/UserCanMessagesController.php:14 | canned message 清單 | UserCanMessages::index() | 同路徑已存在 | 新專案 Endpoint/V1/UserCanMessages.php 有同名 action。 |
/user_can_messages/view.json | 待確認 | 使用者 session | app/Controller/UserCanMessagesController.php:44 | canned message detail | UserCanMessages::view() | 同路徑已存在 | 新專案 Endpoint/V1/UserCanMessages.php 有同名 action。 |
/user_can_messages/add.json | 待確認 | 使用者 session | app/Controller/UserCanMessagesController.php:76 | 新增 canned message | UserCanMessages::add() | 同路徑已存在 | 新專案 Endpoint/V1/UserCanMessages.php 有同名 action。 |
/user_can_messages/edit.json | 待確認 | 使用者 session | app/Controller/UserCanMessagesController.php:108 | 編輯 canned message | UserCanMessages::edit() | 同路徑已存在 | 新專案 Endpoint/V1/UserCanMessages.php 有同名 action。 |
/user_can_messages/delete.json | 待確認 | 使用者 session | app/Controller/UserCanMessagesController.php:145 | 刪除 canned message | UserCanMessages::delete() | 同路徑已存在 | 新專案 Endpoint/V1/UserCanMessages.php 有同名 action。 |
/user_identities/view.json | 待確認 | 使用者 session | app/Controller/UserIdentitiesController.php:342 | identity detail | UserIdentity::index() | 可能需改路徑/單複數不同 | 新專案是 UserIdentity 單數 endpoint,沒有 UserIdentities::view()。 |
/user_permission_preferences/edit.json | POST | 全域 API key | app/Controller/UserPermissionPreferencesController.php:5 | 編輯通知/權限偏好 | UserNotificationSettings::* | 可能需改路徑 | 新專案沒有同名 endpoint;可能由通知設定 endpoint 取代。 |
/users/login.json | POST | 全域 API key | app/Controller/UsersController.php:2018 | 登入 | Users::login() | 已補 legacy JSON path parity、token rotation decision 與 PHPUnit;staging rotation / full diff 待補 | 2026-07-21 同 device 成功重登改為 archive 舊 token 到 api_session_logs(action=login_rotate) 後建立新 token;這是 reviewer 接受的非 legacy migration decision。見 details/users/login.md。 |
/users/login_once.json | POST | 全域 API key | app/Controller/UsersController.php:2417 | 一次性登入 | Users::login_once() | 已補 legacy parity guard / fallback 與 PHPUnit;已做 staging happy / consumed 實測 | 2026-06-29 已補 active user、expired / fulfilled hash、device id fallback;見 details/users/login_once.md。 |
/users/check_account.json | 待確認 | 全域 API key | app/Controller/UsersController.php:5080 | 檢查帳號 | Users::check_account() | 同路徑已存在 | 新專案 Endpoint/V1/Users.php 有同名 action。 |
/users/push_notify.json | 待確認 | 使用者 session | app/Controller/UsersController.php:5528 | push token/settings | Users::push_notify() | 同路徑已存在 | 新專案 Endpoint/V1/Users.php 有同名 action。 |
/users/verify/phone/preauth.json | POST | 全域 API key;session optional | app/Controller/UsersController.php:5804,phone/preauth 分支 5834 | 發送 phone OTP | Users::verify() | 已補;new staging Infobip delivery 已驗證 | 2026-07-14 legacy:21715 POST 200、80 POST 403、11810 OPTIONS 200;2026-07-16 new PHPUnit 9 tests / 85 assertions(與 auth / voice 合計)及 Infobip callback status=7 實測;見 detail。 |
/users/verify/phone/auth.json | POST | 全域 API key;session optional | app/Controller/UsersController.php:5804,auth 分支 6006 | 驗證 OTP | Users::verify() | 已補;new staging logged-in auth 已驗證 | 2026-07-14 legacy:21760 POST 200、31 POST 403、11469 OPTIONS 200;2026-07-16 已驗證 verification consume、user phone confirm 與舊 owner reset;見 detail。 |
/users/verify/voice/preauth.json | POST | 全域 API key;session optional | app/Controller/UsersController.php:5804,voice 分支 5900 | 發送 voice OTP | Users::verify() | 已補;真實 voice 實測待補 | 2026-07-14 legacy:207 POST 200、137 OPTIONS 200;見 detail。 |
/users/verify/email/preauth.json | POST | 全域 API key;session optional | app/Controller/UsersController.php:5804 | 舊 email verify path | EmailVerifications::preauth*() | replacement 待確認 | 2026-07-14 legacy 只有 2 POST 200;current web-app 已走 /new/v1/email_verifications/preauth*。 |
/users/sign_in.json | 待確認 | 全域 API key | app/Controller/UsersController.php:6415 | 新版 sign in | Users::login() | 可能需改路徑 | 新專案沒有 sign_in();有 Users::login()。 |