UC Partner 数据 API:线索、发票与积分
Urban Company Partner(Play 上显示为 UC Partner)是 Urban Company——总部位于德里、前称 UrbanClap 的上门服务平台——给独立从业者用的 Android 端,用来接单并完成客户预约。美容美发、SPA、保洁、灭虫和家电维修伙伴用手机号 OTP 登录、选择已上线的资料,然后在新线索与进行中任务看板、可设休假的预约日历、拆分服务费与材料费的发票页、已完成预约的任务历史,以及经 Paytm、Razorpay 或 Juspay 结算的积分充值流程里干活。它是 Urban Company 消费者预约应用的供给侧对应产品,服务印度以及阿联酋、沙特的上门服务从业者,与 Housejoy 等本地聚合工具处在同一市场位置。
线索积分余额挂在 currentCredits 上,Paytm 通道用 is_paytm_active 标明是否开通;同一张任务发票把 _serviceCharge 与 _materialCost 拆开。新请求卡片带 leadId、formattedBookingTime 以及含 ucQuote、minBudget、leadValue 的 budgetModel;日历按日给出 totalJobs,休假行则列出 leaveSlots。
运营看板可把未完成任务与发票 _total、任务历史 totalAmount / invoiceAmount 对上。信贷方可按 currentCredits 与 Paytm balance 估周转额度。合规机器人可拉取类型为 bank_account、pan、gst 的财务分组。openData Studio 把这些对象变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发送合作伙伴 OTP
POST
/v1/partner/otposint向所选 country_id / isd_code 的合作伙伴手机发送一次性验证码;isMasterLogin 标记主账号登录。
认证方式: 无需登录。携带 x-device-os、x-device-id、X-version-name、X-version-code、x-preferred-language、x-application-type。
- phone
- signup
- resend
- country_id
- isd_code
- isMasterLogin
POST /v1/partner/otp HTTP/1.1 x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "phone": "9876543210", "signup": false, "resend": false, "country_id": "IN", "isd_code": "91" }{ "isMasterLogin": false }校验合作伙伴 OTP
POST
/v1/partner/sessionosint确认 OTP,返回会话 token 以及资料选择器上的 profiles[](含 providerId、credits、newLeadCount、ongoingLeadCount)。
认证方式: 未登录的 OTP 交换。响应 token 存为 otpToken,随后加上 Bearer 前缀。
- phone
- otp
- country_id
- isd_code
- device
- name
- android_id
- gcm_id
- application_type
- resolution
- token
- create_allowed
- is_test_login
- newSignUpEnabled
- leadId
- title
- profiles
- providerId
- category
- address
- isLive
- credits
- newLeadCount
- ongoingLeadCount
- countryId
- isdCode
- profilePhoto
- status
POST /v1/partner/session HTTP/1.1 x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "phone": "9876543210", "otp": "123456", "country_id": "IN", "isd_code": "91", "device": { "name": "android", "android_id": "a1b2c3d4e5f6", "gcm_id": "fcm-token", "application_type": "android" }, "resolution": "thumb" }{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "create_allowed": true, "is_test_login": false, "newSignUpEnabled": false, "leadId": "pl_9f21", "title": "Select a profile", "profiles": [ { "providerId": "pr_4412", "name": "R. Sharma", "category": "Salon at home", "address": "Andheri West, Mumbai", "isLive": true, "credits": 42, "newLeadCount": 3, "ongoingLeadCount": 1, "countryId": "IN", "isdCode": "91", "profilePhoto": { "url": "https://cdn.example/p.jpg" }, "status": { "text": "Active" } } ] }发现新线索
POST
/v1/jobs/inboxopendata分页新线索看板:未读计数、错过线索游标、header_data 以及可购买的 lead_details 卡片。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上 x-device-os、x-device-id、X-version-name、X-version-code、x-preferred-language、x-application-type;选中助手时带 x-minion-id。
- page_number
- missed_leads_shown
- minion_id
- new_lead_not_viewed
- header_data
- no_more_leads
- lead_details
- leadId
- name
- location
POST /v1/jobs/inbox HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "page_number": 0, "missed_leads_shown": 0, "minion_id": "" }{ "new_lead_not_viewed": 2, "missed_leads_shown": 0, "no_more_leads": false, "header_data": { "title": "New leads" }, "lead_details": [ { "leadId": "ld_8821", "name": "A. Khan", "location": "Koramangala" } ] }列出进行中线索
POST
/v1/jobs/activeopendata按 filter/sort 分页进行中任务,返回 count、insights 以及 is_no_more_leads / is_load_more 游标。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上 x-device-os、x-device-id、X-version-name、X-version-code、x-preferred-language、x-application-type;选中助手时带 x-minion-id。
- filter
- sort
- page_number
- nocaching
- ondemand
- minion_id
- timestamp
- count
- insights
- is_no_more_leads
- is_load_more
POST /v1/jobs/active HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "filter": "all", "sort": [ "booking_time" ], "page_number": 0, "nocaching": false, "ondemand": false, "minion_id": "", "timestamp": 0 }{ "count": 4, "page_number": 1, "timestamp": 1759420800, "is_no_more_leads": false, "is_load_more": true, "insights": { "label": "On time" } }读取统一线索详情
POST
/v1/jobs/cardopendata按 request_id 打开 LeadMetaData(leadId、formattedBookingTime、location)以及任务卡上的 budgetModel 报价窗口。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上 x-device-os、x-device-id、X-version-name、X-version-code、x-preferred-language、x-application-type;选中助手时带 x-minion-id。
- request_id
- minion_id
- lead_meta_model
- leadId
- _id
- name
- leadOpen
- location
- formattedBookingTime
- lostLead
- leadDetailVersion
- isLeadBuyingAllowed
- isScanEnabled
- cardNotOpenMessage
- close
- isBlockAbleLead
- budgetModel
- ucQuote
- ucQuoteText
- ucBudget
- minBudget
- maxBudget
- budgetMessage
- leadValue
- orignalLeadValue
- priceNegotiable
- unit
- discount
- lead_card_template
- another_job_not_allowed_msg
- blocker_dialog_model
POST /v1/jobs/card HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "request_id": "ld_8821", "minion_id": "" }{ "lead_meta_model": { "leadId": "ld_8821", "_id": "req_8821", "name": "A. Khan", "leadOpen": true, "location": "Koramangala", "formattedBookingTime": "2 Oct, 11:00 AM", "lostLead": false, "leadDetailVersion": "V3", "isLeadBuyingAllowed": true, "isScanEnabled": false, "cardNotOpenMessage": "", "close": false, "isBlockAbleLead": false, "budgetModel": { "ucQuote": "1299", "ucQuoteText": "UC quote", "ucBudget": "1500", "minBudget": 999, "maxBudget": 1999, "budgetMessage": "Quote within range", "leadValue": 12, "orignalLeadValue": 12, "priceNegotiable": true, "unit": "job", "discount": "0" } }, "lead_card_template": {}, "another_job_not_allowed_msg": "", "blocker_dialog_model": {} }响应线索
POST
/v1/jobs/quoteopendata按 request_id 与 budget_model.unit 接受或报价,并在购买后刷新 creditsInfo 积分余额。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- request_id
- budget_model
- unit
- creditsInfo
- credits
POST /v1/jobs/quote HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "request_id": "ld_8821", "budget_model": { "unit": "job" } }{ "creditsInfo": { "credits": 30 } }完成线索收款
POST
/v1/jobs/collectopenfinance标记任务已收款或冻结:携带 state_key / state_option、GST 开关与可选 feedback,返回 lead_detail 与 reorder。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- request_id
- is_freeze
- state_key
- state_option
- is_gst_enabled
- feedback
- option_key
- token
- lead_detail
- reorder
POST /v1/jobs/collect HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "request_id": "ld_8821", "is_freeze": false, "state_key": "collect_payment", "state_option": "cash", "is_gst_enabled": true, "feedback": { "option_key": "job_done", "token": "fb_token" } }{ "lead_detail": { "leadId": "ld_8821" }, "reorder": false }预约日历摘要
POST
/v1/calendar/monthopendata按 yyyy/mm 加载合作伙伴日历:每日 totalJobs 与 events、leaveSlots、legends 以及 bottom_link_text_stack。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- yyyy
- mm
- current_date
- days
- date
- totalJobs
- events
- leaves
- leaveSlots
- legends
- bottom_link_text_stack
POST /v1/calendar/month HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "yyyy": 2026, "mm": 10 }{ "current_date": "2026-10-02", "days": [ { "date": "2026-10-02", "totalJobs": 3, "events": [ "salon" ] } ], "leaves": [ { "date": "2026-10-05", "leaveSlots": [ "AM" ] } ], "legends": [ { "key": "job" } ], "bottom_link_text_stack": [ { "text": "Manage leave" } ] }任务发票摘要
POST
/v1/jobs/invoiceopenfinance按 requestId 生成现场发票:服务费、材料费、预支现金、用户已付以及 summary._total。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- requestId
- planId
- invoiceComponents
- spareParts
- invoiceType
- bookingInvoice
- invoiceSections
- invoiceDetail
- _serviceCharge
- _materialCost
- _cashAdvance
- _userPaid
- summary
- _total
- items
- noWorkDoneMsg
- visitationChargeModel
- errorMsg
POST /v1/jobs/invoice HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "requestId": "ld_8821", "planId": "plan_basic", "invoiceComponents": [], "spareParts": [] }{ "data": { "invoiceType": "standard", "bookingInvoice": {}, "invoiceComponents": [], "invoiceSections": [], "invoiceDetail": { "_serviceCharge": 899, "_materialCost": 250, "_cashAdvance": 0, "_userPaid": 1149 }, "summary": { "_total": 1149, "items": [], "noWorkDoneMsg": "" }, "visitationChargeModel": {}, "errorMsg": "" } }任务收款历史
GET
/v1/earnings/jobs/{page}openfinance分页已完成任务的收款行:customerName、location、totalAmount、invoiceAmount 与 onlineReceived,按 year 分组。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- jobHistories
- requestId
- customerName
- location
- totalAmount
- bookingTime
- status
- type
- invoiceAmount
- onlineReceived
- date
- year
GET /v1/earnings/jobs/0 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en{ "jobHistories": [ { "requestId": "ld_7701", "customerName": "S. Patel", "location": "Bandra", "totalAmount": "1499", "bookingTime": 1759334400, "status": "completed", "type": "salon", "invoiceAmount": "1499", "onlineReceived": "1499", "date": "01 Oct 2026", "year": "2026" } ] }分组财务资料
POST
/v1/payout/kycopenfinance读取类型为 bank_account、pan 或 gst 的财务 KYC 分组,以及打款通道 gateway_service_name。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- sectionType
- bank_account
- pan
- gst
- gateway_service_name
- sections
- key
- title
- filled_status
POST /v1/payout/kyc HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "sectionType": [ "bank_account", "pan", "gst" ] }{ "gateway_service_name": "razorpay", "sections": [ { "key": "bank_account", "title": "Bank account", "filled_status": "filled" }, { "key": "pan", "title": "PAN", "filled_status": "filled" }, { "key": "gst", "title": "GSTIN", "filled_status": "pending" } ] }Paytm 钱包余额
GET
/v1/partner/walletopenbanking检查合作伙伴 Paytm 钱包是否已绑定(is_paytm_active)并返回当前 balance。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- is_paytm_active
- balance
GET /v1/partner/wallet HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en{ "is_paytm_active": true, "balance": 1280.5 }线索积分充值套餐
GET
/v1/wallet/packsopenfinance加载积分钱包充值页:currentCredits、unitPrice、gateway 以及含 credits / freeCredits 的 packages。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- currency
- currentBalanceText
- currentCredits
- customAmountEnabled
- unitPrice
- gateway
- gatewayId
- gatewayKey
- rechargeMessage
- packages
- credits
- freeCredits
- couponCode
- type
- descriptionText
GET /v1/wallet/packs HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en{ "data": { "currency": "INR", "currentBalanceText": "42 credits", "currentCredits": 42, "customAmountEnabled": true, "unitPrice": 12.0, "gateway": "paytm", "gatewayId": 1, "gatewayKey": "paytm_pg", "rechargeMessage": "Credits expire in 365 days", "packages": [ { "credits": "50", "freeCredits": "5", "couponCode": "", "type": "standard", "descriptionText": "50 + 5 free" } ] } }服务者资料分区
POST
/v1/partner/profileosint按 thumb 分辨率加载合作伙伴公开资料:profile_sections、contact_details、business_categories 与 web_profile_link。
认证方式: Authorization: Bearer <token>(来自伙伴 OTP 校验),加上设备与版本头。
- resolution
- profile_sections
- contact_details
- business_categories
- web_profile_link
POST /v1/partner/profile HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... x-device-os: android x-device-id: a1b2c3d4e5f6 X-version-name: 7.2.22 X-version-code: 10857 x-preferred-language: en Content-Type: application/json { "resolution": "thumb" }{ "profile_sections": [ { "key": "about", "title": "About", "filled_status": "filled" } ], "contact_details": { "phone": "9876543210" }, "business_categories": [ "salon" ], "web_profile_link": "https://cdn.example/p/pr_4412" }
数据类别
- 线索
- 预约
- 发票
- 收入
- 积分钱包
- 身份
数据使用场景与案例
合作伙伴任务与发票对账
运营看板把进行中线索(leadId、formattedBookingTime)与发票 _serviceCharge / _materialCost / _total 以及任务历史 totalAmount 对齐,让城市经理看出哪些预约仍未完成、哪些已经收款。
积分钱包周转授信
周转贷方读取 currentCredits,以及 is_paytm_active 与 Paytm balance,按线索购买钱包规模发放短期垫资,而不必等周结。
打款 KYC 入驻
合规机器人拉取类型为 bank_account、pan、gst 的财务分组,核验 gateway_service_name 与 filled_status 后再打开打款。
供给产能分析
供给规划任务结合日历 totalJobs、leaveSlots 与 new_lead_not_viewed / 进行中 count,预估某日有多少伙伴空闲。
常见问题
Urban Company Partner 背后有哪些对象?
覆盖新线索与进行中任务(leadId、formattedBookingTime、budgetModel)、预约日历(totalJobs、leaveSlots)、现场发票(_serviceCharge、_materialCost、_total)、任务收款历史(totalAmount、invoiceAmount)、线索积分钱包(currentCredits)以及已绑定的 Paytm 余额。
合作伙伴如何登录?
先向手机发送并校验 OTP,校验接口返回 token;之后请求以 Authorization: Bearer 携带,并附带设备与版本头。选中助手资料时还会发送 x-minion-id。
这款伙伴应用覆盖哪些市场?
登录国家列表覆盖印度、阿联酋与沙特——Urban Company 面向独立上门服务从业者的核心市场。
这是 Urban Company 的公开开发者 API 吗?
不是。这些是伙伴应用登录后调用的第一方端点,在此作为数据面记录,而非受支持的公开 SDK。
与 Urban Company Partner 相似的应用
- Justlife Partner — Justlife Partner 是 Justlife 的服务人员端应用;Justlife 在阿联酋和沙特运营家庭服务市场,承接保洁、到府美容、灭虫和空调清洗等预约。
- Housejoy — Housejoy 是总部位于班加罗尔的印度公司,经营房屋建造、翻新、粉刷、维修,并以 Zalon 品牌提供上门美容美发服务。
- Sulekha — Sulekha 是印度的本地服务撮合平台,把用户与经过核验的专业人员对接,覆盖保洁、灭虫、家电维修和家政等家庭服务类目。
- Justdial — Justdial 是印度的本地搜索公司,通过电话、网站和 JD 安卓应用收录餐馆、医生、酒店及其他本地商户与服务。
- TaskRabbit — TaskRabbit 是宜家旗下的本地零工市场,把自由职业 Tasker 与家具组装、搬家、保洁和杂工等上门任务对接,覆盖美国、加拿大、英国和部分欧盟国家。
- Thumbtack for Professionals — Thumbtack for Professionals 是美国上门服务市场 Thumbtack 的服务商端应用,本地杂工、保洁和其他技工可在其中接收并转化客户需求。
- Helpling Partner — Helpling Partner 是柏林家庭保洁平台 Helpling 的服务商端应用,用于接保洁订单并管理预约。
- Handy — Handy 是 Angi 旗下的上门服务市场,在美国、英国和加拿大预约家庭保洁、安装和杂工上门。
相关主题
- Urban Company Partner API
- UC Partner 线索
- UrbanClap 服务者
- 上门服务发票
- 伙伴积分钱包
- Paytm 伙伴余额
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业