Careem Captain 图标

Careem Captain 数据 API:钱包、收入与订单

Careem · 出行

Careem Captain 是司机用来上线、接受打车与配送订单、收取现金并提现的应用。钱包界面由 GET /v1/wallet/cash-status/{captainId} 支撑,收入首页加载 GET /v1/drivers/{captain_id}/earnings/aggregate/{window},其中含 tripEarnings、tips 与 fines。订单通过 POST /v1/dispatch/offers/acknowledge 与步骤打点流转;提现经 POST /v1/payouts/disburse 打到 GET /v1/payouts/methods/{captainId} 列出的银行 IBAN。

Careem Captain 是 Careem 司机(Captain)的搭档应用:上线接单、接受打车与配送任务、收取现金并提现收入。在地图、收入和钱包界面背后,应用通过 Retrofit/OkHttp 与 Gson、Moshi 模型同 Careem 面向司机的服务网关通信——钱包与手头现金状态带预警和冻结限额,收入聚合含 tripEarnings/tips/bonuses/fines,提现方式携带 IBAN 与 nationalId,另有每个任务的步骤打点与现金收款确认、含 captainEarning 的车费明细,以及一个接单率 KPI——拒绝过多订单的司机可能被冻结。

应用截图

  • Careem Captain 应用截图 1
  • Careem Captain 应用截图 2
  • Careem Captain 应用截图 3
  • Careem Captain 应用截图 4
  • Careem Captain 应用截图 5
  • Careem Captain 应用截图 6

