| |
Reference: RidgeStar-Rest API |
Criteria is now using saved Site values
Sites with the RidgeStar REST (Representational State Transfer) API (Application Programming Interface) active will be capable of interacting with remote Clients (other websites and/or programs at other Internet end-points), as follows:
The APIThe API has been built to generally conform to commonly accepted standards associated with RESTful Servers. This is not to say that the API is 100% a REST implementation, but it has made efforts to adhere to the principles and concepts embodied by REST. The API is built upon a few basic terms that should be clarified from the outset: - Resource
- Identifies a logical set of information available from the API. In this context, a Resource might refer to a single database table, might be a subset or superset of one or more database tables, or might even be simple meta-data available to describe the available Resources.
- Properties
- Each Resource has one or more Properties that, in turn, have one or more values. Conceptually, when a Resource is the result of a data table, a Property is a data field within the data table and the Property's value is synonymous with the data field value.
SyntaxThe API Get has the general form: {protocol}:// {site} /api {/resource} [.{format}] [/{item} ...] [? {keywords} ] ] where... - protocol
- Specifies the connection protocol to be followed. Use "HTTPS" (if TLS certificates are supported by the {site}), otherwise use "HTTP".
- site
- The identity, name, or destination containing the REST Server
- api
- The lower case constant "api" specifies that you desire to contact the Application Program (REST) Interface for the {site}
- resource
- The named "Resource" available from the {site} via the API
- format
- The Type of response expected/preferred. Specify .json (the default if no {format} is specified), .xml, or .html (if desired). The Get Request Accept Header will be honored (application/json, application/xml, or text/html), if provided, but will be overridden by the {format} specified in the URI (if present).
- item
- An optional specific Item within the Resource. Additional {item} specification can be provided, if the Resource offers multiple levels of data available (varies by {site} and Resource).
- keywords
- Provides additional qualifiers to control the contents of the response and can contain....
- criteria
- permits the query to be constructed such that Boolean conditions can be specified. General syntax is
criteria={argument=value [{,|:} ...]] } [{,|:}{argument=value[, ...]} ] Each {argument and value pair is ORed (,) or ANDed(:) together} which is then ORed (,) or ANDed(:) with the other {...} entries to develop the list of data records that will be returned.The operator to specify the AND condition within individual {...} entities is a colon (:) NOT an ampersand. This is because the ampersand is parsed as an independent HTTP element and, thus, is not a portion of the criteria element the REST Server can utilize. (Note: REST Version 5.3.3 will accept either syntax, but....use the colon, not the ampersand for clarity). - expand
- Identifies the exact Properties of the Resource that should be "expanded" to an array containing all pertinent Properties of the Item. This is useful to obtain detailed information about a Resource Property that does, itself, also represent a Resource with distinct Properties.
There are specialized grouping values that can be specified to imply expansion to more than one Property in the Resource: - Positions: requests that all Referee positions be expanded (Ref, AR1, AR2, ... as specified in the {site}
- Dates: requests that all Dates and DateTime defined Properties that are returned be expanded to include additional detail about the Date and Time (TimeZone, etc.)
- limit
- The number of entries to return in the response (default is unspecified or "No limit")
- offset
- The first entry to include in the response (default is 1 or the "first" entry)
- order
- Specified the sequence that sorts the resulting response entries (detault is defined by the {site} Resource definition).
- properties
- Identifies the individual Properties that should be returned (a list of properties is delimited by a comma). The default set of Properties returned for a Resource is defined by the {site}
- Positions
- keywords defined by the Resource can be provided to control which Items in the Resource will be obtained
- {criteria}
- keywords defined by the Resource can be provided to control which Items in the Resource will be obtained. Specifying multiple keywords (e.g. dmaGender=G&dmaLevel=U14) implies a boolean AND between the data elements. Use the criteria keyword itself to specify any desired boolean OR conditions.
ExamplesAll the following examples can be executed by clicking the desired symbol (for HTML, JSON, or XML) below and are sent to Referees.biz for processing. - /officers
- Get a list of all Chapter Officers
- /officers/17
- Get all default Properties for a specific individual
- /matches?dmaClient=LakeView&dmaLevel=U16&dmaDate[from]=2020-11-30
- Retrieve Matches for a specific Client and Level of play between specific Dates
- /matches?dmaLevel=U14,U15
- Retrieve Matches for 2 different Levels of play
- /matches?criteria={dmaLevel=U14},{dmaLeague=NFHS}
- Retrieve Matches for a specific Level of Play OR in a specific League of play
- /matches/1137?properties=dmaKey,dmaDate,dmaRef
- Get 3 Property values for a specific Match
- /matches/1137?properties=dmaKey,dmaDate,dmaRef&expand=dmaRef,Dates
- Expand data fields to obtain translated values
- /matches?properties=dmaKey,dmaDate,dmaRef,dmaAR1,dmaAR2&dmaPositions=17
- Obtain assignments for a specific Referee
- Sending
- https://www.referees.biz/api/matches.xml?properties=dmaKey,dmaDate,dmaRef,dmaAR1,dmaAR2&dmaPositions=17
- Request Headers
rsr-Date: 2024-11-21T10:02:03-08:00 Content-Type: application/json; rsr-Powered-By: RidgeStar/6.3.0 - Response Headers
HTTP_Response: 200 Date: Thu, 21 Nov 2024 18:02:03 GMT
Server: Apache/2.4.62 (Fedora Linux) OpenSSL/3.2.2
X-Powered-By: PHP/8.3.13
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
rsr-Powered-By: server/6.2.6
rsr-Resource: matches total=45, first=1, last=10
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: rsr-Powered-By,rsr-Resource
Set-Cookie: PHPSESSID=60i02gq1s5c6eu35ho26f420uv; path=/; SameSite=Strict
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8 - Data returned
<?xml version="1.0" encoding="utf-8" ?><doc><Matches><record><dmaKey>85</dmaKey><dmaDate>2024-01-13</dmaDate><dmaRef>17</dmaRef><dmaAR1>0</dmaAR1><dmaAR2>0</dmaAR2></record><record><dmaKey>93</dmaKey><dmaDate>2024-01-14</dmaDate><dmaRef>6</dmaRef><dmaAR1>17</dmaAR1><dmaAR2>11</dmaAR2></record><record><dmaKey>95</dmaKey><dmaDate>2024-01-28</dmaDate><dmaRef>17</dmaRef><dmaAR1>0</dmaAR1><dmaAR2>1</dmaAR2></record><record><dmaKey>84</dmaKey><dmaDate>2024-02-08</dmaDate><dmaRef>0</dmaRef><dmaAR1>7</dmaAR1><dmaAR2>17</dmaAR2></record><record><dmaKey>91</dmaKey><dmaDate>2024-02-24</dmaDate><dmaRef>18</dmaRef><dmaAR1>17</dmaAR1><dmaAR2>129</dmaAR2></record><record><dmaKey>1162</dmaKey><dmaDate>2024-03-08</dmaDate><dmaRef>0</dmaRef><dmaAR1>17</dmaAR1><dmaAR2>0</dmaAR2></record><record><dmaKey>88</dmaKey><dmaDate>2024-03-21</dmaDate><dmaRef>1</dmaRef><dmaAR1>45</dmaAR1><dmaAR2>17</dmaAR2></record><record><dmaKey>1164</dmaKey><dmaDate>2024-03-31</dmaDate><dmaRef>78</dmaRef><dmaAR1>101</dmaAR1><dmaAR2>17</dmaAR2></record><record><dmaKey>1212</dmaKey><dmaDate>2024-04-15</dmaDate><dmaRef>74</dmaRef><dmaAR1>17</dmaAR1><dmaAR2>0</dmaAR2></record><record><dmaKey>5</dmaKey><dmaDate>2024-04-26</dmaDate><dmaRef>17</dmaRef><dmaAR1>62</dmaAR1><dmaAR2>14</dmaAR2></record></Matches></doc>
- /matches?dmaLevel=U14&offset=4&limit=2
- Starting with the fourth Match, list only 2
- /doc
- Retrieve information about the API and Site hosting it
- /doc/resources/locations
- Obtain a description of the Get options for the Resource named "locations"
|