99 Motorista e Entregador 图标

99 Motorista 钱包、行程与提现数据 API

99 Tecnologia LTDA · 出行

99 Motorista e Entregador 是 99 Tecnologia LTDA 推出的司机与配送员应用。99 是滴滴在巴西的网约车品牌(99app)。持证司机与配送员用自己的手机登录,在首页地图上线,设置听单模式(目的地过滤、拼车、机场站点)并抢广播行程或配送卡片,再按接驾 PIN、开始计费、途经点与行程结束车费走完服务流程。独立钱包页展示当日在线收入、周柱状图与提现方式管理,首页钱包入口则在个人卡片(姓名、头像、车辆)旁显示当日收款。应用面向巴西,覆盖 99 的乘客出行与 99Food 类配送运力,并与 Uber Driver、iFood para Entregadores、Soy Rappi 争夺同一批司机与骑手。

钱包表头把 income 与 dailyEarning 标在 dailyTripsNum 旁,周柱状图的 weekAmounts 再汇总成登录 driverId 的 sumAmount 与 sumTrips。提现管理行给出默认 Pix 的 channelId 与 defaultChannelFlag,首页角标则用 receipts 和 currencySymbol 重复当日收款。

已结束路段记下司机实收车费:按 oid 与 travel_id 对齐的 totalFee、thankFee、payTypeTxt 与 fee_detail,外加上车 startPOIName、下车 endPOIName。进行中的服务卡补充乘客 nickname、star、pay_type 与 in_service;抢单成功则在新 mOrderId 上带回 mFromLat/mToLng。

收表时落下与周图不同的车费对象:total_fee 以及按 fee_key/fee_value 对齐的 bill_info 行,已接受通道以 mPayType 和 mIsOffLine 出现,首页则把免抽成 timesegs 画成 start/end 时段,挨着 showOpenRide。

中途停靠是另一份对象:arrive_way_points 行带着 poi_id 与 way_points_version,应答再给出 ttsText。Open Ride 二维码页返回 mCode、mSource 与 mTitle,乘客无需预订单即可上车。听单过滤会写入 dest_name 与 dest_lat 以及 listen_airport_station_flag;拼车暂停则按当前 travel_id 返回 remind_msg。

薪酬系统用 sumAmount 对 Pix 到账;车队按 totalFee 稽核少付 oid;调度同时看 isOnline、mListenMode 与 dest_remaining_num;报税产品按 shouldShow 与 retenção 页面分流。openData Studio 把这套 99 司机数据做成可调用的开放数据。

应用截图

  • 99 Motorista e Entregador 应用截图 1
  • 99 Motorista e Entregador 应用截图 2
  • 99 Motorista e Entregador 应用截图 3
  • 99 Motorista e Entregador 应用截图 4
  • 99 Motorista e Entregador 应用截图 5
  • 99 Motorista e Entregador 应用截图 6