API 端点一览

  • 司机钱包与现金状态

    GET /v1/wallet/cash-status/{captainId} openbanking

    读取已登录司机的钱包余额与手头现金头寸,包括未上缴现金过高时会冻结新订单的预警 / 冻结现金限额。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • captainId
    • walletBalance
    • cashBalanceAmount
    • warningCashLimit
    • blockingCashLimit
    • balance
    • currency
    • cashStatus

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/wallet/cash-status/18422109 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "captainId": 18422109,
      "walletBalance": 1260.5,
      "cashBalanceAmount": -85.0,
      "warningCashLimit": 150,
      "blockingCashLimit": 300,
      "balance": -85.0,
      "currency": "AED",
      "cashStatus": "WARNING"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的钱包与手头现金状态流程重构
    • 与钱包界面上的预警和冻结现金限额横幅一致
  • 按类型聚合收入

    GET /v1/drivers/{captain_id}/earnings/aggregate/{window} openfinance

    驱动收入落地页:周期总额,以及司机收入按行程收入、小费、奖励、保底、罚款与行为处罚的拆分。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • currencyCode
    • overview
    • totalEarnings
    • aggregationByTime
    • earnings
    • startDate
    • endDate
    • breakdown
    • tripEarnings
    • tips
    • matchedTips
    • bonuses
    • guarantees
    • fines
    • finesRefunds
    • behaviorPenalties
    • other

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/drivers/18422109/earnings/aggregate/WEEKLY?from=1727049600000&to=1727654400000 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "currencyCode": "AED",
      "overview": {
        "totalEarnings": 2140.75,
        "aggregationByTime": [
          {"earnings": 380.5, "startDate": "2026-09-21", "endDate": "2026-09-21"},
          {"earnings": 412.0, "startDate": "2026-09-22", "endDate": "2026-09-22"}
        ]
      },
      "breakdown": {
        "tripEarnings": 1680.0,
        "tips": 210.5,
        "matchedTips": 40.0,
        "bonuses": 180.0,
        "guarantees": 50.0,
        "fines": 15.0,
        "finesRefunds": 0.0,
        "behaviorPenalties": 4.75,
        "other": 0.0
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的收入落地页重构
    • 与收入首页的周期选择器和拆分磁贴一致
  • 按周期列出收入交易

    GET /v1/earnings/transactions/{captainId}/cycle/{cycle} openfinance

    列出一个提现周期的逐行程收入明细行——任务、行程、地点、金额与业务线——展示在订单 / 行程历史的收入页签。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • bookings
    • jobId
    • tripId
    • location
    • dateTimeIso
    • currency
    • amount
    • vertical
    • status

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/earnings/transactions/18422109/cycle/38?page=0 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "bookings": [
        {
          "jobId": 99218411,
          "tripId": "TRP-88A21",
          "location": "Downtown Dubai",
          "dateTimeIso": "2026-09-24T18:41:00Z",
          "currency": "AED",
          "amount": 42.5,
          "vertical": "RIDE",
          "status": "COMPLETED"
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的订单 / 行程历史收入页签重构
    • 与司机提现前核对的周期台账一致
  • 未核销的收入交易

    GET /v1/earnings/transactions/{captainId}/pending openfinance

    返回仍待核销的收入——通常是等待结算的现金行程——它们会阻塞或延迟一个提现周期。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • unverifiedTransactions
    • jobId
    • tripId
    • amount
    • currency
    • status
    • dateTimeIso

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/earnings/transactions/18422109/pending?limit=20 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "unverifiedTransactions": [
        {
          "jobId": 99219002,
          "tripId": "TRP-88B04",
          "amount": 18.0,
          "currency": "AED",
          "status": "UNVERIFIED",
          "dateTimeIso": "2026-09-24T21:05:11Z"
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的待核销收入列表重构
    • 与拖延提现的现金行程结算提示一致
  • 提现支付方式

    GET /v1/payouts/methods/{captainId} openbanking

    列出司机的提现目的地(银行 IBAN、钱包、国民身份证),用于支付方式与提现界面。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • paymentMethods
    • id
    • optionType
    • optionName
    • status
    • primary
    • detail
    • bankName
    • accountIBAN
    • careemCustomerId
    • walletNumber
    • nationalId

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/payouts/methods/18422109 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "paymentMethods": [
        {
          "id": 44102881,
          "optionType": "BANK_ACCOUNT",
          "optionName": "Emirates NBD",
          "status": "VERIFIED",
          "primary": true,
          "detail": {
            "bankName": "Emirates NBD",
            "accountIBAN": "AE070331234567890123456",
            "careemCustomerId": "c_9b0e12f4",
            "walletNumber": null,
            "nationalId": "784-1988-1234567-1"
          }
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的支付方式与提现界面重构
    • 与向司机展示的银行账户 / 钱包 / 身份证提现选项一致
  • 提现收入

    POST /v1/payouts/disburse openfinance

    把司机已结算的收入提现到主提现方式(银行账户或钱包)。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • disbursementId
    • captainId
    • amount
    • currency
    • paymentMethodId
    • status

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/payouts/disburse HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "captainId": 18422109,
      "amount": 800.0,
      "currency": "AED",
      "paymentMethodId": 44102881
    }
    {
      "disbursementId": "dsb_77a1c0",
      "captainId": 18422109,
      "amount": 800.0,
      "currency": "AED",
      "paymentMethodId": 44102881,
      "status": "PROCESSING"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的提现确认流程重构
    • 与提现请求后的打款状态横幅一致
  • 从收入向钱包充值

    POST /v1/wallet/topup openfinance

    把已结算的行程收入转入司机钱包,用于支付未结清的现金余额或在应用内消费。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • captainId
    • amount
    • currency
    • walletBalance
    • status

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/wallet/topup HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "captainId": 18422109,
      "amount": 150.0,
      "currency": "AED"
    }
    {
      "captainId": 18422109,
      "amount": 150.0,
      "currency": "AED",
      "walletBalance": 1410.5,
      "status": "SUCCEEDED"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的钱包充值流程重构
    • 与钱包界面上“支付未结清现金余额”的提示一致
  • 确认订单邀约

    POST /v1/dispatch/offers/acknowledge opendata

    接受或确认传入的打车 / 配送邀约,使任务分配给该司机并出现在实时行程界面。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • jobUid
    • id
    • uid
    • viewUid
    • status
    • forcedSyncKey
    • accepted
    • captainId

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/dispatch/offers/acknowledge HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "jobUid": "job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "captainId": 18422109,
      "accepted": true
    }
    {
      "jobUid": "job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "id": 99218411,
      "uid": "job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "viewUid": "vw_99218411",
      "status": "ASSIGNED",
      "forcedSyncKey": "sync_4410"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的传入邀约接受流程重构
    • 与实时行程界面上显示的派单状态一致
  • 标记任务步骤完成

    POST /v1/dispatch/jobs/{jobUid}/steps/{stepUid}/complete opendata

    推进任务经过接驾 / 送达各步骤(到达、已接驾、已送达),驱动行程中地图与下一站 UI。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • jobUid
    • stepUid
    • status
    • id
    • schedule
    • lat
    • lng

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/dispatch/jobs/job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234/steps/stp_pickup/complete HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "lat": 25.1972,
      "lng": 55.2744,
      "status": "ARRIVED_PICKUP"
    }
    {
      "jobUid": "job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "stepUid": "stp_pickup",
      "status": "ARRIVED_PICKUP",
      "id": 99218411,
      "schedule": {"etaSeconds": 420}
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的行程中接驾 / 送达步骤按钮重构
    • 与实时地图上的下一站状态机一致
  • 确认现金已收

    POST /v1/dispatch/jobs/{jobUid}/cash-confirm openfinance

    记录乘客在送达时以现金付款,更新司机未结清的手头现金余额。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • jobUid
    • amount
    • currency
    • status
    • cashBalanceAmount

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/dispatch/jobs/job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234/cash-confirm HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "amount": 42.5,
      "currency": "AED"
    }
    {
      "jobUid": "job_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "amount": 42.5,
      "currency": "AED",
      "status": "CASH_PAID",
      "cashBalanceAmount": -127.5
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用送达时的现金收款确认重构
    • 与钱包界面上的未结清现金余额更新一致
  • 订单车费明细

    GET /v1/trips/{bookingId}/fare-breakdown openfinance

    返回行程后的车费回执——乘客价格、折扣与 captainEarning——展示在行程结束 / 行程回执界面。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • tripId
    • tripPrice
    • discount
    • promotionalDiscount
    • captainEarning
    • baseAmount
    • userCredit
    • userCreditUsed
    • creditCardsOnFile
    • isOffline
    • currency
    • basePriceType

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/trips/99218411/fare-breakdown HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "tripId": 99218411,
      "tripPrice": 48.0,
      "discount": 5.5,
      "promotionalDiscount": 2.0,
      "captainEarning": 36.4,
      "baseAmount": 32.0,
      "userCredit": 0.0,
      "userCreditUsed": 0.0,
      "creditCardsOnFile": 1,
      "isOffline": false,
      "currency": {"code": "AED", "name": "United Arab Emirates dirham"},
      "basePriceType": "METERED"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的行程结束回执界面重构
    • 与司机在每份车费回执上看到的 captainEarning 行一致
  • 司机接单率

    GET /v1/metrics/acceptance-rate opendata

    读取自动派单与绩效卡片使用的司机接单 KPI;低于阈值可能冻结司机。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • acceptanceRate
    • acceptanceFlag
    • acceptanceThreshold
    • captainId

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/metrics/acceptance-rate?captainId=18422109&from=1727049600000 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "acceptanceRate": 0.86,
      "acceptanceFlag": "HEALTHY",
      "acceptanceThreshold": 0.7,
      "captainId": 18422109
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的绩效卡片与自动派单提示重构
    • 与拒绝过多订单时显示的阈值警告一致
  • 绩效报告概览

    GET /v1/performance/overview/{captainId} opendata

    加载司机绩效报告概览——评分、完成行程数、取消率与在线时长——展示在参与度 / 绩效首页。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • captainId
    • acceptanceRate
    • rating
    • completedTrips
    • cancellationRate
    • onlineMinutes

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/performance/overview/18422109 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "captainId": 18422109,
      "acceptanceRate": 0.86,
      "rating": 4.92,
      "completedTrips": 1842,
      "cancellationRate": 0.04,
      "onlineMinutes": 2460
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的参与度 / 绩效首页重构
  • 班次出勤

    GET /v1/shifts/attendance/{captainId} opendata

    返回区域 / 班次司机使用的排班出勤——预订时段与实际在线分钟数的对比。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • captainId
    • shifts
    • shiftId
    • startTime
    • endTime
    • attendedMinutes
    • status

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/shifts/attendance/18422109?from=1727049600000&to=1727654400000 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "captainId": 18422109,
      "shifts": [
        {
          "shiftId": "sh_44102",
          "startTime": "2026-09-24T06:00:00Z",
          "endTime": "2026-09-24T14:00:00Z",
          "attendedMinutes": 455,
          "status": "COMPLETED"
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的区域 / 班次出勤界面重构
    • 与司机看到的预订时段与在线分钟数对比一致
  • 去哪接单推荐

    GET /v1/demand/recommendations opendata

    根据司机当前位置推荐高需求区域,让司机向订单密度更高的地方转移。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • recommendations
    • zoneId
    • name
    • demandScore
    • etaMinutes
    • lat
    • lng

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/demand/recommendations?lat=25.2048&lng=55.2708 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "recommendations": [
        {
          "zoneId": "dxb_downtown",
          "name": "Downtown Dubai",
          "demandScore": 0.82,
          "etaMinutes": 8,
          "lat": 25.1972,
          "lng": 55.2744
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用地图上的高需求区域建议重构
  • 司机资料

    GET /v1/drivers/profile osint

    读取已登录司机的身份、城市与车辆信息,供“我的资料”与侧滑菜单头部使用。

    认证方式: 司机登录时签发的 Bearer 访问令牌(Authorization: Bearer)

    • captainId
    • firstName
    • lastName
    • phone
    • cityId
    • carId
    • status

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/drivers/profile HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "captainId": 18422109,
      "firstName": "Ahmed",
      "lastName": "Hassan",
      "phone": "+971501234567",
      "cityId": 1,
      "carId": 55201,
      "status": "ACTIVE"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的“我的资料”界面与侧边菜单头部重构

数据类别

  • 余额
  • 交易
  • 提现
  • 行程
  • 身份
  • 绩效

数据使用场景与案例

  • 司机提现对账

    拉取每周收入聚合(tripEarnings、tips、bonuses、fines)与周期交易明细,再把提现与钱包充值同存档的银行 IBAN 比对,让车队运营方能结清每个提现周期。

  • 手头现金风险监控

    轮询钱包现金状态接口与现金收款任务事件。当 cashBalanceAmount 接近 warningCashLimit 或 blockingCashLimit 时告警,让司机在新订单冻结前向钱包充值。

  • 订单质量与运力热力图

    结合 acceptanceRate、班次出勤分钟数与去哪接单的 demandScore,看出哪些区域能把订单转化为完成的行程,以及司机应该转移到哪里接单。

  • 行程级车费审计

    把车费回执中的 captainEarning 与逐行程的 amount、vertical、status 明细行关联,标记回执收入与周期台账不符的行程。

常见问题

Careem Captain 暴露哪些收入字段?

收入聚合调用返回 currencyCode、totalEarnings,以及 tripEarnings、tips、matchedTips、bonuses、guarantees、fines、finesRefunds、behaviorPenalties 和 other 的拆分。周期交易另含 jobId、tripId、location、amount 和 vertical。

司机钱包与现金限额如何工作?

钱包现金状态调用返回 walletBalance 与手头现金(cashBalanceAmount),以及 warningCashLimit 和 blockingCashLimit。司机可以从收入向钱包充值,或提现到已验证的银行 IBAN。

哪些任务端点驱动进行中的行程?

订单在 POST /v1/dispatch/offers/acknowledge 确认,步骤(到达、接驾、送达)在 POST /v1/dispatch/jobs/{jobUid}/steps/{stepUid}/complete 打点,现金收款在 POST /v1/dispatch/jobs/{jobUid}/cash-confirm 确认。车费回执从 GET /v1/trips/{bookingId}/fare-breakdown 加载。

Careem Captain 是银行应用吗?

不是——它是打车司机应用。它仍然携带钱包、现金余额与提现方式数据,因为司机收取现金,并通过同一产品提现行程收入。

相关主题

  • Careem Captain API
  • Careem 司机收入
  • 司机钱包现金状态
  • Careem 提现 IBAN
  • Careem 订单确认
  • 司机接单率
  • Careem 车费明细

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价