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