Updating your AGENT API to use the new API Endpoint

Updating your AGENT API to use the new API Endpoint

Rental Car Manager has embarked on a major infrastructure upgrade, and part of this involved 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.


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>

Afterhttps://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/-

Afterhttps://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.






    Important Articles


      • Related Articles

      • Updating your Current Web Booking Module to use the new API endpoint

        Rental Car Manager has embarked on a major infrastructure upgrade, and part of this involved moving our systems off our legacy servers.   Note: This article is for developers for a Rental Car Company's own booking website. If you are a developer for ...
      • Agent API Excluded Fees

        Purpose The Web/Agent Extra Fees tab allows you to make Extra Fees available to all Agents through the Agent API. For more information on this please see the Web / Agent Extra Fees article. However, you may not want certain Extra Fees available to ...
      • Creating Agent Bookings -Creating Manually and through the Agent API

        Purpose Agent Bookings can be created in RCM by various methods. Operator entered Manually within RCM. Via the Agent API or Agent Booking steps - the booking is created automatically. Via Agent Direct -an agent is given the URL and a restricted login ...
      • Agent API

        What you can do with the RCM Agent API Our Agent API has all of the functionality that you need to be able to integrate your website with Rental Car Manager. With the RCM Agent API, developers can: Get locations and vehicle categories Get available ...
      • Configuring the Agent Web Service for use with Rental Car Manager

        Agent Web Service Overview The Agent Web Service allows agents to make unallocated bookings in your Rental Car Manager system directly from their web sites or portals. To enable this service you must configure RCM to allow the agent to use the ...