接送服务

接送服务流程

预订接送服务和变更预订所必须遵循的调用顺序。

分享

预订接送服务和变更预订所必须遵循的调用顺序。

新预订

text
text
POST /search
  -> POST /pricing
    -> POST /book
      -> GET /reservations/details

即使旅客未选择任何设施,也必须先调用 pricing。无法直接从搜索结果发起预订。

变更预订

text
text
POST /reservations/changes/search
  -> POST /pricing
    -> POST /reservations/changes

在确认变更之前,原预订保持有效。

需要在调用之间传递的值

来源用途
searchId搜索或变更搜索定价、预订、预订查询
resultId所选报价定价和预订
bookingToken所选报价定价和预订
pricingToken定价预订或确认变更
reservationId预订预订查询、司机与车辆、跟踪、取消
confirmationNumber预订预订查询、与旅客沟通

bookingTokenpricingToken 是不透明的。请原样复制到下一次调用:不要解码、解析或修改。它们仅属于签发时对应的报价,并在该报价过期后失效,expiresAt 会提前告知过期时间。

预订结果状态

预订和确认变更都返回 HTTP 200,并带有 status 字段:

status含义应对方式
completed接送已预订成功。completed 为 true 且 reservations 非空时向旅客确认。
pending尚无最终结果。查询预订以确认结果,不要重复发送预订请求。
failed预订被拒绝。展示 error 中的原因,并为旅客提供其他选项。

不要仅因为 HTTP 状态为 200 就认为预订已确认。

请求失败之后

502 表示请求未完成,而不是什么都没发生。请保留已有标识符,并在再次创建之前先查询预订。

需要持久化的内容

请保存 searchIdresultIdbookingTokenpricingTokenreservationIdconfirmationNumber 以及你自己的 partnerTrackingId。缺少它们将无法在之后查询、变更或取消预订。