Uber Rush API Sandbox

Trying to test Uber Rush API (from localhost and from linux server).

Calling Token works - I get the token trying to implement sanbox example:

curl -X "PUT /v1/sandbox/deliveries/{delivery_id}" \
  -H "Authorization: Bearer <OAUTH TOKEN>" \
  -d "{\"status\":\"en_route_to_pickup\"}"

with url https://sandbox-api.uber.com/

and I tried the same request with file_get_contents (in PHP)

So, I always get error "405 Method Not Allowed"

{"message":"Method not supported for this endpoint.","code":"method_not_allowed"}

What I need to do to get access to method from this sandbox example https://developer.uber.com/docs/rush/sandbox?

Corrent syntax

curl -X "PUT" -H "Authorization: Bearer <TOKEN>" -H "Content-Type: application/json" -d "{\"status\":\"en_route_to_pickup\"}" https://sandbox-api.uber.com/v1/sandbox/deliveries/DELIVERY_ID

Upvotes: 1

Views: 548

Answers (1)

Peter Brittain
Peter Brittain

Reputation: 13619

EDIT: Updated to reflect both issues in your question...

You have a mismatch in your requests and an incorrect syntax for curl.

First off your CURL request is incorrectly specified. It should be:

curl -X "PUT" -H "Authorization: Bearer <OAUTH TOKEN>" -d "{\"status\":\"en_route_to_pickup\"}" https://sandbox-api.uber.com/v1/sandbox/deliveries/{delivery_id}

In addition, your curl command is trying to issue a PUT request to the uber sandbox PUT API. However, your PHP code is not setting the context correctly and so is probably issuing a GET request. I suspect that the server is therefore rejecting the request as a GET as not allowed to do this sort of operation.

To fix it, see Bad request using file_get_contents for PUT request in PHP. This should give you an example of how to pass in the necessary context to issue a PUT request using file_get_contents().

Upvotes: 0

Related Questions