QuoteBids Details
quote_bids 是目前 API migration 中最複雜的區塊,包含報價、聯絡專家、narrow match、狀態流、付款與通知。
已深入調查
| API / 流程 | 文件 | 狀態 |
|---|---|---|
/quote_bids/change_status/{filter}/{quote_bid_id}.json | change_status/README.md | 拆成 filter 文件維護 |
/quote_bids/want_to_contact_provider/{quote_bid_id}.json | want_to_contact_provider.md | 已補 legacy parity + PHPUnit,staging success / error 17 已驗證 |
/quote_bids/switch_to_manual_quote/{quote_bid_id}.json | switch_to_manual_quote.md | 已補 action + routing + PHPUnit;staging wallet debt path 已驗證 |
/quote_bids/want_to_contact_provider_for_call_jwt / /quote_bids/call_fee_jwt | call_jwt.md | 已補 action + call fee transaction + PHPUnit;需補 staging callback 實測 |
/quote_bids/consumer_want_provider_quote/{quote_bid_id}.json | consumer_want_provider_quote.md | 已補 action + PHPUnit + staging 已驗證 |
/quote_bids/provider_request_review/{quote_bid_id}.json | provider_request_review.md | 已補 action + routing + PHPUnit;staging response / DB side effect 已驗證 |
/quote_bids/provider_accept_narrow_match/{quote_bid_id}.json | provider_accept_narrow_match.md | 已補 action + PHPUnit;narrow_status_id 由 param/body 帶入 |
/quote_bids/preview_quote_fee/{quote_bid_id}/is_auto_quote:{is_auto_quote}.json | preview_quote_fee.md | 已補 action + routing + PHPUnit;staging response / DB side effect 已驗證 |
/quote_bids/provider_receive_phone/{quote_bid_id}.json | provider_receive_phone.md | 已補 action + routing + PHPUnit;staging response / DB side effect 已驗證 |
/quote_bids/edit/{quote_bid_id}.json | edit.md | 已補 legacy response / provider_tag parity + PHPUnit;正式流量 16569 筆 |
/quote_bids/consumer_want_to_see_more_quote/{quote_request_id}/page:{page}/limit:{limit}.json | consumer_want_to_see_more_quote.md | 已補 action + routing + PHPUnit;staging response 對表已完成 |
/quote_bids/add_consumer_survey/quote_bid_id:{quote_bid_id}.json | add_consumer_survey.md | 已補 action + routing + PHPUnit;staging response / DB 對表已完成 |
/quote_bids/get_consumer_survey/quote_bid_id:{quote_bid_id}.json | get_consumer_survey.md | 已在新專案正式環境長期運行;視為過去已處理完成 |
子文件規則
change_status/:用 filter 拆文件,不再新增一份混合文件。provider_accept_narrow_match/:主文件放流程,子文件放付款、queue/log、測試案例。- 與付款、queue、log 有關的共通規則,優先連到
/Users/mattsu/Documents/Common Process Documents,不要在每支 API 重複貼完整背景。
目前同步狀態
consumer_want_provider_quote:staging 已完成成功、request closed / hired guard、duplicate guard 實測,DB side effect 已回填文件。want_to_contact_provider:已補 legacy parity、PHPUnit、新專案 staging success 與error=17insignificant 實測;剩餘缺口是prime/ TapPay sequence。switch_to_manual_quote:已補 action、routing、wallet 成功路徑與已聯絡 guard PHPUnit;staging 已驗證 wallet debt 未達刷卡門檻 path,多卡刷卡 fallback 仍需補測。provider_accept_narrow_match:staging load balancer 已切換,付款 / queue / guard 規則維持在子文件。provider_request_review:正式機 access log 有961筆POST200;new staging 已驗證 response、review_requested_at、ProviderInviteReviewactivity、security hash 與Request_Reviewqueue/log。preview_quote_fee:正式機 gzip access log 有41144筆,實際 caller 使用GET /quote_bids/preview_quote_fee/{quote_bid_id}/is_auto_quote:{is_auto_quote}.json;已補 action / routing / PHPUnit / staging baseline。provider_receive_phone:正式機 access log 有6246筆,實際 caller 使用POST /quote_bids/provider_receive_phone/{quote_bid_id}.json;已補 new route / action / PHPUnit / staging baseline。edit:正式機 access log 有16569筆POST200;web-app 只送provider_tag=favorite或空字串,且依賴 responsemessage=Success。已修正 new response 與 legacyprovider_tag寫入語意。consumer_want_to_see_more_quote:正式機 access log 有1688筆GET200;web-app 使用 GET path id +page/limit,這支只讀取可邀請 narrow match 清單,不做任何同步 side effect;staging response 對表已完成。add_consumer_survey:正式機 access log 有598筆POST200;web-app 使用 named pathquote_bid_id:{id},body 是total_pay/comment/unit,這支只 upsertquote_consumer_surveys;staging response / DB 對表已完成。get_consumer_survey:已在新專案正式環境長期運行;2026-06-03 查 legacy 正式機 access log 無命中,判斷流量已不在 legacy 專案。後續以現行 new production 行為為準,不再把 legacy 差異列為 migration 待修正項。
SMS / Every8d retry 屬外部服務設定或第三方服務問題,不作為上述 API migration parity 的阻塞條件。