GET/v1/transfers/reservations/:reservationId/vehicle/stream

流式获取接送司机和车辆

通过 SSE 接收司机和车辆分配更新。

分享

通过 SSE 接收司机和车辆分配更新。

认证和请求头

请求头说明
AuthorizationBearer <secret_key>。密钥只能保存在服务器端,不能写入客户端日志。
X-Travelandz-Id<public_key>:<profile_code>,持久化的 profile code 格式为 dp_<12 位字母数字>
LANG推荐的语言请求头,也支持 Accept-Language
Accept渐进式 stream 响应使用 text/event-stream

响应头

http
http
Content-Type: text/event-stream
Cache-Control: no-cache, no-transform
Connection: keep-alive

请求

此端点不接收请求体,参数与快照端点相同。请发送 Accept: text/event-stream

请求参数结构

reservationId
string
Reservation identifier returned when the booking was created.

请求查询参数模式

currency
enum
EURUSDINRCHFJPYGBPAUDCADCNYSGDNZDMXN
Lowercase values are accepted and normalized. Defaults to USD on a new search and is inherited afterwards.
language
enum
en-USes-ESde-DEfr-FRpt-BRzh-CNit-IT
Legacy field. Prefer the LANG or Accept-Language header.

成功响应

每个 update 事件的负载与快照端点相同。流会一直保持打开,直到你主动关闭。

响应体结构

status
string
Assignment state, for example active.
driver
object
driverid
string
driverexternalId
string
drivername
string
driverphone
string
driverlicenseNumber
string
driverimageUrl
string
格式: URL
vehicle
object
vehicleid
string
vehicleexternalId
string
vehicletype
string
vehiclemanufacturer
string
vehiclemodel
string
vehicleplate
string
vehiclecolor
string
vehicledescription
string
vehicleimageUrl
string
格式: URL

流事件

事件说明
update刷新后的快照。请用最新事件的负载替换当前展示的内容。
error某次刷新未能完成。包含 codemessage。连接不会自动关闭,下一次刷新可能成功。

流示例

text
text
event: update
data: {"status":"active","driver":{"id":"123","externalId":"DRV456","name":"John Doe","phone":"+1234567890","licenseNumber":"AB123456"},"vehicle":{"id":"789","externalId":"VEH789","type":"Sedan","manufacturer":"Toyota","model":"Camry","plate":"XYZ1234","color":"Blue"}}

event: error
data: {"code":"transfer_provider_error","message":"Unable to load vehicle information"}

错误

HTTP代码含义建议操作
400请求体、查询参数或路径无效,或包含未知属性。根据 message 数组修正请求。
400transfer_invalid_currency该货币不在支持列表中。使用受支持的货币。
400transfer_invalid_language请求的语言不受支持。使用文档中列出的语言值之一。
429transfer_provider_error服务暂时被限流。使用指数退避重试。
502transfer_provider_error请求无法完成。不要假定成功。保留标识符,并在该操作可能已创建时查询预订。

使用说明

仅在旅客查看实时视图时保持连接,之后请显式关闭。请同时处理 updateerror 事件,并在网络中断后重新连接。

流打开前的验证失败会以普通 JSON HTTP 错误返回;流打开之后,失败以 error 事件返回。

cURL 示例

bash
bash
curl --request GET \
  --url "https://api.sandbox.travelandz.com/v1/transfers/reservations/f390daff1fdf4cccb19b7abd825dc011/vehicle/stream?currency=USD" \
  -H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  -H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
  -H "Accept: text/event-stream"