From Rts
Revision as of 22:08, 5 May 2021 by Root (talk | contribs) (Info Packet)
Jump to: navigation, search

API2 Integration

The RTS API 2 is a rest service allowing 3rd party access to the POS system.


Communications with the locations POS server are done using a HTTPS Post of a JSON packet.
Each individual location has an assigned RTN number which is used to route packets.
The DNS for posting data is:
Most RTNs are configured to use port 2235 although this should be configurable as some locations use a different port.

Test Servers

We maintain test servers that process credit cards via different providers.

Plain Text
RTN 5, port 2235.
This is a classic server where plain text credit card information is processed.
This is not an 'Out-Of-Scope' process and is seldom used.
MercuryPay/WorldPay/FIS Hosted Checkout
RTN 500636, port 2245
This processor required you to redirect users to their page for credit card entries
Heartland Hosted Checkout
RTN 321033, port 2255
This processor provides java script 'controls' which allows processing credit cards 'Out-Of-Scope' without the customer leaving your site.
TSYS Hosted Checkout
RTN 809261, port 2265
This processor provides java script 'controls' which allows processing credit cards 'Out-Of-Scope' without the customer leaving your site.

Developer ID

Each company must request a developer ID before API calls will function. We provide this free of charge.

Info Packet

Each packet starts with a JSON info object which contains your Developer ID, Company Name, UserID, Password, RTN, and email addresses.
One or more email addresses are required, we use these addresses internally if we need to notify you of API usage issues with your integration.

   "info": {
       "userId": "test",
       "password": "test",
       "rtn": "5",
       "developerId": "23b21ecb874c4e318e6ddf85518a54495ae08efa4fb5d792aa28cbfc60bf0f99",
       "company": "Ready Theatre Systems LLC",
       "emails": [

PurchaseInfo Packet

Most requests require a PurchaseInfo object. This is primarily used to detect credit card fraud and protect system resources. If your API call requires this packet it must be initiated by a customer interaction from your APP or website.

   "purchaseInfo": {
       "ip": "",
       "deviceId": "",
       "trackingId": "d9876c6a-fda2-427e-aa07-d177d560b824"

Password Setup

Each RTN has a separate user name and password which is configured at the location level. We can not provide these usernames/passwords to you except for our test servers.

Schedule and Pricing Data Feeds

There is no endpoint that allows you to receive this information. Instead, we will post this information to your web server for processing.
This allows us to update schedules, sold-outs, and prices without polling the location saving considerable bandwidth and processing requirements.
The url is appended with type and rtn get values. Additional get values can be specified when configuring a destination url. For instance, adding ?myId=123 during configuration will result in a schedule post url of https://..../scheduleIn.asp?myId=123&type=schedule&rtn=...
The data feed settings can be changed at any time and will cause a resend of all feeds once without verifying that POS data has changed since the last transmission. This is useful if you need to rebuild your database. Do not consistently use this call to force re-transmissions.

URL get values
type schedule, items, testConnection
rtn rtn number from the transmitting location

for instance the following packet will initiate an immediate https post to https://www.myserver/scheduleIn.ASP?AnyThingYouWant=myValue&type=testConnection&rtn=5 with zero length content.
Your server must respond with an HTTP code 200 and the response text must include 'rtsok' or the feed setting will not apply.

server endpoint to receive data
username if your page requires authentication
password if your page requires authentication

   "info": {
       "userId": "test",
       "password": "test",
       "rtn": "5",
       "developerId": "......",
       "company": "rts",
       "emails": [
   "scheduleInfo": {
       "uri": "https://www.myserver/scheduleIn.ASP?AnyThingYouWant=myValue",
       "pageUserName": "uname",
       "pagePassword": "pword"