Uber Api - 请求状态 "processing" 超时
Uber Api - request status "processing" timeout
我创建了一个乘车请求并在响应中返回了一个 request_id。然后我每 3 秒连续轮询 Uber API 以获取当前状态。
我需要知道当状态为 "processing" 时我必须轮询多少次?
实际上,在沙盒 API 上,我轮询了 2 分钟,然后如果状态仍然是 "processing",我将停止轮询。
但是当我尝试创建新的乘车请求时,我得到了这样的回复:
HTTP/1.0 409 Conflict
Cache-Control: no-cache
Content-Type: application/json
{"meta":{},"errors":[{"status":409,"code":"current_trip_exists","title":"The user is currently on a trip."}]}
我是否必须在 2 分钟后删除请求?
当您在沙盒上创建乘车请求时 - 它是用处理状态创建的 - 它将保持该状态,直到您更改行程状态。在沙盒上,您可以使用 PUT /sandbox/products/{product_id}
endpoint 来完成。在本文档中您可以看到如何更改行程的状态——修改沙箱请求。修改后 - 当您轮询 Uber API 以获取当前状态时 - 您将看到状态更改。
您可以通过向沙盒环境发出 DELETE HTTP 调用来删除现有的沙盒乘车请求。发布后,沙盒游乐设施将转变为 rider_canceled 状态。
之后,您将能够创建具有相同 access_token 的新行程。
请注意,这仅适用于沙盒。在生产环境中,行程状态会自动改变。对于乘车请求的生命周期,请查看此 Uber documentation。
我创建了一个乘车请求并在响应中返回了一个 request_id。然后我每 3 秒连续轮询 Uber API 以获取当前状态。
我需要知道当状态为 "processing" 时我必须轮询多少次?
实际上,在沙盒 API 上,我轮询了 2 分钟,然后如果状态仍然是 "processing",我将停止轮询。
但是当我尝试创建新的乘车请求时,我得到了这样的回复:
HTTP/1.0 409 Conflict
Cache-Control: no-cache
Content-Type: application/json
{"meta":{},"errors":[{"status":409,"code":"current_trip_exists","title":"The user is currently on a trip."}]}
我是否必须在 2 分钟后删除请求?
当您在沙盒上创建乘车请求时 - 它是用处理状态创建的 - 它将保持该状态,直到您更改行程状态。在沙盒上,您可以使用 PUT /sandbox/products/{product_id}
endpoint 来完成。在本文档中您可以看到如何更改行程的状态——修改沙箱请求。修改后 - 当您轮询 Uber API 以获取当前状态时 - 您将看到状态更改。
您可以通过向沙盒环境发出 DELETE HTTP 调用来删除现有的沙盒乘车请求。发布后,沙盒游乐设施将转变为 rider_canceled 状态。
之后,您将能够创建具有相同 access_token 的新行程。
请注意,这仅适用于沙盒。在生产环境中,行程状态会自动改变。对于乘车请求的生命周期,请查看此 Uber documentation。