Browse
 
Tools
Rss Categories

Updating your Agent API to use the new API endpoint

Reference Number: AA-01236 Views: 947 Created: 2020-11-02 11:50 Last Updated: 2021-02-01 11:51 0 Rating/ Voters

Agent Booking APIs are moving

Rental Car Manager is embarking on a major infrastructure upgrade, and part of this involves moving our systems off our legacy servers.  

All Booking Agencies will be required to make some minor changes to use a new API URL in order for them to continue making live rates requests and bookings via the API.

Note: This article is for Agent developers.  If you are a developer for a rental car company's own website please see this article.

Jump to:


What changes are required?

The changes are quite straightforward:

If you are using API V3.2:

Change 1: API URL is changing to https://apis.rentalcarmanager.com/agent/booking/v3.2/       

Note the change in both the domain (no longer using secure.rentalcarmanager.com) and the structure following it: /api/3.2/ in URL is changing to /agent/booking/v3.2/

Change 2: You must do one of (a) or (b) below, whichever is easier:

(a) Add a request header with name = “Ocp-Apim-Subscription-Key” and value = (your api key).

E.g. client.Headers.Add("Ocp-Apim-Subscription-Key", varAPIKey);  or

(b) add ?apikey=<key> to the end of the URL. The value of this key is the same as your existing key(s). The key will now be on the URL twice, as per sample below.

Before: https://<old_server_domain>/api/3.2/<key>

After: https://apis.rentalcarmanager.com/agent/booking/v3.2/<key>?apikey=<key>

E.g.: https://apis.rentalcarmanager.com/agent/booking/v3.2/ABCDEF?apikey=ABCDEF

All other data inputs and outputs should remain unchanged.


If you are using API v3.1:

Change 1: API URL is changing to https://apis.rentalcarmanager.com/agent/booking/v3.1/ 

Note the change in both the domain (no longer using secure.rentalcarmanager.com) and the structure following it: /api/3.1/ in URL is changing to /agent/booking/v3.1/

Change 2: You must do one of (a) or (b) below, whichever is easier:

(a) Add a request header with name = “Ocp-Apim-Subscription-Key” and value = (your api key).

E.g. client.Headers.Add("Ocp-Apim-Subscription-Key", varAPIKey);  or

(b) add apikey=<key> as an extra querystring parameter to the end of the URL. The value of this key is the same as your existing key(s). The key will now be on the URL twice, as per sample below.

Before: https://<old_server_domain>/api/3.1/<key>/step2/1/1/08_08_2021/09_00/1/15_08_2021/0900/15/1/-

After: https://apis.rentalcarmanager.com/agent/booking/v3.1/<key>/step2/1/1/08_08_2021/09_00/1/15_08_2021/0900/15/1/-?apikey=<key>

Check:  If using a hashed Signature/Signed Request, check that your Signature (the hashed value) is derived using the URL portion that begins “/agent/booking/v3.1/…etc…”, rather than previously “/api/3.1/…etc”

All other data inputs and outputs should remain unchanged. 



If you are using API v2:

Change 1:  API URL is changing to https://apis.rentalcarmanager.com/agent/booking/v2


Note the change in both the domain (no longer using secure.rentalcarmanager.com.au or secure20.rentalcarmanager.com.au) and the structure following it: /AgentAPI/ in URL is changing to /agent/booking/v2/


Change 2:  You will need a new value called APIKey.  To derive your APIKey, use the secureKey or companyKey value and append an underscore and then your agentCode for this company.  I.e. APIKey = <SecureKey>_<AgentCode>


E.g.  Say your SecureKey is "ABC123XYZ" (this value is the "SecureKey" parameter that you currently pass in to the "requestVehicleAvailability" webmethod - Case Sensitive to the value that you have used in the current API.)...


       ...and your AgentCode is "WeBookCars" (this value is the "AgentCode" parameter that you currently pass in to the "requestVehicleAvailability" webmethod - Case Sensitive to the value that you have used in the current API.  Note that your AgentCode may be different for each rental car company that you connect with - you need to use the company-specific AgentCode.);


       ...Then your new APIKey is "ABC123XYZ_WeBookCars".  Use this value in Change 3 below:


Change 3:  Using a new value APIKey (see Change 2), you must do one of (a) or (b) below, whichever is easier:


(a) Add a request header for every request with name "Ocp-Apim-Subscription-Key" and value = <APIKey from above>


E.g. varAPIKey = varSecureKey + "_" + varAgentCode;

       client.Headers.Add("Ocp-Apim-Subscription-Key", varAPIKey);  


(b) or, add apikey=<APIkey> as an extra querystring parameter to the end of the URL. The value of APIKey is as above in Change 2:


Before: https://<old_server_domain>/AgentAPI/RCMAgentAPI.asmx

Afterhttps://apis.rentalcarmanager.com/agent/booking/v2/RCMAgentAPI.asmx?apikey=<APIKey>


When is this required?

Please make this change as soon as possible.  In February we will be moving the APIs off the legacy servers.  At that time, we will use an internal redirection to forward API requests still being received on the old server to the new endpoint.  Please note that there may be a performance hit due to this redirection.  The redirection will be in place until the end of March 2021, at which point the server will be retired and the current API will cease.  We are moving all of our servers “https://secure2.rentalcarmanager.com/”, “https://secure.rentalcarmanager.com.au/”, and “https://secure20.rentalcarmanager.com.au/” over the next 2 months so these changes can be made for any other RCM partners at the same time.


Troubleshooting

Please get in touch with us ASAP if you have any questions or issues.  We are happy to help you through this process.  Feel free to email us directly at support@rentalcarmanager.com

Access Denied

If you receive an error Http Status 401 or "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." please try the following:

1. Make sure you've included apikey=XYZ on your querystring (where XYZ is your key, or if using V2 see "Change 2" above for your key).

2. Make sure the apikey value is not encoded in any way.  For e.g. if you have a "=" in your key, you must use "=" and not "%3D".  If this is not possible, please see Alternative Subscription Key method above.

3. In the case of v3.2, make sure you are performing a POST request with the JSON data in the body.