API 端点一览

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

  • 短信验证码登录

    POST /v1/auth/phone/sign-in osint

    完成短信验证码登录,返回供会话调用换取司机会话的登录 ticket。

    认证方式: 无。签发一次性登录 ticket;同一认证服务还有验证码校验、图形验证码、区号列表与登出调用。

    • errno
    • errmsg
    • ticket
    • uid
    • cell
    • code
    • country_calling_code
    • canonical_country_code
    • role
    POST /v1/auth/phone/sign-in HTTP/1.1
    
    cell=11987654321&code=123456&country_calling_code=55&role=1&canonical_country_code=BR
    {"errno":0,"errmsg":"ok","ticket":"t_login_01","uid":"1234567890","cell":"11987654321","country_calling_code":"55"}
  • 司机会话登录

    POST /v1/session/login osint

    用登录 ticket 加手机号换取司机资料与后续调用所需的会话 token。

    认证方式: 短信登录的 ticket 以 ticket 字段发送;响应的会话 token 作为后续调用的 ticket 回传。

    • errno
    • errmsg
    • ticket
    • phone
    • ostype
    • logintype
    • location_country
    • lang
    • mToken
    • mName
    • mLicenseNumber
    • mCarType
    • mCityName
    • mCompany
    • mCoopMode
    • mHeadUrl
    • mBusinessId
    • mIsRedirect
    • mRedirectUrl
    • mAvailableLanguage
    POST /v1/session/login HTTP/1.1
    
    ticket=t_login_01&phone=11987654321&ostype=2&logintype=1&location_country=BR&lang=pt-BR&support_oth_phone=1
    {"errno":0,"errmsg":"ok","mDriveInfo":{"mToken":"sess_01","mName":"Carlos Silva","mLicenseNumber":"ABC1D23","mCarType":"pop","mCityName":"São Paulo","mCompany":"99 Tecnologia","mCoopMode":"individual","mHeadUrl":"https://cdn.example.com/avatar/c1.jpg","mBusinessId":307},"mIsRedirect":0,"mRedirectUrl":"","mLanguageInfo":{"mAvailableLanguage":"pt-BR"}}
  • 司机钱包快照

    POST /v1/wallet/snapshot openfinance

    加载钱包页:周收入、当日 dailyEarning 与行程数,以及提现方式菜单。

    认证方式: ticket = 会话 token。

    • income
    • incomeText
    • dailyEarning
    • dailyEarningText
    • dailyTripsNum
    • dailyTripsDesc
    • currentSymbol
    • currencyPos
    • dailyUrl
    • onlineDetailUrl
    • totalDetailUrl
    • menu
    • title
    • manageEntryText
    • channelId
    • channel_id
    • defaultChannelFlag
    • menuText
    • menuRightText
    • menuEntranceType
    • status
    • menuUrl
    • withdrawMethodList
    POST /v1/wallet/snapshot HTTP/1.1
    
    ticket=sess_01&lang=pt-BR&origin_id=5
    {"errno":0,"errmsg":"ok","data":{"header":{"income":"842,50","incomeText":"Ganhos da semana","dailyEarning":"186,30","dailyEarningText":"Hoje","dailyTripsNum":"11","dailyTripsDesc":"corridas","currentSymbol":"R$","currencyPos":0,"dailyUrl":"https://pages.example.com/income/day","onlineDetailUrl":"https://pages.example.com/income/online","totalDetailUrl":"https://pages.example.com/income/total"},"menu":[{"title":"Saque","manageEntryText":"Gerenciar","withdrawMethodList":[{"channelId":"pix","defaultChannelFlag":1,"menuText":"Pix"}],"subMenu":[{"channel_id":"pix","menuText":"Pix","menuRightText":"R$ 842,50","menuEntranceType":"withdraw","status":"available","menuUrl":"https://pages.example.com/withdraw"}]}]}}
  • 钱包周收入柱状图

    POST /v1/wallet/weekly-chart openfinance

    返回钱包柱状图:按日 weekAmounts、sumAmount、sumTrips 与 currencySymbol,用 week_offset 翻周。

    认证方式: ticket = 会话 token。

    • driverId
    • base_day_time
    • week_offset
    • baseDayTime
    • weekOffset
    • startTime
    • endTime
    • sumAmount
    • sumTrips
    • weekAmounts
    • currency
    • currencySymbol
    • currencyPos
    • chartTitleTip
    • chartDayTip
    • hasPrevious
    • hasNext
    POST /v1/wallet/weekly-chart HTTP/1.1
    
    ticket=sess_01&base_day_time=1760000000&week_offset=0
    {"errno":0,"errmsg":"ok","data":{"driverId":"991234567","baseDayTime":1759795200,"weekOffset":0,"startTime":"2026-10-06","endTime":"2026-10-12","sumAmount":"842,50","sumTrips":47,"weekAmounts":["98,00","120,40","86,10","154,20","186,30","97,50","0,00"],"currency":"BRL","currencySymbol":"R$","currencyPos":0,"chartTitleTip":"Ganhos da semana","chartDayTip":"Hoje","hasPrevious":true,"hasNext":false}}
  • 设置默认提现渠道

    POST /v1/wallet/default-payout openfinance

    保存钱包提现管理中的选择:哪个 channelId(Pix、银行)作为 defaultChannelFlag=1 的打款通道。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • channelId
    • defaultChannelFlag
    POST /v1/wallet/default-payout HTTP/1.1
    
    ticket=sess_01&channelId=pix&defaultChannelFlag=1
    {"errno":0,"errmsg":"ok"}
  • 当日收款角标

    POST /v1/wallet/daily-receipts openfinance

    为首页钱包入口提供当日 receipts 总额与 currencySymbol。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • receipts
    • currencySymbol
    POST /v1/wallet/daily-receipts HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","receipts":"186,30","currencySymbol":"R$"}
  • 单行程账单

    POST /v1/trips/bill openfinance

    返回行程结束的单程账单:totalFee、thankFee、payTypeTxt、起终点与 fee_detail 明细。

    认证方式: ticket = 会话 token。

    • oid
    • travel_id
    • totalFee
    • thankFee
    • thankFeeText
    • paidFeeTxt
    • payTypeTxt
    • currencySymbol
    • isPay
    • isOfflinePay
    • nickname
    • startPOIName
    • endPOIName
    • departureTime
    • status
    • fee_detail
    • actualPayFee
    POST /v1/trips/bill HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1
    {"errno":0,"errmsg":"ok","data":{"orderDetail":{"oid":"ord_9f2n1","travel_id":"trv_77a1","totalFee":"32,40","thankFee":"3,00","thankFeeText":"Gorjeta","paidFeeTxt":"R$ 35,40","payTypeTxt":"Pix","currencySymbol":"R$","isPay":1,"isOfflinePay":0,"nickname":"Ana","startPOIName":"Av. Paulista","endPOIName":"Rua Augusta","departureTime":"2026-10-09 14:02:11","status":5,"fee_detail":[{"title":"Tarifa","fee":"29,40"}],"actualPayFee":{"title":"Total","fee":"35,40"}}}}
  • 订单最终详情

    POST /v1/orders/final-detail opendata

    加载已结束订单卡片:乘客 nick/score、途经点(lat/lng/poi_id)与支付状态。

    认证方式: ticket = 会话 token。

    • oid
    • travel_id
    • status
    • totalFee
    • isPay
    • pay_text
    • startPOIName
    • endPOIName
    • way_points
    • lat
    • lng
    • poi_id
    • nick
    • score
    • thankFee
    POST /v1/orders/final-detail HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&travel_id=trv_77a1
    {"errno":0,"errmsg":"ok","data":{"orderDetail":{"oid":"ord_9f2n1","travel_id":"trv_77a1","status":5,"totalFee":"32,40","isPay":1,"pay_text":"Pago via Pix","startPOIName":"Av. Paulista","endPOIName":"Rua Augusta","way_points":[{"name":"Parada 1","address":"Rua da Consolação","lat":-23.555,"lng":-46.655,"poi_id":"poi_1","status":1}]},"orders":[{"oid":"ord_9f2n1","nick":"Ana","score":4.92,"from":"Av. Paulista","to":"Rua Augusta","thankFee":"3,00"}]}}
  • 行程中实时信息

    POST /v1/trips/live opendata

    轮询进行中行程:乘客 nickname/star、起终点、pay_type 与 in_service 标志。

    认证方式: ticket = 会话 token。

    • oid
    • travel_id
    • travel_list
    • order_list
    • from
    • to
    • status
    • is_carpool
    • passenger_count
    • passenger_id
    • nickname
    • star
    • headpic
    • pay_type
    • pay_desc
    • status_type
    • status_desc
    • im_key
    • in_service
    • show_phone
    POST /v1/trips/live HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1
    {"errno":0,"errmsg":"ok","travel_list":[{"travel_id":"trv_77a1","title":"Corrida em andamento","order_list":[{"im_key":"im_99_ana","in_service":true,"show_phone":true,"order_detail":{"oid":"ord_9f2n1","from":"Av. Paulista","to":"Rua Augusta","status":4,"is_carpool":0,"passenger_count":1},"passenger":{"passenger_id":88001234,"nickname":"Ana","star":"4.9","headpic":"https://cdn.example.com/psg/ana.jpg","pay_info":{"pay_type":5,"pay_desc":"Pix"},"status_info":{"status_type":4,"status_desc":"A caminho do destino"}}}]}]}
  • 抢广播订单

    POST /v1/orders/grab opendata

    接受广播订单卡片:返回新订单号、上下车坐标、passenger_star 与 pay_text。

    认证方式: ticket = 登录签发的会话 token。push token 一并上送,结果也可经推送到达。

    • oid
    • key
    • is_assign_order
    • pushToken
    • mOrderID
    • multi_oid
    • strive_type
    • mOrderId
    • mTravelId
    • mFromName
    • mToName
    • mFromLat
    • mFromLng
    • mToLat
    • mToLng
    • mStatus
    • mPhone
    • passenger_id
    • passenger_star
    • pay_text
    • mIsCarPool
    POST /v1/orders/grab HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&key=k_broad_77&is_assign_order=0&pushToken=<push-token>
    {"errno":0,"errmsg":"ok","mOrderID":"ord_9f2n1","multi_oid":"","strive_type":1,"mOrderDetailResponse":{"mCurOrder":{"mOrderId":"ord_9f2n1","mTravelId":"trv_77a1","mFromName":"Av. Paulista","mToName":"Rua Augusta","mFromLat":-23.5614,"mFromLng":-46.6559,"mToLat":-23.555,"mToLng":-46.652,"mStatus":1,"mPhone":"119****4321","passenger_id":88001234,"passenger_star":"4.9","pay_text":"Pix","mIsCarPool":0}}}
  • 拉取广播订单卡片

    POST /v1/orders/pull opendata

    把下一张广播行程卡拉到地图上:上下车坐标、等待 mTWait 与拼车价。

    认证方式: ticket = 会话 token。

    • oid
    • is_assign_order
    • is_serial
    • pull_type
    • push_token
    • auto_grab_flag
    • mOid
    • mKey
    • mFrom
    • mTo
    • mFromLat
    • mFromLng
    • mToLat
    • mToLng
    • mTWait
    • mCarPoolPrice
    • mPullType
    • mIsCarpoll
    • mPlayTxt
    • short_tips
    POST /v1/orders/pull HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&pull_type=1&push_token=<push-token>&is_assign_order=0&is_serial=0&auto_grab_flag=0
    {"errno":0,"errmsg":"ok","mBroadOrder":{"mOid":"ord_9f2n1","mKey":"k_broad_77","mFrom":"Av. Paulista","mTo":"Rua Augusta","mFromLat":-23.5614,"mFromLng":-46.6559,"mToLat":-23.555,"mToLng":-46.652,"mTWait":45,"mCarPoolPrice":"18,90","mPullType":1,"mIsCarpoll":0,"mPlayTxt":"Corrida Pop, 4,2 km","short_tips":"Pix"}}
  • 到达上车点

    POST /v1/trips/arrived-pickup opendata

    用当前 from_lat/from_lng 标记司机已到上车点;随后等待乘客 PIN。

    认证方式: ticket = 会话 token。

    • oid
    • from_lat
    • from_lng
    • needControl
    • type
    • errno
    • errmsg
    • mStatus
    POST /v1/trips/arrived-pickup HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&from_lat=-23.5614&from_lng=-46.6559&needControl=1&type=0
    {"errno":0,"errmsg":"ok","mStatus":2}
  • 到达途经点

    POST /v1/trips/arrived-stop opendata

    标记到达中途停靠点:提交 arrive_way_points(poi_id/lat/lng)与 way_points_version,返回播报 ttsText 及可选提醒。

    认证方式: ticket = 会话 token。

    • oid
    • needControl
    • way_points_version
    • arrive_way_points
    • ttsText
    • way_point_info
    • way_points
    • name
    • address
    • lat
    • lng
    • poi_id
    • status
    • alertInfo
    • title
    • isShowAlert
    • mileage
    POST /v1/trips/arrived-stop HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&way_points_version=1760005400&needControl=1&arrive_way_points={"poi_id":"poi_1","lat":-23.555,"lng":-46.655}
    {"errno":0,"errmsg":"ok","data":{"ttsText":"Você chegou na parada","way_point_info":{"way_points_version":"1760005400","way_points":[{"name":"Parada 1","address":"Rua da Consolação","lat":-23.555,"lng":-46.655,"poi_id":"poi_1","status":1}]},"alertInfo":{"title":"Parada concluída","isShowAlert":"1","mileage":4200}}}
  • 确认乘客已上车

    POST /v1/trips/confirm-board opendata

    在接驾 PIN 之后确认乘客已上车,以便开始计价。

    认证方式: ticket = 会话 token。

    • oid
    • errno
    • errmsg
    POST /v1/trips/confirm-board HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1
    {"errno":0,"errmsg":"ok"}
  • 开始行程计费

    POST /v1/trips/begin-charge opendata

    乘客上车后启动计价:返回逐订单 status 与下车点 to_lat/to_lng。

    认证方式: ticket = 会话 token。

    • oid
    • time
    • price_driver
    • new_price_conf
    • needControl
    • mStatus
    • orders
    • status
    • to
    • to_addr
    • to_lat
    • to_lng
    • routeList
    POST /v1/trips/begin-charge HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&time=1760004122&price_driver=1&new_price_conf=1&needControl=1
    {"errno":0,"errmsg":"ok","mStatus":4,"orders":[{"oid":"ord_9f2n1","status":4,"to":"Rua Augusta","to_addr":"Consolação, São Paulo","to_lat":-23.555,"to_lng":-46.652}],"routeList":[]}
  • 结束行程计费

    POST /v1/trips/end-charge openfinance

    关闭计价器并返回车费单:total_fee 与 bill_info 行(fee_key/fee_value)。

    认证方式: ticket = 会话 token。

    • oid
    • plutus_data
    • total_fee
    • bill_txt
    • fee_title
    • fee_tips
    • is_passenger_choose_offline_pay
    • is_pay_cash_only
    • bill_info
    • fee_key
    • fee_label
    • fee_value
    • fee_type
    • is_modify
    POST /v1/trips/end-charge HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&plutus_data=%7B%7D
    {"errno":0,"errmsg":"ok","total_fee":"32,40","bill_txt":"Tarifa da corrida","fee_title":"Valores","fee_tips":"Inclui pedágio","is_passenger_choose_offline_pay":0,"is_pay_cash_only":"0","bill_info":[{"fee_key":"start_fee","fee_label":"Bandeirada","fee_value":"7,50","fee_type":1,"is_modify":0},{"fee_key":"tolls_fee","fee_label":"Pedágio","fee_value":"4,20","fee_type":2,"is_modify":1}]}
  • 结束已服务订单

    POST /v1/orders/finish opendata

    完成已服务路段:返回剩余目的地配额 destRemainingNum 及可选 offline_pay_msg / remind_window。

    认证方式: ticket = 会话 token。

    • oid
    • dest_timestamp
    • plutus_data
    • is_offline_paid
    • needControl
    • new_price_conf
    • mStatus
    • destRemainingNum
    • offline_pay_msg
    • offline_pay_msg_tts
    • remind_window
    • title
    • text
    • button_name
    POST /v1/orders/finish HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&dest_timestamp=1760005400&plutus_data=%7B%7D&is_offline_paid=0&needControl=1&new_price_conf=1
    {"errno":0,"errmsg":"ok","mStatus":5,"destRemainingNum":8,"offline_pay_msg":"","offline_pay_msg_tts":"","remind_window":{"title":"Avalie o passageiro","text":"Como foi a corrida?","button_name":"Enviar"}}
  • 进行中订单快照

    POST /v1/orders/running opendata

    重启后恢复服务中卡片:当前 oid、播报 playTxt 与拼单同伴列表。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • mRunning
    • oid
    • playTxt
    • type
    • mCombineList
    POST /v1/orders/running HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","mRunning":{"oid":"ord_9f2n1","playTxt":"A caminho do destino","type":1},"mCombineList":[]}
  • 支付方式

    POST /v1/payments/methods openfinance

    列出司机接受的通道(Pix 与现金):mPayType、mIsSelected 与 mIsOffLine。

    认证方式: ticket = 会话 token。

    • mTitle
    • mPayments
    • mPayType
    • mName
    • mIsSelected
    • mIsOffLine
    • mIsModifiable
    • mIconUrl
    • mRemark
    • mTip
    POST /v1/payments/methods HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","mData":{"mTitle":"Formas de pagamento","mPayments":[{"mPayType":5,"mName":"Pix","mIsSelected":1,"mIsOffLine":0,"mIsModifiable":1,"mIconUrl":"https://cdn.example.com/pix.png","mRemark":"Receba na hora","mTip":""},{"mPayType":1,"mName":"Dinheiro","mIsSelected":1,"mIsOffLine":1,"mIsModifiable":1,"mIconUrl":"https://cdn.example.com/cash.png","mRemark":"","mTip":"Leve troco"}]}}
  • 司机排队列表

    POST /v1/queues/list opendata

    加载机场/站点司机排队面板:各站 title/value 行与详情 url。

    认证方式: ticket = 会话 token。

    • only_queue_up
    • url
    • mListData
    • queueInfo
    • title
    • value
    POST /v1/queues/list HTTP/1.1
    
    ticket=sess_01&only_queue_up=1
    {"errno":0,"errmsg":"ok","data":{"url":"https://pages.example.com/driver/queue","mListData":[{"queueInfo":[{"title":"Fila GRU","value":"12"},{"title":"Tempo estimado","value":"18 min"}]}]}}
  • 首页标志位

    POST /v1/home/flags opendata

    首页地图引导:Open Ride 与听单按钮开关,以及司机状态横幅(mTitle/mButtonLink)。

    认证方式: ticket = 会话 token。

    • showOpenRide
    • showSetListenModeButtonActive
    • mDriverStatusInfo
    • mTitle
    • mButtonText
    • mButtonLink
    • mColor
    • context
    POST /v1/home/flags HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","showOpenRide":1,"showSetListenModeButtonActive":1,"mDriverStatusInfo":{"mTitle":"Documentos em análise","mButtonText":"Ver detalhes","mButtonLink":"https://pages.example.com/driver/docs","mColor":1,"context":"cnh_pending"}}
  • Open Ride 二维码

    POST /v1/open-ride/qr-code opendata

    加载 Open Ride 二维码页:乘客扫描 mCode、mSource 与 mTitle 即可上车,无需预订单卡片。

    认证方式: ticket = 会话 token。

    • action_type
    • errno
    • errmsg
    • mCode
    • mSource
    • mTitle
    POST /v1/open-ride/qr-code HTTP/1.1
    
    ticket=sess_01&action_type=1
    {"errno":0,"errmsg":"ok","data":{"mCode":"OR-99-8F21","mSource":"open_ride","mTitle":"Open Ride"}}
  • 零抽成时段

    POST /v1/incentives/zero-commission openfinance

    返回首页地图上绘制的免抽成(zero take-rate)窗口:timesegs 每行是一段 start/end。

    认证方式: ticket = 会话 token。

    • timesegs
    • start
    • end
    • errno
    • errmsg
    POST /v1/incentives/zero-commission HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","timesegs":[{"start":"2026-10-09 17:00:00","end":"2026-10-09 20:00:00"},{"start":"2026-10-10 07:00:00","end":"2026-10-10 09:00:00"}]}
  • 在线状态

    POST /v1/presence/status opendata

    读取司机当前是否在首页地图上线(isOnline 0/1)。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • isOnline
    POST /v1/presence/status HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","isOnline":1}
  • 设置在线状态

    POST /v1/presence/set opendata

    将司机上线或下线;当 need_verify 为 1 时可能要求 face_session_id。

    认证方式: ticket = 登录签发的会话 token。响应要求时需带人脸核验字段。

    • online_status
    • operation_type
    • is_need_block
    • face_session_id
    • face_code
    • need_verify
    • faceSessionId
    • faceCode
    • phone
    • dialog_msg
    POST /v1/presence/set HTTP/1.1
    
    ticket=sess_01&online_status=1&operation_type=1&is_need_block=0&face_session_id=&face_code=0
    {"errno":0,"errmsg":"ok","data":{"need_verify":0,"faceSessionId":"","faceCode":0,"phone":"11987654321","dialog_msg":""}}
  • 听单模式设置

    POST /v1/dispatch/listen-mode opendata

    返回控制面板使用的听单标志:目的地过滤、拼车、机场站点、抢单距离与配对路线。

    认证方式: ticket = 会话 token。

    • mListenMode
    • mGrabMode
    • mAutoGrabFlag
    • mListenDistance
    • mShowDest
    • mShowCarpool
    • mListenCarpoolMode
    • mShowListenAirportStation
    • mCanCompetOrderNum
    • dest_remaining_num
    • listen_pair_routes
    • route_id
    • from_region
    • dst_region
    • mRideRegion
    POST /v1/dispatch/listen-mode HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","mListenMode":1,"mGrabMode":0,"mAutoGrabFlag":0,"mListenDistance":"5","mShowDest":1,"mShowCarpool":1,"mListenCarpoolMode":0,"mShowListenAirportStation":1,"mCanCompetOrderNum":3,"dest_remaining_num":8,"listen_pair_routes":[{"route_id":"r_sp_01","from_region":"Pinheiros","dst_region":"Aeroporto GRU"}],"mRideRegion":"sao_paulo_centro"}
  • 司机资料摘要

    POST /v1/profile/brief osint

    填充首页抽屉个人卡片:显示名 dNmae、头像 headUrl 与二维码 arcodeUrl。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • dNmae
    • headUrl
    • arcodeUrl
    POST /v1/profile/brief HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","dNmae":"Carlos Silva","headUrl":"https://cdn.example.com/avatar/c1.jpg","arcodeUrl":"https://pages.example.com/driver/qr/991234567"}
  • 代扣税状态

    POST /v1/tax/withholding openfinance

    是否展示巴西代扣税(retenção)流程,以及适用平台代缴还是司机自缴页面。

    认证方式: ticket = 会话 token。

    • errno
    • errmsg
    • shouldShow
    • originalPage
    • pageData
    • checkPage
    • driverTypePage
    • didiPayRegulationPage
    • selfPayRegulationPage
    POST /v1/tax/withholding HTTP/1.1
    
    ticket=sess_01
    {"errno":0,"errmsg":"ok","shouldShow":true,"originalPage":"home","pageData":{"checkPage":{"title":"Confirme seu regime"},"driverTypePage":{"title":"Tipo de motorista"},"didiPayRegulationPage":{"title":"99 recolhe o imposto"},"selfPayRegulationPage":{"title":"Você declara o imposto"}}}
  • 设置听单过滤

    POST /v1/dispatch/set-listen-mode opendata

    保存听单过滤:目的地 dest_name/dest_lat、机场站点开关、拼车配对路线与抢单距离,返回更新后标志。

    认证方式: ticket = 会话 token。

    • listen_mode
    • is_direct
    • auto_grab_flag
    • listen_distance
    • grab_mode
    • dest_name
    • dest_address
    • dest_lat
    • dest_lng
    • listen_dest_flag
    • listen_airport_station_flag
    • listen_inter_carpool
    • listen_pair_routes
    • ride_region
    • car_level
    • mListenMode
    • dest_remaining_num
    • from_region
    • dst_region
    POST /v1/dispatch/set-listen-mode HTTP/1.1
    
    ticket=sess_01&listen_mode=1&grab_mode=0&auto_grab_flag=0&listen_distance=5&dest_name=Aeroporto%20GRU&dest_address=Guarulhos&dest_lat=-23.4356&dest_lng=-46.4731&listen_dest_flag=1&listen_airport_station_flag=1&listen_inter_carpool=0&ride_region=sao_paulo_centro&car_level=pop&is_direct=0&listen_pair_routes=[{"route_id":"r_sp_01"}]
    {"errno":0,"errmsg":"ok","mListenMode":1,"mGrabMode":0,"mAutoGrabFlag":0,"mListenDistance":"5","mShowDest":1,"mShowListenAirportStation":1,"dest_remaining_num":7,"listen_pair_routes":[{"route_id":"r_sp_01","from_region":"Pinheiros","dst_region":"Aeroporto GRU"}],"mRideRegion":"sao_paulo_centro"}
  • 设置支付通道

    POST /v1/payments/set-methods openfinance

    写入司机下一单接受的通道(payment_method 为 mPayType id 列表,例如 Pix=5 与现金=1)。

    认证方式: ticket = 会话 token。

    • payment_method
    • errno
    • errmsg
    POST /v1/payments/set-methods HTTP/1.1
    
    ticket=sess_01&payment_method=5,1
    {"errno":0,"errmsg":"ok"}
  • 服务中订单卡片

    POST /v1/orders/card opendata

    按已拉取的 oid 重载地图订单卡:卡片数据与 display_time(停留秒数)。

    认证方式: ticket = 会话 token。

    • oid
    • pull_type
    • push_token
    • display_time
    • pull_data
    • mOid
    • mFrom
    • mTo
    • mFromLat
    • mFromLng
    • mToLat
    • mToLng
    • mTWait
    • mCarPoolPrice
    • mPlayTxt
    • short_tips
    • isOfflinePayment
    • isNewPassenger
    POST /v1/orders/card HTTP/1.1
    
    ticket=sess_01&oid=ord_9f2n1&pull_type=1&push_token=<push-token>
    {"errno":0,"errmsg":"ok","data":{"extra":{"display_time":12},"pull_data":{"mOid":"ord_9f2n1","mKey":"k_broad_77","mFrom":"Av. Paulista","mTo":"Rua Augusta","mFromLat":-23.5614,"mFromLng":-46.6559,"mToLat":-23.555,"mToLng":-46.652,"mTWait":45,"mCarPoolPrice":"18,90","mPlayTxt":"Corrida Pop, 4,2 km","short_tips":"Pix","isOfflinePayment":0,"isNewPassenger":1}}}
  • 暂停拼车接单

    POST /v1/trips/pause-carpool opendata

    在当前 travel_id 上暂停继续拼车匹配(pause_type),返回服务页展示的 remind_msg。

    认证方式: ticket = 会话 token。

    • travel_id
    • pause_type
    • errno
    • errmsg
    • remind_msg
    POST /v1/trips/pause-carpool HTTP/1.1
    
    ticket=sess_01&travel_id=trv_77a1&pause_type=1
    {"errno":0,"errmsg":"ok","data":{"remind_msg":"Você pausou o compartilhamento desta viagem"}}

