>我创建了一个乘车请求,并在响应中返回了一个request_id。然后,我每 3 秒不断轮询 Uber API 以获取当前状态。
我需要知道当状态为"正在处理"时,我必须轮询多少次?
实际上,在沙盒 API 上,我轮询 2 分钟,然后如果状态仍然是"正在处理",我会停止轮询。
但是当我尝试创建新的乘车请求时,我有这样的响应:
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}
终结点执行此操作。在本文档中,您可以看到如何更改行程的状态 - 修改沙盒请求。修改后 - 当您轮询 Uber API 以获取当前状态时 - 您将看到状态更改。
您可以通过向沙盒环境发出 DELETE HTTP 调用来删除现有的沙盒骑行请求。发出后,沙盒骑行将转换为rider_canceled状态。
之后,您将能够使用相同的access_token创建新行程。
请注意,这仅适用于沙盒。在生产环境中,行程状态将自动更改。有关叫车服务的生命周期,请查看此优步文档。