99 Motorista 钱包、行程与提现数据 API
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 司机数据做成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
短信验证码登录
POST
/v1/auth/phone/sign-inosint完成短信验证码登录,返回供会话调用换取司机会话的登录 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/loginosint用登录 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/snapshotopenfinance加载钱包页:周收入、当日 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-chartopenfinance返回钱包柱状图:按日 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-payoutopenfinance保存钱包提现管理中的选择:哪个 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-receiptsopenfinance为首页钱包入口提供当日 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/billopenfinance返回行程结束的单程账单: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-detailopendata加载已结束订单卡片:乘客 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/liveopendata轮询进行中行程:乘客 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/grabopendata接受广播订单卡片:返回新订单号、上下车坐标、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/pullopendata把下一张广播行程卡拉到地图上:上下车坐标、等待 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-pickupopendata用当前 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-stopopendata标记到达中途停靠点:提交 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-boardopendata在接驾 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-chargeopendata乘客上车后启动计价:返回逐订单 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-chargeopenfinance关闭计价器并返回车费单: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/finishopendata完成已服务路段:返回剩余目的地配额 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/runningopendata重启后恢复服务中卡片:当前 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/methodsopenfinance列出司机接受的通道(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/listopendata加载机场/站点司机排队面板:各站 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/flagsopendata首页地图引导: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-codeopendata加载 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-commissionopenfinance返回首页地图上绘制的免抽成(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/statusopendata读取司机当前是否在首页地图上线(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/setopendata将司机上线或下线;当 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-modeopendata返回控制面板使用的听单标志:目的地过滤、拼车、机场站点、抢单距离与配对路线。
认证方式: 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/briefosint填充首页抽屉个人卡片:显示名 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/withholdingopenfinance是否展示巴西代扣税(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-modeopendata保存听单过滤:目的地 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-methodsopenfinance写入司机下一单接受的通道(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/cardopendata按已拉取的 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-carpoolopendata在当前 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 天交付
- 验收通过后才付款
- 仅在授权范围内作业