All REST Endpoints
Paths
| Resource | Base path |
|---|---|
| Checks API | https://host/api/v1 |
The Checks API provides access to the get and modify checks in a revenue center. The context of the operation is defined by the {orgShortName}, {locRef}, and {rvcRef} parameters. In many cases the operations are executed by routing request to on-premises services. This has an increased latency over requests that are processed by cloud-base services.
Check operations that include a check in the request, get the value of the {orgShortName}, {locRef}, and {rvcRef} from the request body via the check header. Check operations that do not include check in the requests, specify these values in the header.
- Delete a check
- Method: deletePath:
/api/v1/checks/{checkRef} - Get a check
- Method: getPath:
/api/v1/checks/{checkRef} - Get a list of checks
- Method: getPath:
/api/v1/checks - Get printed check
- Method: getPath:
/api/v1/checks/{checkRef}/printed - Post a new check
- Method: postPath:
/api/v1/checks - Post a new round to a check
- Method: postPath:
/api/v1/checks/{checkRef}/round - Post calculate totals for a check
- Method: postPath:
/api/v1/checks/calculator
Paths
| Resource | Base path |
|---|---|
| Connection Status API | https://host/api/v1 |
API to indicate status of check processing for a revenue center.
This request checks to see if STS has a connection for this property. The value of the connection status now does not represent a guarantee that the connection status will be the same at any point in the future.
- Head connection status
- Method: headPath:
/api/v1/checks/connectionStatus
Paths
| Resource | Base path |
|---|---|
| Configuration API | https://host/api/v1 |
The Configuration API provides access to the Tables, Menu (menu items, condiments, condiment rules, pricing...), Discounts, Service Charges, Tenders, Taxes, Menu Item Availability, Menu Items Barcode resources configured for a revenue center.
Because each revenue center is uniquely identified by a combination of the {orgShortName}, {locRef}, and {rvcRef} then the path to each of the resources includes these values.
The following is not supported for STS Gen2 on-premises integrations:
| Request |
|---|
| /barcodes/collection |
- Get a menu
- Method: getPath:
/api/v1/menus/{menuId} - Get a summary of all available menus
- Method: getPath:
/api/v1/menus/summary - Get tax definitions
- Method: getPath:
/api/v1/taxes - Get the barcode collection
- Method: getPath:
/api/v1/barcodes/collection - Get the collection of unavailable menu items
- Method: getPath:
/api/v1/menus/items/unavailable - Get the discount collection
- Method: getPath:
/api/v1/discounts/collection - Get the service charge collection
- Method: getPath:
/api/v1/serviceCharges/collection - Get the tender collection
- Method: getPath:
/api/v1/tenders/collection
Paths
| Resource | Base path |
|---|---|
| Configuration API | https://host/api/v2 |
The V2 Configuration API provides access to the Menu (menu items, condiments, condiment rules, pricing, combo meals v2...) resources configured for a revenue center.
Because each revenue center is uniquely identified by a combination of the {orgShortName}, {locRef}, and {rvcRef} then the path to each of the resources includes these values.
First available version: STS Gen2 1.6.1
Unavailable V2 Configuration Requests
API v2 requests are not available for the Discounts, Service Charges, Tender Media, Taxes, Menu Item Availability, and Menu Items Barcode resources. All GET requests to the following resources under /api/v2 return a 404 Not Found response.
| Method | Request |
|---|---|
| GET | /barcodes/collection |
| GET | /discounts/collection |
| GET | /serviceCharges/collection |
| GET | /tenders/collection |
| GET | /taxes |
| GET | /menus/items/unavailable |
- Get a menu
- Method: getPath:
/api/v2/menus/{menuId} - Get a summary of all available menus
- Method: getPath:
/api/v2/menus/summary
Paths
| Resource | Base path |
|---|---|
| Employees API | https://host/api/v1/ |
The Employees API provides access to the get an employee in a property. The context of the operation is defined by the {orgShortName} and {locRef} parameters.
- Get an employee number
- Method: getPath:
/api/v1/employees
Integrators must expose a service endpoint which accepts HTTP POST requests (webhook) to receive notifications from the STS Gen2 Notifications Service. The endpoint must implement TLS 1.2 and listen on port 443.The following top-level domains .com, .net, .org, .edu, .ca, .io, .site, .se, .sa are supported.
Paths
| Resource | Base path |
|---|---|
| Notifications API | https://host/api/v1/ |
Supported notifications
| Integration type | Notifications |
|---|---|
| STS Gen2 cloud integrations | Organizations Notification Configuration Notification Check Notification Employees Notification |
| STS Gen2 on-premises integrations | Check Notification |
Example notification message
{
"messages": [
{
"id": "8253c2a5-5b3c-497d-a87f-f8bb2e250ba7",
"creationDate": "2021-08-13T15:40:43.511Z",
"messageType": {
"id": "CheckNotification"
},
"resource": {
"orgShortName": "tfoinc",
"locRef": "fdmnh144",
"rvcRef": "42",
"checkRef": "929aacee2c6d42c78ae877e824c28eed00000431"
},
"data": {
"status": "Submitted",
"timeStampUtc": "2021-08-13T15:40:44.501Z"
}
}
]
}
Retry logic
At present retries are not supported. A notification will be sent only once.
- Delete a subscriber
- Method: deletePath:
/api/v1/notifications/registration - Delete subscriptions
- Method: deletePath:
/api/v1/notifications/subscriptions - Delete the subscription by a subscriptionId
- Method: deletePath:
/api/v1/notifications/subscriptions/{subscriptionId} - Get message types
- Method: getPath:
/api/v1/notifications/discovery - Get subscriptions
- Method: getPath:
/api/v1/notifications/subscriptions - Get the subscription by a subscriptionId
- Method: getPath:
/api/v1/notifications/subscriptions/{subscriptionId} - Post create a subscription
- Method: postPath:
/api/v1/notifications/subscriptions - Post creates an integrator registration
- Method: postPath:
/api/v1/notifications/registration - PUT creates or updates integrators registration
- Method: putPath:
/api/v1/notifications/registration
STS Gen2 includes resource level notifications that it facilitates via webhooks.
Integrators must expose a service endpoint which accepts HTTP POST requests (webhook) to receive notifications from the STS Gen2 Notifications Service. The endpoint must implement TLS 1.2 and listen on port 443. The following top-level domains .com, .net, .org, .edu, .ca, .io, .site, .se, .sa are supported. Timeout for HTTP requests to subscribers is 15 seconds with no retry
The following notifications are supported for STS Gen2 cloud integrations:
- Organizations Notification
- Configuration Notification
- Check Notification
- Employees Notification
The following notifications are supported for STS Gen2 on-premises integrations:
- Check Notification
- Post Webhook
- Method: postPath:
/webhook
Paths
| Resource | Base path |
|---|---|
| Organization API | https://host/api/v1/ |
The Organization API provides access to organizations, locations, and revenue center resources.
An organization has one or more locations, and each location has one more revenue centers. The identifier for an organization in the API is orgShortName, the identifier for a location in the API is locRef, and the identifier for a revenue center in the API is rvcRef. The identifiers for locations are not unique across all organizations and similarly the identifiers for revenue centers are not unique across all locations within an organization. Since there is no uniqueness the path to access each of the resources must include its parent resource. For this reason, we end up with the following paths to GET each resource.
- Get a list of all locations for an organization
- Method: getPath:
/api/v1/organizations/{orgShortName}/locations - Get a list of all revenue centers for a location
- Method: getPath:
/api/v1/organizations/{orgShortName}/locations/{locRef}/revenueCenters - Get a list of organizations
- Method: getPath:
/api/v1/organizations - Get a location by the specified identifier for an organization
- Method: getPath:
/api/v1/organizations/{orgShortName}/locations/{locRef} - Get a revenue center by the specified identifier for a location
- Method: getPath:
/api/v1/organizations/{orgShortName}/locations/{locRef}/revenueCenters/{rvcRef} - Get an organization by the specified identifier
- Method: getPath:
/api/v1/organizations/{orgShortName} - Get search for locations within an organization
- Method: getPath:
/api/v1/search/locations - Get search for revenue centers within a location
- Method: getPath:
/api/v1/search/revenueCenters