数据类别

  • 钱包
  • 收入
  • 提现
  • 行程账单
  • 订单
  • 听单模式
  • 在线状态
  • 司机身份
  • 代扣税
  • 计价器
  • 支付方式
  • 司机排队
  • 零抽成
  • 途经点
  • Open Ride
  • 听单过滤
  • 拼车暂停

数据使用场景与案例

  • 零工薪酬对账

    薪酬系统每晚拉取 income、dailyEarning 与 weekAmounts 序列,用 sumAmount 和 sumTrips 对照 Pix 到账,让司机账本自动轧平。

  • 单程车费稽核

    车队运营读取已结束订单的 totalFee、thankFee、payTypeTxt 与 fee_detail,再叠加上行程卡片的起终点与乘客 star,用于争议少付路段。

  • 运力听单监控

    调度看板同时观察 isOnline 与 mListenMode、dest_name/dest_lat 过滤、dest_remaining_num 以及 timesegs 免抽成窗口,外加机场 queueInfo 的 title/value 行和 pause_type 拼车暂停,判断哪些司机仍接受过滤单。

  • 代扣税入职

    报税产品读取 shouldShow 以及 didiPayRegulationPage 与 selfPayRegulationPage,只向尚未选择 retenção 税制的司机弹窗。

常见问题

