Spark Driver 末端配送数据 API
Spark Driver 是沃尔玛面向独立司机的末端配送应用,从沃尔玛与山姆会员店取货配送杂货与百货。美国零工司机用它接单、跑多停靠行程、完成妥投并查看周薪。
收入首页的周薪窗口给出 aggregatedTransactionAmount,再按日拆出 tipAmount 与 tripEarning;每趟妥投还有一张黄金收据,把 earnedAmount 对照 lastOfferAmount 拆成 TRIP、TIP、SURGE。接单前的实时批次带 priceOffered 与 estimatedTotalPayout,需求日历则按小时把 dsRatio 叠在超级中心钉点上。
薪资机器人用周合计对银行入账,调度工具按报价与计划里程打分,车队看板叠加高峰时段,好让合作方知道哪些门店即将有单。openData Studio 把这套末端配送数据变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发送登录验证码
POST
/v1/spark/auth/otp/sendosint向司机 loginId(手机或邮箱)发送一次性验证码,启动 Spark Driver OTP 登录。
认证方式: 无需鉴权(登录前)。用 loginId 标识司机。
- loginId
POST /v1/spark/auth/otp/send HTTP/1.1 Content-Type: application/json { "loginId": "4155550199" }{ "loginId": "4155550199" }校验验证码并签发会话
POST
/v1/spark/auth/otp/confirmosint确认 OTP,返回已登录司机身份及后续末端调用使用的 authToken/refreshToken。
认证方式: 无需鉴权(签发会话)。后续调用携带返回的 authToken 作为会话令牌,外加消费者密钥。
- username
- firstName
- lastName
- driverUUID
- driverUserId
- authToken
- refreshToken
- validity
- authenticationState
- status
POST /v1/spark/auth/otp/confirm HTTP/1.1 Content-Type: application/json { "loginId": "4155550199", "loginCode": "482916" }{ "username": "4155550199", "firstName": "Jordan", "lastName": "Lee", "driverUUID": "dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234", "driverUserId": "4155550199", "authToken": "eyJhbGciOi...", "refreshToken": "d8f1c2a9...", "validity": 1800, "authenticationState": "SUCCESS", "status": "ACTIVE" }可接配送报价
GET
/v1/spark/offersopendata列出已登录 Spark 司机的实时配送报价,每条包裹 Trip 与 offerPrice(priceOffered、surge、estimatedTotalPayout)及停靠数。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- offers
- expiryTime
- status
- tripId
- displayTripId
- driverOfferId
- totalDeliveryTasks
- totalOrders
- totalPlannedMileage
- pickupASAP
- isTipEligible
- priceOffered
- preTipAmount
- estimatedPayout
- estimatedTotalPayout
- surge
- currencyAmount
- currencyUnit
GET /v1/spark/offers?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "offers": [ { "expiryTime": 1758738120000, "isExpired": false, "isTakenAlready": false, "status": "OFFER_PUBLISHED", "trip": { "tripId": "trp_44102", "displayTripId": "SPK-884211", "driverOfferId": "off_77a1", "totalDeliveryTasks": 3, "totalOrders": 3, "totalPlannedMileage": 12.4, "pickupASAP": true, "isTipEligible": true, "offerPrice": { "priceOffered": {"currencyAmount": 18.5, "currencyUnit": "USD"}, "preTipAmount": {"currencyAmount": 14.25, "currencyUnit": "USD"}, "estimatedPayout": {"currencyAmount": 18.5, "currencyUnit": "USD"}, "estimatedTotalPayout": {"currencyAmount": 22.0, "currencyUnit": "USD"}, "surge": {"currencyAmount": 2.0, "currencyUnit": "USD"} } } } ] }接受配送报价
POST
/v1/spark/offers/{offerId}/acceptopendata在司机当前位置接受已发布报价;接单界面写入 offerId 与经纬度,响应 ACCEPTED。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- offerId
- driverId
- latitude
- longitude
- status
POST /v1/spark/offers/off_77a1/accept HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "offerId": "off_77a1", "driverId": "4155550199", "latitude": 37.7902, "longitude": -122.3971 }{ "status": "ACCEPTED" }行程详情(精简)
GET
/v1/spark/trips/{tripId}opendata加载进行中行程界面的精简行程卡:标识、停靠数、计划里程、取货 PIN 与已接 offerPrice。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- tripId
- tripExternalId
- displayTripId
- status
- tripStartDateTime
- pickupTime
- totalDeliveryTasks
- totalOrders
- totalPlannedMileage
- totalCalculatedMileage
- totalCalculatedTravelTime
- isTipEligible
- driverPin
- deliveryStartPoint
- offerPrice
GET /v1/spark/trips/trp_44102?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "tripId": "trp_44102", "tripExternalId": "ext_9c81", "displayTripId": "SPK-884211", "status": "IN_PROGRESS", "tripStartDateTime": 1758734400000, "pickupTime": 1758735000000, "totalDeliveryTasks": 3, "totalOrders": 3, "totalPlannedMileage": 12.4, "totalCalculatedMileage": 13.1, "totalCalculatedTravelTime": 42.0, "isTipEligible": true, "driverPin": "4829", "deliveryStartPoint": { "storeName": "Walmart Supercenter #2455", "latitude": 37.7849, "longitude": -122.4094 }, "offerPrice": { "priceOffered": {"currencyAmount": 18.5, "currencyUnit": "USD"}, "estimatedTotalPayout": {"currencyAmount": 22.0, "currencyUnit": "USD"} } }已完成行程列表
GET
/v1/spark/trips/historyopendata分页返回司机已完成行程(CompletedTripLite:标识、时间窗、停靠数、状态、offerPrice),支撑 Completed 页签。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- trips
- tripId
- tripExternalId
- displayTripId
- tripStartDateTime
- tripEndDateTime
- totalDeliveryTasks
- status
- offerPrice
GET /v1/spark/trips/history?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234&startDate=2026-09-22&endDate=2026-09-28&pageNo=1&pageSize=20 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "trips": [ { "tripId": "trp_44102", "tripExternalId": "ext_9c81", "displayTripId": "SPK-884211", "tripStartDateTime": 1758734400000, "tripEndDateTime": 1758738120000, "totalDeliveryTasks": 3, "status": "COMPLETED", "offerPrice": { "priceOffered": {"currencyAmount": 18.5, "currencyUnit": "USD"}, "estimatedTotalPayout": {"currencyAmount": 22.0, "currencyUnit": "USD"} } } ] }周收入汇总
GET
/v1/spark/pay/weeklyopenfinance返回分页的周薪窗口(aggregatedTransactionAmount、行程数、USD)及本周 dailyEarnings——Spark 收入首页。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- weeklyTransactions
- week
- weekStartDate
- weekEndDate
- aggregatedTransactionAmount
- currency
- noOfTransactionInWeek
- dailyEarnings
GET /v1/spark/pay/weekly?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234&pageNo=1&pageSize=8 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "weeklyTransactions": [ { "week": 39, "weekStartDate": "2026-09-21", "weekEndDate": "2026-09-27", "aggregatedTransactionAmount": 612.4, "currency": "USD", "noOfTransactionInWeek": 28 } ], "dailyEarnings": { "week": 39, "earnings": [ {"date": "2026-09-24", "amount": 96.5, "noOfTrips": 5} ] } }含行程明细的日收入
GET
/v1/spark/pay/dailyopenfinance把一个日历日拆成行程费、小费、激励及逐趟 EarningTrip 列表,支撑日收入下钻。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- transactionAmount
- deliveriesAmount
- tipAmount
- transactionStatus
- noOfTransaction
- dayName
- date
- currency
- tripEarning
- incentiveBonusEarning
- rewardsEarning
- trips
- unconfirmedTips
GET /v1/spark/pay/daily?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234&date=2026-09-24&timezone=America/Los_Angeles HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "transactionAmount": 96.5, "deliveriesAmount": 78.0, "tipAmount": 14.5, "transactionStatus": "CONFIRMED", "noOfTransaction": 5, "dayName": "Wednesday", "date": "2026-09-24T00:00:00Z", "currency": "USD", "tripEarning": {"amount": 78.0, "name": "TRIP"}, "incentiveBonusEarning": {"amount": 4.0, "name": "INCENTIVE"}, "rewardsEarning": {"amount": 0.0, "name": "REWARDS"}, "trips": [ { "tripId": "trp_44102", "displayTripId": "SPK-884211", "amount": 22.0, "totalOrders": 3, "tripStatus": "COMPLETED", "unconfirmedTips": 3.0 } ] }行程黄金收据
GET
/v1/spark/pay/trips/{tripId}/receiptopenfinance返回单趟黄金收据:earnedAmount 相对 lastOfferAmount、分类 earningsBreakdown(行程/小费/高峰)与 depositHistory。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- tripDetails
- displayTripId
- tripStatus
- earnedAmount
- lastOfferAmount
- earningsBreakdown
- category
- displayName
- offeredAmount
- depositHistory
- rewardPoints
GET /v1/spark/pay/trips/trp_44102/receipt HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "tripDetails": { "displayTripId": "SPK-884211", "tripStatus": "COMPLETED", "timeStamp": 1758738120000, "currency": "USD", "earnedAmount": 22.0, "lastOfferAmount": 18.5 }, "earningsBreakdown": [ { "category": "TRIP", "displayName": "Trip earnings", "orderPriority": 1, "earnedAmount": 14.25, "offeredAmount": 14.25 }, { "category": "TIP", "displayName": "Customer tip", "orderPriority": 2, "earnedAmount": 3.0, "offeredAmount": null }, { "category": "SURGE", "displayName": "Busy-time extra", "orderPriority": 3, "earnedAmount": 2.0, "offeredAmount": 2.0 } ], "depositHistory": [ { "category": "DIRECT_DEPOSIT", "status": "PENDING", "amount": 22.0 } ], "rewardPoints": {"points": 12} }导出收入流水
POST
/v1/spark/pay/exportopenfinance按 startDate–endDate 排队导出司机收入的 XLSX;历史底部表单按 requestId 轮询。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- driverUUID
- startDate
- endDate
- format
- requestId
- status
- message
POST /v1/spark/pay/export HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "driverUUID": "dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234", "startDate": "2026-07-01", "endDate": "2026-09-30", "format": "XLSX" }{ "requestId": "exp_c41e90", "status": "QUEUED", "message": "Earnings export queued" }司机表现汇总
POST
/v1/spark/quality/scorecardopendata返回司机质量记分卡:带 displayValue、unit、performanceZone 的 PerformanceMetric 行,以及 tripMetric 合计。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- driver
- metrics
- name
- title
- description
- displayValue
- unit
- performanceZone
- tripMetric
- shoppersMetrics
- summaryV2ZoneEnabled
POST /v1/spark/quality/scorecard HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "driverId": "4155550199", "driverUUID": "dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234" }{ "driver": {"driverUUID": "dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234"}, "metrics": [ { "name": "onTimeArrival", "title": "On-time arrival", "description": "Share of stops arrived on time", "position": "1", "valueDetails": {"displayValue": "96%", "unit": "PERCENT"}, "performanceZone": "GREEN" } ], "tripMetric": {"completedTrips": 184}, "shoppersMetrics": [], "summaryV2ZoneEnabled": true }奖励等级与指标
GET
/v1/spark/rewards/meopendata读取 Spark Rewards 卡片:currentLevel 相对 nextLevel、qualifyingPeriod,以及决定下一档的 primaryMetrics。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- tiers
- currentTierDetails
- currentLevel
- nextLevel
- qualifyingPeriod
- projectedTierDetails
- primaryMetrics
- key
- value
- unit
- lastUpdatedTs
- rewardsMetrics
GET /v1/spark/rewards/me HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "tiers": [{"name": "Silver"}, {"name": "Gold"}, {"name": "Platinum"}], "currentTierDetails": { "currentLevel": "Gold", "nextLevel": "Platinum", "qualifyingPeriod": {"start": "2026-07-01", "end": "2026-09-30"} }, "projectedTierDetails": {"projectedLevel": "Gold"}, "primaryMetrics": { "data": [ { "key": "ACCEPTANCE_RATE", "value": 0.92, "unit": "PERCENT", "currentLevel": "Gold", "nextLevel": "Platinum", "lastUpdatedTs": 1758738120000 } ] }, "rewardsMetrics": {"pointsToNext": 40} }进行中的激励活动
GET
/v1/spark/bonuses/activeopenfinance列出司机 deliveryArea 内进行中的激励,含 targetIncentiveAmount 与 eligibleTime 窗口,支撑奖金界面。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- driverUserId
- driverUUID
- deliveryArea
- displayDate
- incentives
- incentiveId
- incentiveDisplayId
- incentiveName
- incentiveSummary
- targetIncentiveAmount
- eligibleTime
- incentiveStatus
- executionId
- showProgressBar
GET /v1/spark/bonuses/active?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234 HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "driverUserId": "4155550199", "driverUUID": "dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234", "deliveryArea": "SF-BAY", "displayDate": "2026-09-24", "incentives": [ { "incentiveId": "inc_2201", "incentiveDisplayId": "WKND-BAY-40", "incentiveName": "Weekend Bay Area bonus", "incentiveSummary": "Complete 8 trips Sat–Sun", "targetIncentiveAmount": 40.0, "eligibleTime": "08:00-20:00", "incentiveStatus": "IN_PROGRESS", "executionId": "exe_91", "showProgressBar": true } ] }高峰需求日历
GET
/v1/spark/demand/hoursopendata支撑首页高峰热力图:按日的 hourlyDSRatio 时段(司机/门店 dsRatio)、色阶图例与叠加激励。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- colors
- busyHours
- date
- displayDate
- hourlyDSRatio
- slotStartTime
- slotEndTime
- dsRatio
- events
- incentives
GET /v1/spark/demand/hours?includeIncentives=true HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "colors": [ {"code": "LOW", "hex": "#C8E6C9"}, {"code": "HIGH", "hex": "#E53935"} ], "busyHours": [ { "date": 1758734400000, "displayDate": "Wed 24", "hourlyDSRatio": [ {"slotStartTime": 16, "slotEndTime": 17, "dsRatio": 0.82}, {"slotStartTime": 17, "slotEndTime": 18, "dsRatio": 1.14} ], "events": [] } ], "incentives": [] }区域门店与报价热力
GET
/v1/spark/zone/storesopendata返回司机区域内当前有报价的门店(地址/经纬度)及 My Zone 地图的 heatMapMarkerEntryList 钉点。
认证方式: OTP 确认后的 Bearer authToken,外加消费者密钥
- deliveryStartPoints
- deliveryStartPointId
- deliveryArea
- countryCode
- storeName
- addressLine1
- city
- state
- postalCode
- latitude
- longitude
- heatMapMarkerEntryList
GET /v1/spark/zone/stores?driverUUID=dvr_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234&deliveryArea=SF-BAY HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "deliveryStartPoints": [ { "deliveryStartPointId": "dsp_2455", "deliveryArea": "SF-BAY", "countryCode": "US", "storeName": "Walmart Supercenter #2455", "addressLine1": "450 Mission St", "city": "San Francisco", "state": "CA", "postalCode": "94105", "latitude": 37.7902, "longitude": -122.3971 } ], "heatMapMarkerEntryList": [ {"latitude": 37.7902, "longitude": -122.3971, "offerCount": 4} ] }
数据类别
- 身份
- 会话
- 行程报价
- 进行中行程
- 已完成行程
- 周收入
- 日收入
- 行程收据
- 收入导出
- 表现
- 奖励等级
- 激励
- 高峰时段
- 区域热力
数据使用场景与案例
周薪入账对账
薪资机器人拉取 aggregatedTransactionAmount、weekStartDate 与 noOfTransactionInWeek,再把每日 tipAmount、tripEarning 对上银行入账与加州 Prop 22 补差窗口。
报价质量打分
调度工具按 priceOffered、estimatedTotalPayout、surge、totalPlannedMileage 与 totalDeliveryTasks 给实时报价打分,司机可在接单前过滤低收益批次。
逐趟薪酬台账
报税与零工账本应用保存黄金收据(earnedAmount 相对 lastOfferAmount,TRIP/TIP/SURGE 分类)及 displayTripId,支撑年末 1099。
高峰排班叠加
车队看板叠加逐小时 dsRatio 时段与区域 storeName 钉点,合作方可知下一小时哪些沃尔玛超级中心会有单。
常见问题
Spark Driver 暴露哪些收入字段?
周窗口返回 aggregatedTransactionAmount、weekStartDate/weekEndDate 与 noOfTransactionInWeek(USD)。日下钻补充 transactionAmount、deliveriesAmount、tipAmount、tripEarning 与逐趟 EarningTrip。黄金收据把 earnedAmount 拆成 TRIP/TIP/SURGE。
Spark Driver 如何鉴权?
司机用 loginId 申请 OTP,再校验 loginCode。User 载荷返回 authToken、refreshToken、driverUUID 与 driverUserId。后续末端调用携带该会话令牌与消费者密钥。
有哪些报价与行程数据?
可接报价包裹带 offerPrice(priceOffered、preTipAmount、surge、estimatedTotalPayout)、停靠数与计划里程的 Trip。接单提交 offerId 与司机经纬度。精简行程详情与已完成列表复用这些标识。
这是沃尔玛公开的开发者 API 吗?
不是。这些是对 Spark Driver 登录后第一方末端调用的示意重构,并非对外文档化的沃尔玛开发者计划。
相关主题
- Spark Driver API
- 沃尔玛 Spark 司机收入
- aggregatedTransactionAmount
- priceOffered
- earnedAmount
- dsRatio 高峰
- 末端配送数据
- WM_SEC.AUTH_TOKEN
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业