ROVA DEVELOPER DOCS

Getting Started

ROVA platform enables you to create powerful on demand logistic solutions for a variety of scenarios, including integrating your service into ROVA's logistic backend, custom on demand delivery experience, grow your delivery fleets and more. Get familar with ROVA's developer product below.

Authentication

ROVA’s API is hosted under https://api.rovahq.com. Majority of requests to ROVA API requires authentication. Let’s start with navigating to the settings page to retrieve your OAuth 2.0 Key pair.

In settings page, you will find production and test keys of Account ID and Auth Token. They are respectively your client_id and client_secret.

To learn more about supported OAuth 2.0 protocals, see Authentication API Reference

Create an order

To let ROVA Platform know you service requires a delivery request, the example below will provide a quick walk through. To create an order, making a HTTP POST request to https://api.rovahq.com/v2/entity/orders with the following payload.

A credit card will be required to make any delivery request. For alternative billing solutions, please contact support@rovahq.com

          
              # payload.txt
              {
                "webhookUrl": "http://example.com/events/call_back",
                "ageRequired" : 22,
                "customerSignatureType" : "none",
                "tips":15,
                "pickUpAddress":{
                    "address":"1161 Mission",
                    "company":"John Company",
                    "city":"San Francisco",
                    "instructions":"Call John Doe when arrive",
                    "locality":"CA",
                    "name":"Jone Doe",
                    "name2":"",
                    "phone":"2221118888",
                    "postalCode":"94103"
                },
                "pickUpDateTime":"2018-09-22T22:00:00.000000Z",
                "shipToAddress":{
                    "address":"1111 Kearny Street",
                    "address2":"9",
                    "city":"San Francisco",
                    "company":"Uncle Sam company",
                    "instructions":"Call Uncle Sam when arrive",
                    "locality":"CA",
                    "name":"Uncle Sam",
                    "name2":"",
                    "phone":"6667778888",
                    "postalCode":"94133"
                },
                "vehicleType":"car",
                "items":[
                    {
                      "quantity":"2",
                      "name":"Plywood"
                    }
                ]
              }
          
        
          
            # sample curl command:
            curl 'https://api.rovahq.com/v2/entity/orders' \
            -X POST \
            -H 'Content-Type: application/json' \
            -H "Authorization: Bearer YOUR_BEARER" \
            --data-binary @payload.txt
          
        

To learn more of the create order properties, see Create Order API Reference

Update Order

There are times an order property may change. To update an order, create a HTTP PUT https://api.rovahq.com/v2/entity/orders/:ORDER_ID request. An order would not accept order changes when a courier had accepted an order. See example below.

          
              # paylod.txt
              {
                "webhookUrl": "http://example.com/events/call_back",
                "ageRequired" : 22,
                "customerSignatureType" : "none",
                "tips":15,
                "pickUpAddress":{
                    "address":"1000 Mission",
                    "company":"Change John Company",
                    "city":"San Francisco",
                    "instructions":"Call John Doe when arrive",
                    "locality":"CA",
                    "name":"Jone Doe",
                    "name2":"",
                    "phone":"2221118888",
                    "postalCode":"94103"
                },
                "pickUpDateTime":"2018-09-22T22:00:00.000000Z",
                "shipToAddress":{
                    "address":"1111 Kearny Street",
                    "address2":"9",
                    "city":"San Francisco",
                    "company":"Uncle Sam company",
                    "instructions":"Call Uncle Sam when arrive",
                    "locality":"CA",
                    "name":"Uncle Sam",
                    "name2":"",
                    "phone":"6667778888",
                    "postalCode":"94133"
                },
                "vehicleType":"car",
                "items":[
                    {
                      "quantity":"2",
                      "name":"Plywood"
                    }
                ]
              }
          
        
          
            # sample curl command:
            curl 'https://api.rovahq.com/v2/entity/orders/:ORDER_ID' \
            -X PUT \
            -H 'Content-Type: application/json' \
            -H "Authorization: Bearer YOUR_BEARER" \
            --data-binary @payload.txt
          
        

To learn more of the update order properties, see Update Order API Reference

Cancel Order

To cancel a request, make a request to this endpoint PUT https://api.rovahq.com/v2/entity/orders/:ORDER_ID/status . See example below

          
            # payload.txt
            {
              "deliveryStatus": "cancelled"
            }
          
        
          
            # sample curl command:
            curl 'https://api.rovahq.com/v2/entity/orders/:ORDER_ID/status' \
            -X PUT \
            -H 'Content-Type: application/json' \
            -H "Authorization: Bearer YOUR_BEARER" \
            --data-binary @payload.txt
          
        

To learn more of the cancel order properties, see Cancel Order API Reference

Testing with ROVA Platform

Testing is an important aspect of development. To test any API calls, please use the test client_id and client_secret. No billing setup is required for testing.

Questions

Have a question?

Please do not hesitate to reach out to api-support@rovahq.com.