接送服务

接送服务错误

错误结构、完整错误目录,以及那些看起来像失败的成功响应。

分享

错误结构、完整错误目录,以及那些看起来像失败的成功响应。

应用错误

json
json
{
  "statusCode": 409,
  "code": "transfer_price_changed",
  "message": "The transfer price changed. Request pricing again"
}

请以 code 而不是 message 作为判断依据:消息是本地化的,且可能被改写。

验证错误

当请求本身格式不正确时,message 是一个问题数组,而不是单个字符串。

json
json
{
  "statusCode": 400,
  "message": [
    "numPassengers must not be less than 1",
    "latitude and longitude must be sent together"
  ],
  "error": "Bad Request"
}

通用错误

HTTP代码含义建议操作
400请求体、查询参数或路径无效,或包含未知属性。根据 message 数组修正请求。
400transfer_invalid_language语言不受支持。使用文档中的语言取值。
400transfer_invalid_currency货币不受支持。使用受支持的货币。
400transfer_currency_mismatch货币与报价或报价单不一致。复用上一步的货币。
400transfer_location_not_found无法解析某个地点。补充城市或邮编,或改用 place ID 或坐标。
429transfer_provider_error临时限流。使用指数退避重试。
502transfer_provider_error请求无法完成。不要假定成功;保留标识符并查询预订。
503当前无法确认价格。稍后重试;不要预订,也不要收费。

令牌、定价与预订

HTTP代码含义
400transfer_invalid_booking_token令牌已过期、被修改,或属于其他报价。
400transfer_invalid_pricing_tokenpricing token 无效或与请求不一致。
400transfer_pricing_required请求缺少 pricing token。
400transfer_invalid_amenities设施 key 重复、为空或不可用。
400transfer_flight_info_required该报价要求提供 airlineflightNumber
400transfer_return_flight_info_required往返行程要求提供返程航班信息。
409transfer_price_changed此前的报价价格已失效。
409transfer_booking_in_progress无法为该 pricing token 接受此预订。
410transfer_pricing_expired在创建预订前报价单已过期。

预订

HTTP代码含义
400transfer_booking_not_found查询未恰好包含一个标识符。
502transfer_provider_error无法查询、创建、变更、跟踪或取消预订。

看起来像失败的成功响应

多个端点会以 200 返回一个否定结果。这些是结果而不是失败,必须从响应体中读取:

  • 航班验证的 isValid: false:该航班与接客时间不匹配。
  • 取消操作的 cancelled: falserefunded: false
  • 预订或确认变更的 status: "failed"
  • 航班查询返回空的 flights 数组。
  • 行程开始前,跟踪返回空的响应对象。

在告知旅客某项操作成功之前,请务必先读取 200 响应的响应体。