99 Motorista 暴露哪些司机数据?

钱包快照(income、dailyEarning、Pix channelId)、weekAmounts 周图、实时计价器(total_fee 与 bill_info 的 fee_key/fee_value)、可写入的 mPayType 通道、按行程的 totalFee 账单、订单卡坐标、poi_id 途经点、Open Ride 的 mCode 二维码、机场 queueInfo、听单 dest_name/dest_lat 过滤、timesegs 免抽成窗口与代扣税状态。

99 司机应用如何鉴权?

短信验证码登录签发登录 ticket;会话调用用 ticket 加手机号换取司机会话 token,后续钱包、行程与听单调用以 ticket 字段回传(巴西还会带 lang 与 origin_id=5)。

车费出现在哪些接口?

单程账单按 oid 返回 totalFee、thankFee、payTypeTxt 与 fee_detail;已关单卡片再补乘客 nick/score 与途经点。

是否只覆盖乘客出行?

不是。同一套司机接口同时服务巴西的 motorista 与 entregador——听单标志含拼车与机场站点,钱包 receipts 混合网约车与配送路段。

与 99 Motorista e Entregador 相似的应用

  • Uber - Driver: Drive & Deliver — Uber Driver 是 99 在巴西最主要的网约车对手;同一批司机常同时开两个应用,混合乘客单与配送单。
  • iFood para Entregadores — iFood 骑手端是巴西领先的外卖配送应用,也是 99 entregador 最主要的另一份收入来源。
  • Soy Rappi - Sé un repartidor — Rappi 配送员应用在巴西都市圈与 99Food 类配送竞争,覆盖餐饮、药店与商超订单。
  • DiDi Delivery: Deliver & Earn — DiDi Delivery 是与 99 同属滴滴集团的全球配送应用,在巴西以外承接餐食与包裹。

相关主题

  • 99 motorista api
  • 99 司机钱包
  • 99 司机收入
  • 99 dailyEarning
  • 99 totalFee
  • 99 pix 提现
  • 99 entregador 收入
  • 99 total_fee
  • 99 timesegs
  • 99 mPayType

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

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

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

获取报价