2017-10-24 9 views
0

나는 타기 요청을 만들었으며 응답에서 반환 된 request_id를가집니다. 그런 다음 Uber API를 지속적으로 폴링하여 매 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 분 후 요청을 삭제해야 하는가를?

답변

1

샌드 박스에서 타기 요청을 만들면 처리 상태로 생성되며 여행 상태를 변경할 때까지 해당 상태로 유지됩니다. 샌드 박스에서는 PUT /sandbox/products/{product_id}endpoint을 사용하여 작업을 수행 할 수 있습니다. 이 문서에서는 여행 상태를 변경하는 방법을 볼 수 있습니다. 샌드 박스 요청을 수정합니다. Uber API를 폴링하여 현재 상태를 가져올 때이를 수정 한 후에 상태 변경이 표시됩니다.

샌드 박스 환경에 대한 DELETE HTTP 호출을 발행하여 기존 샌드 박스 요청을 삭제할 수 있습니다. 발급되면 샌드 박스 탑승구가 rider_canceled 상태로 전환됩니다.

그런 다음 동일한 access_token으로 새 여행을 만들 수 있습니다.

샌드 박스에만 적용됩니다. 프로덕션 환경에서는 여행 상태가 자동으로 변경됩니다. 승차 요청의 수명주기에 대해서는 Uber documentation을 확인하십시오.

+0

고맙습니다. 따라서 프로덕션 환경에서 상태가 "처리 중"에 머물러있을 가능성은 없습니까? 2 분 동안 폴링 한 후에도 상태가 "처리 중"이면 아무런 조치를 취하지 않아도됩니까? 나는 폴링을 멈추지 만 승차 요청이 접수 된 후에도 승차를 중지하지 않을 것입니다. –

+1

첫 번째 드라이버가 승차권을 수락 할 때 올바른 여행이 영원히 "처리 중"상태에 머물러 있지 않습니다. 상태가 변경됩니다. webhooks를 사용하여 상태 변경에 대한 알림을받을 수 있으므로 여행 상태를 지속적으로 확인할 필요가 없습니다. docunt에서 웹 훅을 설정하고 사용하는 방법은 다음과 같습니다. https://developer.uber.com/docs/riders/guides/webhooks –