| 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 |
|