2016-04-28 | v.1.0 | |
2016-05-24 | v.1.1 |
1. Use DELETE requests instead of specific methods
2. "Customer" property in PUT /order request is optional
3. Changes at the selling scheme: instead of PUT /order -> GET /order -> POST /order/confirm now use
PUT /order -> POST /order/sell (without payment information) -> GET /order
4. Fix formats in response (float values instead of strings, ticket object instead of array at order info)
|
2016-06-26 | v.1.2 |
1. Added a new functionality that prevents multiple reservations without a purchase. Once a day (at 12:00AM)
we consider the ratio of sold orders to create orders, if the created orders of 10 or more.
2. Added new optional parameter expireDateTime to method PUT /order, with which
you can specify the desired cancellation datetime (but not later than 24 hours from current time).
|
2017-01-25 | v.1.2.1 |
Use GET /service/karma for determining account privileges.
|
2017-04-24 | v.1.2.2 |
We have first version of API Exceptions Document
|
2019-09-27 | v.1.2.3 |
Method DELETE /ticket may consume return price that differs from nominal ticket price
|
2022-08-01 | v.1.2.3 |
Add functionality for seatless sections
|
1 | Browse performances using GET /repertoire method, and information about buildings (halls, sections etc.) using GET /constructive method. |
1.1 | There are data cache for repertoire information (30 minutes) and constructive information (60 minutes). |
2 | Get free tickets for performance using GET /ticket method. |
2.1 | There are caching on tickets states (5 minutes). |
3 | Create order with some tickets using PUT /order method. |
3.1 | Cancel non-confirmed orders (make locked places free) using DELETE /order method. |
3.2 | Places are automatically released after order expires. |
4 | Get information about order GET /order method. |
5 | Confirm order payment using POST /order/sell method. Tickets information (barcodes) will be provided in response. |
5.1 | To cancel a confirmed order, must be returned to each ticket sold separately in the order using DELETE /ticket method. |
6 | Get ticket barcodes using GET /order method after payment. |
7 | Change spectator data by order if necessary. PUT /spectator-info |
identity-id | 2-chars identificator |
control-hash-algorithm | "D" (based on datetime value) |
hash | [int-unix-timestamp][sha-1-encrypted-value] |
int-unix-timestamp | 1461857409; service check for current time with some allowance |
sha-1-encrypted-value | result of SHA-1 string hashing "[salt][int-unix-timestamp]" |
salt | secret string |
GET|PUT|POST|DELETE /object[/action][?get-params=value]
Content-Type: application/json
Authorization: Bearer [identity-id][control-hash-algorithm][hash]
{"json-body": "for PUT or POST requests"}
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 {"result": true, "tickets": []}
HTTP/1.1 401 Unauthorized Content-Type application/json; charset=UTF-8 {"result": false, "code": 401, "message": "You are requesting with an invalid credential"}
HTTP/1.1 404 Not Found Content-Type application/json; charset=UTF-8 {"result": false, "code": 404, "message": "Page not found."}
HTTP/1.1 405 Method Not Allowed Content-Type application/json; charset=UTF-8 {"result": false, "code": 405, "message": ""}
GET /repertoire fromInclusive string with datetime format "yyyy-MM-ddTHH:mm:ss" optional tillExclusive string with datetime format "yyyy-MM-ddTHH:mm:ss" optional |
|
GET /constructive hallId integer required segment array of strings: [building|hall|sections|places] required |
|
GET /ticket performanceId integer required |
|
DELETE /ticket id integer required price float required orderId integer required |
|
GET /order id integer required |
|
PUT /order If a customer object is passed, all fields are required but may be empty, id can be set in 0 |
|
POST /order/sell |
|
PUT /spectator-info |
|
DELETE /order id integer required |
|
GET /sales fromInclusive string with datetime format "yyyy-MM-ddTHH:mm:ss" optional tillExclusive string with datetime format "yyyy-MM-ddTHH:mm:ss", current time is maximum allowed value optional *Time interval can not exceed 3 days **If values not defined it returns previous day operations |
|
GET /service/karma karma: 1 account gets ban for creating order karma: 2 account with default privileges karma: 3 account with elevated privileges |
|