Urban Company Partner 图标

UC Partner 数据 API:线索、发票与积分

Urban Company · 企业办公

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 把这些对象变成可调用的开放数据。

应用截图

  • Urban Company Partner 应用截图 1
  • Urban Company Partner 应用截图 2
  • Urban Company Partner 应用截图 3
  • Urban Company Partner 应用截图 4
  • Urban Company Partner 应用截图 5

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 发送合作伙伴 OTP

    POST /v1/partner/otp osint

    向所选 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/session osint

    确认 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/inbox opendata

    分页新线索看板:未读计数、错过线索游标、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/active opendata

    按 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/card opendata

    按 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/quote opendata

    按 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/collect openfinance

    标记任务已收款或冻结:携带 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/month opendata

    按 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/invoice openfinance

    按 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/kyc openfinance

    读取类型为 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/wallet openbanking

    检查合作伙伴 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/packs openfinance

    加载积分钱包充值页: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/profile osint

    按 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 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价