API Requests

HTTP Methods

The DLL will accept HTTP Requests via GET or POST (POST is used when the request is over 2000 characters).

Request Format

All request data is sent as query parameters. Note that these query parameters will be encrypted, although for readability these are shown as unencrypted in this documentation.

Example request to retrieve a list of users:

Copy
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Request&Type=List&SubType=GXT_USERS_TBL

Request Special Case for '=' and '&'

Request data that contains any '&' or '=' as part of a request string should be replace by Unicode character (U+0011) and Unicode character (U+0012) respectively. Replace end-of-line characters (CR and LF) with %0A (URL encoding).

Example request:

Copy
Case: Adding an '=' character within the Commands field for a reader expander record, i.e.
Commands:
PortOne=1
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Command&Type=Submit&SubType=GXT_READEREXPANDERS_TBL&ReaderExpanderId=0&Commands=PortOne%121&action=update...

    
Case: Using an 'end-of-line' character (CR and LF) for a reader expander record, i.e.
Commands:
PortOne=1
OSDPBaudP1=9600
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?ReaderExpanderId=0&Commands=PortOne%121%0AOSDPBaudP1%129600&action=update...

    
Case: Adding an '&' character within the Name field for a door record, i.e.
Name:
DoorPin&Card
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Command&Type=Submit&SubType=GXT_DOORS_TBL&DoorId=0&action=update&Name=DoorPin%11Card&action=update...

Response Formats

All response data is in either plain text or ampersand separated key value strings in the response body.

Note that this response will be encrypted, although for readability these are shown as unencrypted in this documentation.

Example response from the user list request above (Request Format):

Copy
41=Installer&42=Master&43=User (Demo)

Response Delimiters

Response data that contains any '&' will be converted to alpha (0xE0) and '=' to a double border character (0xCD). The client should perform the inverse transformation once data has been retrieved. We do this because '&' and '=' are used in the parameter string to delimit the various sections.