Difference between revisions of "Api2"

From Rts
Jump to: navigation, search
(Schedule and Pricing Data Feeds)
Line 58: Line 58:
 
There is no endpoint that allows you to receive this information.  Instead, we will post this information to your web server for processing.<br>
 
There is no endpoint that allows you to receive this information.  Instead, we will post this information to your web server for processing.<br>
 
This allows us to update schedules, sold-outs, and prices without polling the location saving considerable bandwidth and processing requirements.<br>
 
This allows us to update schedules, sold-outs, and prices without polling the location saving considerable bandwidth and processing requirements.<br>
The data feed settings can be changed at any time and will cause a resend of all feeds once without verifying changed data.  This is useful if you need to rebuild your database.  Do not consistently use this call to force re-transmissions.<br>
+
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=...<br>
 
+
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.<br>
 +
----
 +
URL get values<br>
 +
'''''type''''' schedule, items, testConnection<br>
 +
'''''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.<br>
 
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.<br>
Your server must respond with an HTTP code 200 or the feed setting will not apply.
+
Your server must respond with an HTTP code 200 and the response text must include 'rtsok' or the feed setting will not apply.
 
----
 
----
When feeds are transmitted, the get value will change to indicate which type of feed is being sent.<br>
 
 
 
 
 
 
 
;uri
 
;uri
 
:server endpoint to receive data
 
:server endpoint to receive data

Revision as of 12:42, 8 March 2021

API2 Integration

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

Communcation

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:
https://<RTN>-api2.formovietickets.com:port/app/api/v2/<EndPoint>
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": [
           "support@rts-solutions.com"
       ]
   }

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": "1.1.1.1",
       "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.


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

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