Я создал запрос на поездку и получил request_id, который был возвращен в ответе. Затем я постоянно опрашиваю Uber API, чтобы получать текущий статус каждые 3 секунды.
Мне нужно знать, сколько раз мне нужно опрашивать, когда статус «обрабатывается»?
На самом деле, в 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 для получения текущего статуса — вы увидите изменение статуса.
Вы можете удалить существующие запросы на загрузку в песочнице, выполнив HTTP-вызов DELETE в среду песочницы. После выдачи поездка в песочнице перейдет в статус rider_canceled.
После этого вы сможете создать новую поездку с тем же access_token.
Обратите внимание, что это применимо только в песочнице. В производственной среде статус отключения изменится автоматически. Для жизненного цикла запроса на поездку, пожалуйста, проверьте этот Uber документация.
Других решений пока нет …