/quote_activities/activities.json | 待確認 | 全域 API key | app/Plugin/Quotes/Controller/QuoteActivitiesController.php:360 | quote activity | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteActivities.php,但沒有 activities()。 |
/quote_bids/index.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:35 | quote bid 清單 | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteBids.php,但沒有 index()。 |
/quote_bids/provider_request_review/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:1579 | pro 要求 review | QuoteBids::provider_request_review() | 已補 action + routing + PHPUnit;staging response / DB side effect 已驗證 | 正式機有 961 筆 POST 200;會更新 review_requested_at、建立 ProviderInviteReview activity、寫 Request_Review event,調查見 details/quote_bids/provider_request_review.md。 |
/quote_bids/switch_to_manual_quote/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:1777 | 切換 manual quote | QuoteBids::switch_to_manual_quote() | 已補 action + PHPUnit;staging wallet debt path 已驗證 | 2026-05-27 正式機 access log 查到 934 筆;legacy / web-app 實際 path 帶 quote_bid_id,新版另保留 body quote_bid_id fallback。staging 已驗證 wallet 不足、有卡、debt 未達刷卡門檻 path;多卡 fallback 仍需補測。調查見 details/quote_bids/switch_to_manual_quote.md。 |
/quote_bids/want_to_contact_provider/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:1830 | 想聯絡 pro | QuoteBids::want_to_contact_provider() | 已補 action,PHPUnit + staging 已驗證 | 正式機有流量;核心 domain method 使用 QuoteBid::processWantToContactProvider(),success 與 error=17 insignificant 已完成 staging DB 對表;調查見 details/quote_bids/want_to_contact_provider.md。 |
/quote_bids/want_to_contact_provider_for_call_jwt | POST | JWT API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:2032 | 電話聯絡成功後進聯絡 provider 主線 | QuoteBids::want_to_contact_provider_for_call_jwt() | 已補 action + PHPUnit guard;待 staging callback 實測 | 和 call_fee_jwt 成組處理;Twilio / Infobip callback 使用 JWT 呼叫,調查見 details/quote_bids/call_jwt.md。 |
/quote_bids/call_fee_jwt | POST | JWT API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:2144 | 電話接通服務費 | QuoteBids::call_fee_jwt() | 已補 action + transactions.class = Call + PHPUnit | 寫 transactions.class = Call,不可和一般 QuoteBid fee 混判;調查見 details/quote_bids/call_jwt.md。 |
/quote_bids/consumer_want_to_see_more_quote/{quote_request_id}/page:{page}/limit:{limit}.json | GET | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:2230 | consumer 想看更多 narrow match quote | QuoteBids::consumer_want_to_see_more_quote() | 已補 action + routing + PHPUnit;staging response 對表已完成 | 正式機有 1688 筆 GET 200;只讀取可邀請 narrow match 清單,不寫 DB / queue / transaction,調查見 details/quote_bids/consumer_want_to_see_more_quote.md。 |
/quote_bids/consumer_want_provider_quote/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:2258 | consumer 指定 pro quote | QuoteBids::consumer_want_provider_quote() | 已補 action,PHPUnit + staging 已驗證 | 正式機有流量;成功、request closed / hired guard、duplicate invitation guard 已完成 staging DB 對表;調查見 details/quote_bids/consumer_want_provider_quote.md。 |
/quote_bids/provider_accept_narrow_match/{quote_bid_id}.json | POST | 使用者 session + API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:2314 | pro 接受 / 拒絕 narrow match | QuoteBids::provider_accept_narrow_match() | 已補 action,PHPUnit 已覆蓋 | narrow_status_id 由 param/body 帶入;accept / reject / guard / consumer notification event 已有 PHPUnit;調查見 details/quote_bids/provider_accept_narrow_match.md。 |
/quote_bids/rating.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:2377 | 評分 | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteBids.php,但沒有 rating()。 |
/quote_bids/change_status/{filter}/{quote_bid_id}.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:2410 | 改 quote bid 狀態 | 拆分到多個 QuoteBids::change_status_*() | 部分已存在 | 新專案用 Mapping.php 將 read / interest / archive / unarchive / reviews / hired / reject / undo_reject / rating 拆到不同 action;rating 已補手動報價、wallet/card/prime、contact charge、Receive_Quote 通知與主要 side effect,規則見 details/quote_bids/change_status/README.md。 |
/quote_bids/recent_quotes.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:5205 | recent quotes | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteBids.php,但沒有 recent_quotes()。 |
/quote_bids/save_review.json | 待確認 | 全域 API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:5231 | 儲存 review | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteBids.php,但沒有 save_review()。 |
/quote_bids/process_after_hired.json | 待確認 | 全域 API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:5505 | hired 後續流程 | 未找到 | 未找到 | 新專案有 Endpoint/V1/QuoteBids.php,但沒有 process_after_hired()。 |
/quote_bids/add_consumer_survey/quote_bid_id:{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:6097 | 新增 / 覆蓋 consumer survey | QuoteBids::add_consumer_survey() | 已補 action + routing + PHPUnit;staging response / DB 對表已完成 | 正式機有 598 筆 POST 200;只 upsert quote_consumer_surveys,不寫 bid / activity / queue / transaction,調查見 details/quote_bids/add_consumer_survey.md。 |
/quote_bids/provider_receive_phone/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:6229 | pro receive phone | QuoteBids::provider_receive_phone() | 已補 action + PHPUnit;staging response / DB side effect 已驗證 | 2026-05-28 正式機 access log 查到 6246 筆,全部 status 200;web-app 與正式流量都使用 path id。staging 已驗證 success response、is_provider_received_phone 與 ProReceivePhone activity。調查見 details/quote_bids/provider_receive_phone.md。 |
/quote_bids/preview_quote_fee/{quote_bid_id}/is_auto_quote:{is_auto_quote}.json | GET | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:6299 | quote fee 預覽 | QuoteBids::preview_quote_fee() | 已補 action + routing + PHPUnit;staging response / DB side effect 已驗證 | 正式機 gzip access log 有 41144 筆;樣本包含 iOS app、Android okhttp、Web,調查見 details/quote_bids/preview_quote_fee.md。 |
/quote_activities/quote_bid.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteActivitiesController.php:32 | quote activity | QuoteActivities::quote_bid() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteActivities.php 有同名 action。 |
/quote_activities/inbox.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteActivitiesController.php:1800 | inbox | QuoteActivities::inbox() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteActivities.php 有同名 action。 |
/quote_bids/work_requirement.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:1029 | 工作需求 | QuoteBids::work_requirement() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteBids.php 有同名 action。 |
/quote_bids/view.json | 待確認 | 使用者 session + API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:4358 | quote bid detail | QuoteBids::view() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteBids.php 有同名 action;另有 /quote_bid/{id}.json mapping。 |
/quote_bids/quote_feedbacks.json | 待確認 | 全域 API key | app/Plugin/Quotes/Controller/QuoteBidsController.php:4650 | quote feedback | QuoteBids::quote_feedbacks() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteBids.php 有同名 action。 |
/quote_bids/edit/{quote_bid_id}.json | POST | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:5083 | 編輯 quote bid provider tag | QuoteBids::edit() | 已補 legacy response / provider_tag parity + PHPUnit | 2026-05-28 正式機 access log 查到 POST 200 合計 16569 筆;web-app 只送 provider_tag=favorite 或空字串,且依賴 response message=Success。調查見 details/quote_bids/edit.md。 |
/quote_bids/auto_quote_charge_list.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:5973 | auto quote charge 清單 | QuoteBids::auto_quote_charge_list() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteBids.php 有同名 action。 |
/quote_bids/get_consumer_survey/quote_bid_id:{quote_bid_id}.json | GET | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:6030 | consumer survey | QuoteBids::get_consumer_survey() | 已在新專案正式環境長期運行;視為完成 | 2026-06-03 查 legacy 正式機 access log 無命中,判斷流量已不在 legacy 專案。後續以現行 new production 行為為準;若與 legacy 有差異,不直接列為 migration 待修正項。調查見 details/quote_bids/get_consumer_survey.md。 |
/quote_bids/unread_count.json | 待確認 | 使用者 session | app/Plugin/Quotes/Controller/QuoteBidsController.php:6142 | 未讀數 | QuoteBids::unread_count() | 同路徑已存在 | 新專案 Endpoint/V1/QuoteBids.php 有同名 action。 |