API Выдачи талонов v1¶
СТАРОЕ
Предварительная запись [Deprecated] (Enter)¶
GET booking/schedule/days¶
Возвращает дни, в которые доступна предварительная запись для указанной услуги
Параметры
Должен быть указан один из параметров - либо productId, либо menuLinkId
productId - идентификатор услуги. Можно использовать IntegrationId, настроенный для данной услуги в очереди
menuLinkId - идентификатор элемента меню выбора услуг. Можно использовать вместо идентификатора услуги
Формат ответа
[{
"Year": Int, - год
"Months": [{ - месяцы года
"Month": Int, - номер месяца (1-12)
"Days": [{ - дни месяца
"Day": Int, - день месяца (1-31)
"Free": Boolean - свободен ли день для предварительной записи на указанную услугу
}]
}]
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/booking/schedule/days?productId=117
Пример ответа
[{"Year":2014,"Months":[{"Month":9,"Days":[{"Day":16,"Free":true},{"Day":17,"Free":true},{"Day":18,"Free":true},{"Day":19,"Free":true},{"Day":20,"Free":true},{"Day":21,"Free":true},{"Day":22,"Free":true},{"Day":23,"Free":true},{"Day":24,"Free":true},{"Day":25,"Free":true},{"Day":26,"Free":true},{"Day":27,"Free":true},{"Day":28,"Free":true},{"Day":29,"Free":true},{"Day":30,"Free":true}]},{"Month":10,"Days":[{"Day":1,"Free":true},{"Day":2,"Free":true},{"Day":3,"Free":true},{"Day":4,"Free":true},{"Day":5,"Free":true},{"Day":6,"Free":true},{"Day":7,"Free":true},{"Day":8,"Free":true},{"Day":9,"Free":true},{"Day":10,"Free":true},{"Day":11,"Free":true},{"Day":12,"Free":true},{"Day":13,"Free":true},{"Day":14,"Free":true},{"Day":15,"Free":true},{"Day":16,"Free":true},{"Day":17,"Free":true},{"Day":18,"Free":true},{"Day":19,"Free":true},{"Day":20,"Free":true},{"Day":21,"Free":true},{"Day":22,"Free":true},{"Day":23,"Free":true},{"Day":24,"Free":true},{"Day":25,"Free":true},{"Day":26,"Free":true},{"Day":27,"Free":true},{"Day":28,"Free":true},{"Day":29,"Free":true},{"Day":30,"Free":true},{"Day":31,"Free":true}]},{"Month":11,"Days":[{"Day":1,"Free":true},{"Day":2,"Free":true},{"Day":3,"Free":true},{"Day":4,"Free":true},{"Day":5,"Free":true},{"Day":6,"Free":true},{"Day":7,"Free":true},{"Day":8,"Free":true},{"Day":9,"Free":true},{"Day":10,"Free":true},{"Day":11,"Free":true},{"Day":12,"Free":true},{"Day":13,"Free":true},{"Day":14,"Free":true},{"Day":15,"Free":true},{"Day":16,"Free":true},{"Day":17,"Free":true},{"Day":18,"Free":true},{"Day":19,"Free":true},{"Day":20,"Free":true},{"Day":21,"Free":true},{"Day":22,"Free":true},{"Day":23,"Free":true},{"Day":24,"Free":true},{"Day":25,"Free":true},{"Day":26,"Free":true},{"Day":27,"Free":true},{"Day":28,"Free":true},{"Day":29,"Free":true},{"Day":30,"Free":true}]},{"Month":12,"Days":[{"Day":1,"Free":true},{"Day":2,"Free":true},{"Day":3,"Free":true},{"Day":4,"Free":true},{"Day":5,"Free":true},{"Day":6,"Free":true},{"Day":7,"Free":true},{"Day":8,"Free":true},{"Day":9,"Free":true},{"Day":10,"Free":true},{"Day":11,"Free":true},{"Day":12,"Free":true},{"Day":13,"Free":true},{"Day":14,"Free":true}]}]}]
GET booking/schedule/days/:date¶
Возвращает список временных точек, доступных для предварительной записи в указанную дату
Параметры
Должен быть указан один из параметров - либо productId, либо menuLinkId
date - дата предполагаемой предварительной записи в формате дд.мм.гггг
productId - идентификатор услуги. Можно использовать IntegrationId, настроенный для данной услуги в очереди
menuLinkId - идентификатор элемента меню выбора услуг. Можно использовать вместо идентификатора услуги
Формат ответа
[{
"Hour": Int, - часы (0-23)
"Minutes": Int, - минуты (0-59)
"Free": Boolean, - сводобно ли данное время для предварительной записи на указанную услугу
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/booking/schedule/days/05.10.2014?productId=117
Пример ответа
[{"Hour":8,"Minutes":0,"Free":true},{"Hour":8,"Minutes":15,"Free":true},{"Hour":8,"Minutes":30,"Free":true},{"Hour":8,"Minutes":45,"Free":true},{"Hour":9,"Minutes":0,"Free":true},{"Hour":9,"Minutes":15,"Free":true},{"Hour":9,"Minutes":30,"Free":true},{"Hour":9,"Minutes":45,"Free":true},{"Hour":10,"Minutes":0,"Free":true},{"Hour":10,"Minutes":15,"Free":true},{"Hour":10,"Minutes":30,"Free":true},{"Hour":10,"Minutes":45,"Free":true},{"Hour":11,"Minutes":0,"Free":true},{"Hour":11,"Minutes":15,"Free":true},{"Hour":11,"Minutes":30,"Free":true},{"Hour":11,"Minutes":45,"Free":true},{"Hour":12,"Minutes":0,"Free":true},{"Hour":12,"Minutes":15,"Free":true},{"Hour":12,"Minutes":30,"Free":true},{"Hour":12,"Minutes":45,"Free":true},{"Hour":13,"Minutes":0,"Free":true},{"Hour":13,"Minutes":15,"Free":true},{"Hour":13,"Minutes":30,"Free":true},{"Hour":13,"Minutes":45,"Free":true},{"Hour":14,"Minutes":0,"Free":true},{"Hour":14,"Minutes":15,"Free":true},{"Hour":14,"Minutes":30,"Free":true},{"Hour":14,"Minutes":45,"Free":true},{"Hour":15,"Minutes":0,"Free":true},{"Hour":15,"Minutes":15,"Free":true},{"Hour":15,"Minutes":30,"Free":true},{"Hour":15,"Minutes":45,"Free":true},{"Hour":16,"Minutes":0,"Free":true},{"Hour":16,"Minutes":15,"Free":true},{"Hour":16,"Minutes":30,"Free":true},{"Hour":16,"Minutes":45,"Free":true},{"Hour":17,"Minutes":0,"Free":true},{"Hour":17,"Minutes":15,"Free":true},{"Hour":17,"Minutes":30,"Free":true},{"Hour":17,"Minutes":45,"Free":true},{"Hour":18,"Minutes":0,"Free":true},{"Hour":18,"Minutes":15,"Free":true},{"Hour":18,"Minutes":30,"Free":true},{"Hour":18,"Minutes":45,"Free":true},{"Hour":19,"Minutes":0,"Free":true},{"Hour":19,"Minutes":15,"Free":true},{"Hour":19,"Minutes":30,"Free":true},{"Hour":19,"Minutes":45,"Free":true}]
POST booking/login/:userIdentity¶
Возвращает токен авторизации. В качестве идентификатора пользователя может быть передана любая строка. Данный метод аутентификации может использоваться только с доверенного адреса, который указывается в настройках очереди.
Полученный токен авторизации необходимо передавать в http-заголовке <code>Authorization</code> любого запроса, выполняемого от имени данного пользователя. Время жизни токена при неактивности - 30 минут.
Параметры
userIdentity - идентификатор пользователя, для которого будет выполняться запись и управление ранее созданными талонами предварительной записи
Пример запроса
POST http://enter.suo.club:8002/api/1/booking/login/user12345
Пример ответа
"3c5ce82c-ab8a-4444-9a96-47a2d22c4305"
POST booking/book/:date/:time¶
Предварительная запись на получение услуги. Возвращает элемент с данными о записи, включающими идентификатор талона для дальнейшей работы.
Параметры
Должен быть указан либо параметр productId, либо menuLinkId
Рекомендуется передавать токен авторизации, полученный в методе booking/login - в этом случае созданный талон будет привязан к пользователю
date - дата предварительной записи в формате дд.мм.гггг
time - время предварительной записи в формате чч:мм
productId - идентификатор услуги. Можно использовать IntegrationId, настроенный для данной услуги в очереди
menuLinkId - идентификатор элемента меню выбора услуг. Можно использовать вместо идентификатора услуги
dataFields - данные о посетителе. Запрашиваются в соответствии с настройками в меню предварительной записи
confirm - Подтвердить ли запись без дополнительного запроса. Неподтвержденные талоны удаляются через 60 минут после создания
Формат ответа
{
"Id": Guid, - идентификатор талона
"FullNumber": String, - номер талона (префикс + номер)
"PinCode": String, - пин-код талона в формате 000000
"State": Int - состояние талона (ticketStates)
}
Пример запроса
POST http://enter.suo.club:8002/api/1/booking/book/10.10.2014/11:00
Тело запроса:
{
"productId": 117,
"dataFields": [{
"ProductRequiredFieldTypeId":"011410d5-7402-8773-57eb-a2cf31f23817",
"Value":"Иванов Иван Иванович"
}],
"confirm": true
}
Пример ответа
{
"Id": "a31df9c8-d169-47c8-bc5a-1d21945548e1",
"FullNumber": "ПЗ1",
"PinCode": "969980",
"State": 1
}
GET booking/tickets¶
Возвращает список талонов предварительной записи аутентифицированного пользователя
Формат ответа
[{
"Id": Guid, - идентификатор талона
"FullNumber": String, - номер талона (префикс + номер)
"PinCode": String, - пин-код талона в формате 000000
"State": Int - состояние талона (ticketStates)
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/booking/tickets
Authorization: 3e2e85f4-d0f2-4bdd-a599-c53a9fb5d80d
Пример ответа
[{
"Id":"768695f1-d36f-4b3b-abea-965bcef94a81",
"FullNumber":"ПЗ2","PinCode":"784537","State":1
},
{
"Id":"cb43d368-7751-4442-a877-e817a4c1f2f7",
"FullNumber":"ПЗ3","PinCode":"634426","State":3
}]
GET booking/tickets/:ticketId¶
Получение информации о талоне предварительной записи
. Параметры
Если талон привязан к пользователю, требуется также передать токен авторизации пользователя, полученный в методе booking/login
ticketId - идентификатор талона предварительной записи
Формат ответа
{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние (ticketStates)
"Products": [] - услуги в талоне (ticketProduct)
}
Пример запроса
GET http://enter.suo.club:8002/api/1/booking/tickets/a31df9c8-d169-47c8-bc5a-1d21945548e1
Пример ответа
{
"Id":"a31df9c8-d169-47c8-bc5a-1d21945548e1",
"Created":"2014-09-15T18:39:23.157",
"PinCode":"969980",
"Prefix":"ПЗ",
"Number":1,
"FullNumber":"ПЗ1",
"State":1,
"Products":[{
"Id":"ace4aaf2-0830-4f65-8b92-9ae15b545a15",
"Name":"Предоставление архивных справок, архивных копий и архивных выписок из документов, хранящихся в Комитете по управлению муниципальной собственностью Администрации ГО г. Уфа РБ(н)",
"Created":"2014-09-15T18:39:23.157",
"StartTime":"2014-10-10T11:00:00",
"IsPending":true,
"Product":null,
"ProductId":"c24f60f4-bd51-4f09-915a-b7c1eda0191e",
"State":2,
"CurrentPriority":1,
"TicketProductDataFields":[{
"Id":"97cbbe9f-f7fe-4367-a007-dca26a6b8e8c",
"Type":{
"Id":"011410d5-7402-8773-57eb-a2cf31f23817",
"Name":"ФИО",
"Type":1,
"Mask":null,
"ReferenceSource":null
},
"ProductRequiredFieldTypeId":"011410d5-7402-8773-57eb-a2cf31f23817",
"Value":"Иванов Иван Иванович"
}]
}]
}
POST booking/tickets/:ticketId/confirm¶
Подтверждение предварительной записи. Требуется, если параметр confirm в методе booking/book не был передан
Параметры
Если талон привязан к пользователю, требуется также передать токен авторизации пользователя, полученный в методе booking/login
ticketId - идентификатор талона предварительной записи
Формат ответа
{
"Id": Guid, - идентификатор талона
"FullNumber": String, - номер талона (префикс + номер)
"PinCode": String, - пин-код талона в формате 000000
"State": Int - состояние талона (ticketStates)
}
Пример запроса
POST http://enter.suo.club:8002/api/1/booking/tickets/cb43d368-7751-4442-a877-e817a4c1f2f7/confirm
Пример ответа
{
"Id":"cb43d368-7751-4442-a877-e817a4c1f2f7",
"FullNumber":"ПЗ3",
"PinCode":"634426",
"State":1
}
POST booking/tickets/:ticketId/cancel¶
Отмена предварительной записи.
Параметры
Если талон привязан к пользователю, требуется также передать токен авторизации пользователя, полученный в методе booking/login
ticketId - идентификатор талона предварительной записи
Формат ответа
{
"Id": Guid, - идентификатор талона
"FullNumber": String, - номер талона (префикс + номер)
"PinCode": String, - пин-код талона в формате 000000
"State": Int - состояние талона (ticketStates)
}
Пример запроса
POST http://enter.suo.club:8002/api/1/booking/tickets/cb43d368-7751-4442-a877-e817a4c1f2f7/cancel
Пример ответа
{
"Id":"cb43d368-7751-4442-a877-e817a4c1f2f7",
"FullNumber":"ПЗ3",
"PinCode":"634426",
"State":3
}
GET booking/tickets/ticketpng/:ticketId¶
Получение талончика по предварительной записи в печатном виде
Параметры
Если талон привязан к пользователю, требуется также передать токен авторизации пользователя, полученный в методе booking/login
ticketId - Идентификатор талона предварительной записи
scale - Множитель разрешения картинки (0.01,30)
Пример запроса
GET http://enter.suo.club:8002/api/1/booking/tickets/ticketpng/a31df9c8-d169-47c8-bc5a-1d21945548e1/?scale=1
Пример ответа
Работа оператора (Enter)¶
POST operation/identify/:clientId/:login/:password¶
Подключение приложения и вход оператора. Метод открывает сессию приложения и выполняется перед вызовом других методов API оператора. Возвращает токен, заключённый в кавычки — идентификатор сессии приложения (пульта оператора). Этот токен нужно добавлять в HTTP-заголовок Authorization при вызове других методов этого сервиса. Время жизни сессии приложения при неактивности по умолчанию: 15 минут. Этот параметр можно изменить в настройках сервера СУО.
Параметры
clientId - Идентификатор пульта оператора (окна)
login - Логин пользователя-оператора
password - Пароль
Формат ответа
"Guid" - токен авторизации
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/identify/arm1/1/1
Пример ответа
"9c1c4675-7889-49d7-a846-2d4d7c361881"
POST operation/unidentify¶
Отключение приложения. Закрывает сессию пульта оператора (как оборудования). Работает аналогично закрытию Windows-приложения пульта оператора, когда нажимают на крестик. Метод выхода оператора operation/logout перед этим вызывать не обязательно, но не повредит.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/unidentify
POST operation/login/:login/:password¶
Вход пользователя в приложение. Метод следует вызывать, когда приложение подключено, но пользователь еще не вошел.
Параметры
login - Логин пользователя-оператора
password - Пароль
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/login/2/1
POST operation/logout¶
Выход пользователя. После выхода пользователя сессия приложения остается жить. Чтобы ее закрыть, следует вызвать метод operation/unidentify, либо сессия приложения закроется через некоторое время автоматически как неактивная.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/logout
POST operation/configuration/info¶
Возвращает настройки приложения (пульта оператора). Метод нужен, чтобы показать интерфейс приложения в соответствии с тем, как оно настроено в СУО (если это необходимо). Например, отобразить название приложения, показать/скрыть те или иные кнопки. Почему метод - POST, а не GET? Просто так сложилось исторически..
Формат ответа
{
"Id": Guid, - идентификатор пульта оператора
"Number": int, - номер пульта оператора
"Type": int, - тип пульта оператора (workPlaceTypes)
"OverriddenName": string, - переопределяет автоматическое имя (Тип + Номер), если оно не устраивает
"Name": string, - имя пульта оператора. Это либо OverriddenName, либо Тип + Номер. Используйте это свойство, чтобы отобразить название приложения.
"CanInviteByTicketProduct" - bool, - можно ли вызывать конкретных посетителей по номеру талона, вне своей очереди. Если true, то можно использовать метод operation/invite/ticketProductId
"RedirectToProducts" - bool, - можно ли перенаправлять посетителей на другие услуги
"RedirectToUsers" - bool, - можно ли перенаправлять посетителей к другим операторам
"RedirectToWorkPlaces" - bool, - можно ли перенаправлять посетителей в другие окна (рабочие места)
"HoldMode" - int, - режим откладывания посетителей в персональную очередь (holdModes)
}
Типы рабочих мест (пультов оператора)
Режимы откладывания посетителей в персональную очередь (для пульта оператора)
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/configuration/info
Пример ответа
{
"Id": "28dfc1c0-bd1d-49af-910a-6fca4d654c77",
"Number": 1,
"Type": 1,
"OverriddenName": null,
"Name": "Окно 1",
"CanInviteByTicketProduct": false,
"RedirectToProducts": false,
"RedirectToUsers": false,
"RedirectToWorkPlaces": false,
"HoldMode": 0
}
GET operation/state¶
Возвращает актуальное состояние рабочего места.
Формат ответа
{
"TurnOn": Bool, - включено ли рабочее место
"User": Object, - пользователь, работающий за данным рабочим местом {
"Name": String, - имя пользоваеля'
"SurName": String, - фамилия пользователя'
"LoginName": String, - логин пользователя
"IntegrationId": String, - идентификатор для АИС
"Id": Guid, - идентификатор пользователя'
},
"BeginBreak": Bool - пользователь на перерыве'
"TicketProduct": {} - приглашенный или обслуживаемый посетитель (ticketProduct2), либо null, если посетитель отсутствует
"OperationSeconds": Double - количество секунд с момента приглашения/начала обслуживания, либо null, если посетитель отсутствует'
"EditTicket": {} - редактируемый талон в формате разметки (editTicket), либо null, если оператор сейчас не редактирует талон
}
Редактируемый талон в формате разметки (для пульта оператора)
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/state
Пример ответа
{
"TurnOn":true,
"User":{
"Name":"Зураб",
"SurName":"Лушов",
"LoginName":"1",
"IntegrationId":null,
"Id":"eef8829b-bc5c-0746-600b-73329eb99337",
},
"BeginBreak":false,
"TicketProduct":null,
"OperationSeconds":null
}
GET operation/queue/count¶
Возвращает количество услуг в талонах, которые находятся в очереди на обслуживание Возвращает количество услуг в талонах, которые находятся в очереди и могут быть обслужены в указанном при авторизации рабочем месте зарегистрированным в данный момент пользователем. Может изменятся при обслуживании посетителей в других рабочих местах
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/queue/count
Пример ответа
3
GET operation/queue¶
Возвращает список услуг в талонах, которые находятся в очереди на обслуживание Возвращает список услуг в талонах, которые находятся в очереди и могут быть обслужены в указанном при авторизации рабочем месте зарегистрированным в данный момент пользователем. Может изменятся при обслуживании посетителей в других рабочих местах
Формат ответа
[] - Услуга в талоне
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/queue
Пример ответа
[{
"Id":"81672e1c-e438-4e67-8ea0-7572ce69d056",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"Created":"2014-08-15T15:19:18.627",
"StartTime":"2014-08-15T15:19:20.157",
"IsPending":false,
"Ticket":{
"Id":"b0e5c703-2b78-4564-ad97-e08b43b1a7ce",
"Created":"2014-08-15T15:19:18.593",
"PinCode":"657323",
"Prefix":"П",
"Number":1,
"FullNumber":"П1",
"State":1,
"Products":[]
},
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":10,
"Color":"#ff7f00",
"Id":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"ProductCategoryId":"732ffa3f-f585-471d-bb6c-68429de96823",
"IntegrationId":"75",
"RecordLimit":5,
"ServerId":null
},
"ProductId":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"State":3,
"CurrentPriority":0,
"TicketProductDataFields":[]
},
{
"Id":"5ab8d0fd-4e9a-4d9d-af78-308ffe974e77",
"Name":"Предоставление недостающих документов",
"Created":"2014-08-15T15:19:28.487",
"StartTime":"2014-08-15T15:19:29.72",
"IsPending":false,
"Ticket":{
"Id":"56ba1007-ab8c-42b4-a48e-0bf605d84844",
"Created":"2014-08-15T15:19:28.47",
"PinCode":"463678",
"Prefix":"П",
"Number":2,
"FullNumber":"П2",
"State":1,
"Products":[]
},
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":15,
"Color":"#AAAAAA",
"Id":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"Name":"Предоставление недостающих документов",
"ProductCategoryId":"4bd41871-bd57-43c6-8b15-1a88db559dba",
"IntegrationId":"326",
"RecordLimit":0,
"ServerId":null
},
"ProductId":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"State":3,
"CurrentPriority":0,
"TicketProductDataFields":[]
}]
GET operation/personal/count¶
Возвращает количество обращений в персональной очереди указанного при авторизации рабочего места
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/personal/count
Пример ответа
1
GET operation/personal¶
Возвращает список обращений в персональной очереди указанного при авторизации рабочего места
Формат ответа
[] - Услуга в талоне
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/personal
Пример ответа
[{
"Id":"81672e1c-e438-4e67-8ea0-7572ce69d056",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"Created":"2014-08-15T15:19:18.627",
"StartTime":"2014-08-15T15:19:20.157",
"IsPending":false,
"Ticket":{
"Id":"b0e5c703-2b78-4564-ad97-e08b43b1a7ce",
"Created":"2014-08-15T15:19:18.593",
"PinCode":"657323",
"Prefix":"П",
"Number":1,
"FullNumber":"П1",
"State":1,
"Products":[]
},
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":10,
"Color":"#ff7f00",
"Id":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"ProductCategoryId":"732ffa3f-f585-471d-bb6c-68429de96823",
"IntegrationId":"75",
"RecordLimit":5,
"ServerId":null
},
"ProductId":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"State":6,
"CurrentPriority":0,
"TicketProductDataFields":[]
}]
POST operation/break/begin¶
Уход оператора на перерыв
Параметры
reasonId - идентификатор причины, по которой оператор уходит на перерыв. Из списка operation/breakReasons. Если список не пустой, параметр обязателен. Оператор должен выбрать причину перерыва, если есть из чего выбирать
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/break/begin
POST operation/break/end¶
Окончание перерыва
Параметры
password - Пароль
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/break/end
Параметры: password=1
GET operation/breakReasons¶
Список причин, по которым оператор уходит на перерыв. Для метода operation/break/begin Настраивается в соответствии с бизнес-процессом конкретной организации. Может быть пустым.
Формат ответа
[{
"Id" : Guid, - идентификатор причины перерыва
"Name" : String, - текст причины перерыва
"BreakDurationMinutes" : int|null, - опциональный норматив перерыва для этой причины, в минутах. Можно показать его оператору просто для информации
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/breakReasons
Пример ответа
[
{
"Id":"e691c41f-3982-42e3-a48b-b294878a3d59",
"Name":"Распоряжение руководителя",
"BreakDurationMinutes":5
},
{
"Id":"be15d9a3-0ecd-41cd-9fed-9f07e7d514ea",
"Name":"Самочувствие",
"BreakDurationMinutes":null
},
{
"Id":"4f58e0b9-7737-4743-a165-f8e2e69e1225",
"Name":"Технический перерыв",
"BreakDurationMinutes":10
}
]
POST operation/invite¶
Приглашение следующего посетителя. Возвращает данные по услуге в талоне, по которой будет производиться обслуживание
Формат ответа
[] - Услуга в талоне
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/invite
Пример ответа
{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":15,
"Color":"#AAAAAA",
"Id":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"Name":"Предоставление недостающих документов",
"ProductCategoryId":"4bd41871-bd57-43c6-8b15-1a88db559dba",
"IntegrationId":"326",
"RecordLimit":0,
"ServerId":null
}
POST operation/invite/:ticketProductId¶
Приглашение посетителя по идентификатору услуги в талоне. Возвращает данные по услуге, по которой будет производиться обслуживание, и дополнительные данные о посетителе. Также используется для вызова из персональной очереди.
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/invite/696d726b-08db-4615-8f96-c8528011d02e
Пример ответа
{
"Product":{
"Prefix":"И",
"TicketCount":-2,
"ActiveTickets":0,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":5,
"Color":null,
"Id":"7ef077a7-2c3b-44b1-a8e6-6bc4400841f7",
"Name":"Беспл.информ-е налогоплат-ков:о налогах и сборах,закон-ве о налогах и сборах и принятых в соотв-вии с ним НПА;о полномочиях налог-х органов и их должн.лиц;о порядке исчисления и уплаты налогов и сборов,правах и обязан-тях налогоплат-ков,формах,форматах,порядке и сроках представления налог-х деклар-й(расчетов);о реквиз.соответ-щих счетов Казнач-ва РФ и об измен-х указ-х реквиз.;о свед-х,необх-х для заполн-я поруч-й на перечисл.налогов,сборов,пеней и штрафов в бюдж.систему РФ",
"ProductCategoryId":"afc603f9-ff48-4ef0-bb22-af2d25d3d2ef",
"IntegrationId":"2",
"RecordLimit":0,
"ServerId":null
}
}
POST operation/inviteAgain¶
Повторное приглашение посетителя.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/inviteAgain
POST operation/start¶
Начало обслуживания приглашённого посетителя
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/start
Пример ответа
{
"Id":"977e18bd-e2b7-4860-8fe2-2b649ddf6c9d",
"Name":"Услуга",
"Created":"2023-03-29T10:43:33.7194641",
"StartTime":"2023-03-29T10:43:33.7194641",
"IsPending":false,
"Ticket":{
"Id":"9300c449-24ab-4315-8580-09dbbd83d987",
"Created":"2023-03-29T10:43:33.7194641",
"PinCode":"131754",
"Prefix":"П",
"Number":1,
"FullNumber":"П1"
},
"Product":{
"Id":"244708c6-32aa-481d-b1ac-955eceb9f20f",
"Name":"Услуга",
"ProductCategoryId":null,
"IntegrationId":null,
},
"ProductId":"244708c6-32aa-481d-b1ac-955eceb9f20f",
"State":5,
"CurrentPriority":0,
"TicketProductDataFields":[],
"InQueueStartTime":"2023-03-29T10:43:33.7194641",
"ActivatedTime":null,
"AwaitingDurationSeconds":1,
"InvitedStartTime":"2023-03-29T10:43:34.8029326",
"OperatingStartTime":"2023-03-29T10:43:39.686713",
"CompletedEndTime":null}
}
POST operation/reject¶
Отмена обслуживания приглашённого посетителя (посетитель не явился)
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/reject
POST operation/complete¶
Успешное завершение обслуживания посетителя (услуга была оказана)
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/complete
POST operation/deny¶
Неуспешное завершение обслуживания посетителя - услуга не была оказана Метод вызывается, когда оператор начал обслуживать посетителя, но понял, что не сможет оказать ему услугу по какой-либо причине.
Параметры
reasonId - идентификатор причины неоказания услуги из списка operation/denyReasons. Если список не пустой, параметр обязателен. Оператор должен выбрать причину неоказания услуги, если есть из чего выбирать
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/deny
Тело запроса:
{reasonId:"5FAABA93-F5A5-4ED5-8563-8BC15C647391"}
GET operation/denyReasons¶
Список причин неоказания услуги для метода operation/deny Настраивается в соответствии с бизнес-процессом конкретной организации. Может быть пустым.
Формат ответа
[{
"Id" : Guid, - идентификатор причины неоказания услуг
"Name" : String, - текст причины неоказания услуги
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/operation/denyReasons
Пример ответа
[
{
"Id":"5FAABA93-F5A5-4ED5-8563-8BC15C647391",
"Name":"Нет необходимых документов"
},
{
"Id":"4D99E51D-0A76-4A1F-A073-CE53B51C0D05",
"Name":"Посетитель ошибся в выборе услуги"
},
{
"Id":"D44B2E71-F1FE-48B7-9E1E-CFF4A4F52517",
"Name":"Техническая ошибка"
}
]
POST operation/hold¶
Перемещение обслуживаемого посетителя в персональную очередь
Параметры
holdMinutes - Интервал времени на которое происходит откладывание. Какой режим откладывания включён можно получить из метода operation/configuration/info
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/hold
POST operation/redirect¶
Перенаправление посетителя Можно перенаправить посетителя на другую услугу, к другому оператору и/или в другое окно. Также можно перенаправить посетителя с возвратом в текущее окно.
Параметры
menuLinkId - идентификатор услуги в меню из метода operation/menu. Указывается, если посетитель перенаправляется на другую услугу userId - идентификатор оператора из метода operation/redirect/users. Указывается, если посетитель перенаправляется к другому оператору. workPlaceId - идентификатор пульта оператора из метода operation/redirect/workplaces. Указывается если посетитель перенаправляется в другое окно (пульт оператора) return - перенаправление с возвратом. Указывается, если посетитель после перенаправления должен вернуться в окно, из которого был перенаправлен.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/redirect
Тело запроса:
{
"menuLinkId": "4c849ab6-d072-4e17-bd36-0198d1e8d5f7",
"userId": "5173e0a5-f83a-629c-e652-1e90c4c8104d",
"return": true
}
POST operation/redirect/users¶
Возвращает список операторов, к которым можно перенаправить посетителя.
Параметры
menuLinkId - идентификатор услуги в меню. Указывается, если в интерфейсе перенаправления уже выбрана услуга для перенаправления
workPlaceId - идентификатор пульта оператора. Указывается, если в интерфейсе перенаправления уже выбран пульт оператора для перенаправления
Формат ответа
[{
"Id": Guid, - идентификатор
"Name": String, - фамили и имя
"IsOnline": Bool, - пользователь выполнил вход в систему
"ExtraInfo": String - дополнительные данные (с какого рабочего места был выполнен вход в систему)
}]
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/redirect/users
Тело запроса:
{
"menuLinkId": "4c849ab6-d072-4e17-bd36-0198d1e8d5f7",
"workPlaceId": "c0e36a83-f4a4-4979-9e09-1be245078a2f",
}
Пример ответа
[{
"Id":"eef8829b-bc5c-0746-600b-73329eb99337",
"Name":"Зураб Лушов",
"IsOnline":true,
"ExtraInfo":"Окно 1"
},
{
"Id":"5173e0a5-f83a-629c-e652-1e90c4c8104d",
"Name":"Афанасий Аниулин",
"IsOnline":false,
"ExtraInfo":null
}]
POST operation/redirect/workplaces¶
Возвращает список рабочих мест, к которым можно перенаправить посетителя по указанной услуге
Параметры
menuLinkId - идентификатор услуги в меню. Указывается, если в интерфейсе перенаправления уже выбрана услуга для перенаправления
userId - идентификатор оператора. Указывается, если в интерфейсе перенаправления уже выбран оператор для перенаправления
Формат ответа
[{
"Id": Guid, - идентификатор
"Name": String, - название
"IsOnline": Bool, - с рабочего места был выполнен вход в систему
"ExtraInfo": String - фамилия и имя пользователя, выполневшего вход в систему
}]
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/redirect/workplaces/
Тело запроса
{
"menuLinkId": "4c849ab6-d072-4e17-bd36-0198d1e8d5f7"
"userId": "5173e0a5-f83a-629c-e652-1e90c4c8104d"
}
Пример ответа
[{
"Id":"87fd02f8-2b66-40ba-b0ed-b87e5cd73231",
"Name":"Окно 1",
"IsOnline":true,
"ExtraInfo":"Зураб Лушов"
},
{
"Id":"c0e36a83-f4a4-4979-9e09-1be245078a2f",
"Name":"Окно 2",
"IsOnline":false,
"ExtraInfo":null
}]
POST operation/editTicket/begin¶
Начало редактирования талона, который сейчас обслуживается. Вообще, сам процесс редактирования талона выполняется в три этапа: 1. Начало - вызов данного метода 2. Собственно редактирование - добавление и удаление услуг в талоне 3. Сохранение изменений или отмена - вызов метода operation/editTicket/apply или operation/editTicket/cancel
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/begin
Пример ответа
{
"Id":"7701cf5d-170e-40b4-95ec-a9df6d704dc0",
"Name":"Выдача транспортной карты",
"WillBeServed":true
}
POST operation/editTicket/add¶
Добавление услуги/маршрута в редактируемый талон
Параметры
parentId - идентификатор контейнера в талоне, внутрь которого нужно добавить услугу/маршрут. Если указан, услуга/маршрут добавляется в конец контейнера. Если не указан, услуга/маршрут добавляется рядом с текущей обслуживаемой услугой
menuLinkId - идентификатор услуги/маршрута в меню
multiplier - количество дел (множитель). По умолчанию - 1. Можно использовать только для услуг, у которых включен множитель
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/add
{menuLinkId:"8c498ad6-bd69-4057-9b1c-ae1d4709da8a"}
Пример ответа
{
"Id":"90fac041-fed6-452f-8087-e830c0819f04",
"Children": [{
"Id":"ce195d04-7a09-4314-bf22-f25ceebbc19d",
"Name":"Выдача транспортной карты",
"WillBeServed":true
},
{
"Id":"5c387ddc-9656-43f2-a729-4e130513d9f8",
"Name":"Фотографирование",
"WillBeServed":false,
"Type":2
}],
"Type":3
}
POST operation/editTicket/addBefore¶
Добавление услуги/маршрута в редактируемый талон в последовательный контейнер перед указанным элементом
Параметры
layoutItemId - идентификатор элемента в талоне, перед которым нужно добавить услугу/маршрут. Элемент обязательно должен находиться в последовательном контейнере
menuLinkId - идентификатор услуги/маршрута в меню
multiplier - количество дел (множитель). По умолчанию - 1. Можно использовать только для услуг, у которых включен множитель
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/addBefore
{layoutItemId:"72ef0104-33a1-4cfd-8d0e-acba3fa2272a",menuLinkId:"68561dba-ac70-432f-889b-5583ff8dca23"}
Пример ответа
{
"Id":"4e97b504-f8fc-488f-90db-076bf6c9a327",
"Children":[{
"Id":"bd02f633-e54e-4804-a6a9-ce7fc2be7c6c",
"Name":"Выдача транспортной карты",
"WillBeServed":true
},
{
"Id":"a7b62ee5-5179-4d91-ad8c-b44286264658",
"Name":"Стрижка",
"WillBeServed":false,
"Type":2
},{
"Id":"72ef0104-33a1-4cfd-8d0e-acba3fa2272a",
"Name":"Фотографирование",
"WillBeServed":false,
"Type":2
}],
"Type":4
}
POST operation/editTicket/addParallel¶
Добавление услуги/маршрута в редактируемый талон как параллельный к указанной услуге в талоне Метод вызывается, когда оператору нужно создать вложенный параллельный контейнер. Например, чтобы расширить этап маршрута, состоящий из одной услуги.
Параметры
ticketProductId - идентификатор услуги в талоне. Услуга талона обязательно должна находиться в корне или в последовательном контейнере
menuLinkId - идентификатор услуги/маршрута в меню
multiplier - количество дел (множитель). По умолчанию - 1. Можно использовать только для услуг, у которых включен множитель
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/addParallel
{ticketProductId:"8ea37d30-cfac-4420-aae8-73e83e68bd0c",menuLinkId:"e7ea3803-0d25-4d9d-a93f-4b1f160c5ed3"}
Пример ответа
{
"Id":"60e7c741-4e66-4284-8e3a-ea89d0b76161",
"Children":[{
"Id":"8ea37d30-cfac-4420-aae8-73e83e68bd0c",
"Name":"Выдача транспортной карты",
"WillBeServed":true
},{
"Id":"0c4e50a2-9697-400b-a843-1382389646f6",
"Name":"Фотографирование",
"WillBeServed":false,
"Type":2
}],
"Type":3
}
POST operation/editTicket/addSequential¶
Добавление услуги/маршрута в редактируемый талон как последовательный к указанной услуге в талоне Метод вызывается, когда оператору нужно создать вложенный последовательный контейнер. Например, чтобы добавить услугу, которая будет обслуживаться после указанной.
Параметры
ticketProductId - идентификатор услуги в талоне. Услуга талона обязательно должна находиться в корне или в параллельном контейнере
menuLinkId - идентификатор услуги/маршрута в меню
multiplier - количество дел (множитель). По умолчанию - 1. Можно использовать только для услуг, у которых включен множитель
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/addSequential
{
ticketProductId:"5ee4df85-9354-4ce7-b069-baf0152995cd",
menuLinkId:"d97e5fc5-d765-4f75-8fe5-d1dfa1373988"
}
Пример ответа
{
"Id":"db1af9aa-a626-48c6-8401-2589c8045853",
"Children":[{
"Id":"89b1bd6c-3bc9-46af-b592-ed1df9993b4e",
"Name":"Выдача транспортной карты",
"WillBeServed":true
},
{
"Id":"c5fea7f3-005b-4ee2-80d5-69c508fb24c4",
"Name":"Фотографирование",
"WillBeServed":false,
"Type":2
}],
"Type":4
}
POST operation/editTicket/addReturnable¶
Добавление возвратной услуги в редактируемый талон Метод вызывается, когда оператор хочет вернуть к себе посетителя после того, как тот обслужится по всем услугам, которые оператор добавил в талон.
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/addReturnable
Пример ответа
{
"Id":"1c49a14a-5d4b-430d-9227-439990164255",
"Children":[{
"Id":"7e3f43bb-58cb-470f-b7a4-1aa4dc801803",
"Name":"Выдача транспортной карты",
"WillBeServed":true
},{
"Id":"3ff2d9cf-91a5-4184-a965-02c65f3ddbf2",
"Name":"Фотографирование",
"WillBeServed":false,
"Type":2
},{
"Id":"7336431d-3641-4673-a12c-942992e14aac",
"Name":"Выдача транспортной карты",
"WillBeServed":false,
"ToWorkPlace":"Окно 1",
"Type":2
}],
"Type":4
}
POST operation/editTicket/remove¶
Удаление услуги из редактируемого талона
Параметры
ticketProductId - идентификатор услуги в талоне. Из талона можно удалять только услуги, но не контейнеры целиком. Удалять текущую обслуживаемую услугу нельзя.
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/remove
{ticketProductId:"5c387ddc-9656-43f2-a729-4e130513d9f8"}
Пример ответа
{
"Id":"7701cf5d-170e-40b4-95ec-a9df6d704dc0",
"Name":"Выдача транспортной карты",
"WillBeServed":true
}
POST operation/editTicket/apply¶
Завершение редактирования талона с сохранением изменений Метод вызывается, когда оператор нажимает «Сохранить» после того, как отредактировал талон. Все внесенные изменения применяются.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/apply
POST operation/editTicket/cancel¶
Завершение редактирования талона без сохранения изменений Метод вызывается, когда оператор нажимает «Отмена» после того, как отредактировал талон. Все внесенные изменения сбрасываются.
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/cancel
POST operation/editTicket/setPriority¶
Изменение приоритета услуги. Метод вызывается, когда оператор нажимает «Отмена» после того, как отредактировал талон. Все внесенные изменения сбрасываются.
Параметры
ticketProductId - идентификатор услуги в талоне.
priority - Приоритет услуги (0-3).
Формат ответа
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/editTicket/setPriority
{
ticketProductId:"5c387ddc-9656-43f2-a729-4e130513d9f8",
priority:0
}
Пример ответа
{
"Id":"7701cf5d-170e-40b4-95ec-a9df6d704dc0",
"Name":"Выдача транспортной карты",
"WillBeServed":true
}
Сервисы для администратора зала (Enter)¶
POST queue/admin/login/:login/:password¶
Возвращает токен авторизации, заключённый в кавычки. Метод выполняется перед вызовом других методов API администратора зала. Полученный ответ нужно добавлять в HTTP заголовок Authorization при вызове других методов этого сервиса. Время жизни ключа авторизации при неактивности по-умолчанию: 15 минут. Этот параметр можно изменить в конфигурациионном файле сервера.
Параметры
login - Имя пользователя оператора
password - Пароль
Формат ответа
"Guid" - токен авторизации
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/login/4/1
Пример ответа
"2f0019e2-d9a2-4ccc-afef-a33d96f6b846"
GET queue/admin/tickets¶
Получение списка талонов в очереди за текущий день.
Формат ответа
[{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние (ticketStates)
"Products": [] - услуги в талоне (ticketProduct)
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/queue/admin/tickets
Пример ответа
[{
"Id":"b0e5c703-2b78-4564-ad97-e08b43b1a7ce",
"Created":"2014-08-15T15:19:18.593",
"PinCode":"657323",
"Prefix":"П",
"Number":1,
"FullNumber":"П1",
"State":1,
"Products":[{
"Id":"81672e1c-e438-4e67-8ea0-7572ce69d056",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"Created":"2014-08-15T15:19:18.627",
"StartTime":"2014-08-15T15:19:20.157",
"IsPending":false,
"Ticket":null,
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[{
"Id":"4a8ff7e7-1450-276f-bfb9-ff173e2bc26b",
"Name":"Телефон",
"Type":1,
"Mask":"+7(000)0000000",
"ReferenceSource":null,
"Products":null
}],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":10,
"Color":"#ff7f00",
"Id":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"ProductCategoryId":"732ffa3f-f585-471d-bb6c-68429de96823",
"IntegrationId":"75",
"RecordLimit":5,
"ServerId":null
},
"ProductId":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"State":6,
"CurrentPriority":0,
"TicketProductDataFields":[]
}]
}]
GET queue/admin/booking¶
Возвращает все талоны предварительной записи, сгруппированные по дням.
Формат ответа
[{
"date": DateTime, - день, по которому сгруппированы талоны
"tickets": [{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние (ticketStates)
"Products": [] - услуги в талоне (ticketProduct)
}]
}]
Пример запроса
http://enter.suo.club:8002/api/1/queue/admin/booking
Пример ответа
[
{
"date":"2014-08-19T00:00:00",
"tickets":[
{
"Id":"9b81d6a3-c8b6-44aa-8b04-9e5341845a78",
"Created":"2014-08-18T14:28:46.907",
"PinCode":"341305",
"Prefix":"И",
"Number":1,
"FullNumber":"И1",
"State":2,
"Products":[
{
"Id":"696d726b-08db-4615-8f96-c8528011d02e",
"Name":"Беспл.информ-е налогоплат-ков:о налогах и сборах,закон-ве о налогах и сборах и принятых в соотв-вии с ним НПА;о полномочиях налог-х органов и их должн.лиц;о порядке исчисления и уплаты налогов и сборов,правах и обязан-тях налогоплат-ков,формах,форматах,порядке и сроках представления налог-х деклар-й(расчетов);о реквиз.соответ-щих счетов Казнач-ва РФ и об измен-х указ-х реквиз.;о свед-х,необх-х для заполн-я поруч-й на перечисл.налогов,сборов,пеней и штрафов в бюдж.систему РФ",
"Created":"2014-08-18T14:28:46.907",
"StartTime":"2014-08-19T08:00:00",
"IsPending":true,
"Ticket":null
"Product":{
"Prefix":"И",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":5,
"Color":null,
"Id":"7ef077a7-2c3b-44b1-a8e6-6bc4400841f7",
"Name":"Беспл.информ-е налогоплат-ков:о налогах и сборах,закон-ве о налогах и сборах и принятых в соотв-вии с ним НПА;о полномочиях налог-х органов и их должн.лиц;о порядке исчисления и уплаты налогов и сборов,правах и обязан-тях налогоплат-ков,формах,форматах,порядке и сроках представления налог-х деклар-й(расчетов);о реквиз.соответ-щих счетов Казнач-ва РФ и об измен-х указ-х реквиз.;о свед-х,необх-х для заполн-я поруч-й на перечисл.налогов,сборов,пеней и штрафов в бюдж.систему РФ",
"ProductCategoryId":"afc603f9-ff48-4ef0-bb22-af2d25d3d2ef",
"IntegrationId":"2",
"RecordLimit":0,
"ServerId":null
},
"ProductId":"7ef077a7-2c3b-44b1-a8e6-6bc4400841f7",
"State":4,
"CurrentPriority":1,
"TicketProductDataFields":[]
}
]
},
{
"Id":"45395f65-65dd-4644-9bc5-b782ac98605b",
"Created":"2014-08-18T15:09:04.47",
"PinCode":"515128",
"Prefix":"П",
"Number":1,
"FullNumber":"П1",
"State":1,
"Products":[
{
"Id":"1b19e11d-b1ac-4c4b-8602-c712a52110bc",
"Name":"Ведение реестра хозяйствующих субъектов, имеющих долю на рынке определенного товара в размере более чем 35% или занимающих доминирующее положение на рынке определенного товара, если в отношении такого рынка другими федеральными законами установлены случаи признания доминирующим положения хозяйствующих субъектов",
"Created":"2014-08-18T15:09:04.47",
"StartTime":"2014-08-19T08:15:00",
"IsPending":true,
"Ticket":null
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":15,
"Color":null,
"Id":"92f7f4d3-2a9d-4e46-8bbe-149164f830d5",
"Name":"Ведение реестра хозяйствующих субъектов, имеющих долю на рынке определенного товара в размере более чем 35% или занимающих доминирующее положение на рынке определенного товара, если в отношении такого рынка другими федеральными законами установлены случаи признания доминирующим положения хозяйствующих субъектов",
"ProductCategoryId":"23861353-53c0-4bc2-91e1-831647fb0306",
"IntegrationId":"3",
"RecordLimit":0,
"ServerId":null
},
"ProductId":"92f7f4d3-2a9d-4e46-8bbe-149164f830d5",
"State":3,
"CurrentPriority":2,
"TicketProductDataFields":[]
}
]
}
]
}
]
GET queue/admin/tickets/:ticketId¶
Получение информации о талоне по его идентификатору
Параметры
ticketId - идентификатор талона
Формат ответа
{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние (ticketStates)
"Products": [] - услуги в талоне (ticketProduct)
}
Пример запроса
GET http://enter.suo.club:8002/api/1/queue/admin/tickets/b0e5c703-2b78-4564-ad97-e08b43b1a7ce
Пример ответа
{
"Id":"b0e5c703-2b78-4564-ad97-e08b43b1a7ce",
"Created":"2014-08-15T15:19:18.593",
"PinCode":"657323",
"Prefix":"П",
"Number":1,
"FullNumber":"П1",
"State":1,
"Products":[{
"Id":"81672e1c-e438-4e67-8ea0-7572ce69d056",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"Created":"2014-08-15T15:19:18.627",
"StartTime":"2014-08-15T15:19:20.157",
"IsPending":false,
"Ticket":null
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[{
"Id":"4a8ff7e7-1450-276f-bfb9-ff173e2bc26b",
"Name":"Телефон",
"Type":1,
"Mask":"+7(000)0000000",
"ReferenceSource":null,
"Products":null
}],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":10,
"Color":"#ff7f00",
"Id":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"Name":"Организация исполнения поступивших из-за рубежа социально-правовых запросов российских и иностранных граждан, а также лиц без гражданства, связанных с реализацией их законных прав и свобод",
"ProductCategoryId":"732ffa3f-f585-471d-bb6c-68429de96823",
"IntegrationId":"75",
"RecordLimit":5,
"ServerId":null
},
"ProductId":"c6e7b6e7-a3dd-4b6a-ba4f-00c8d6c7a276",
"State":6,
"CurrentPriority":0,
"TicketProductDataFields":[]
}]
}
POST queue/admin/tickets/new¶
Создание нового талона и постановка его в очередь. Возвращает информацию о созданном талоне.
Параметры
Должен быть указан хотя бы один из параметров
products - список объектов, содержащих идентификатор услуги и, опционально, приоритет (0-3). Пример: [{"product_id": "1", "priority": "1"}, {"product_id": "2"}] Если приоритет не указан, он будет установлен значением по-умолчанию (0).
menu_link_ids - массив идентификаторов элементов меню выбора услуг
Формат ответа
{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние ()
"Products": [] - услуги в талоне (ticketProduct)
}
Пример запроса
http://enter.suo.club:8002/api/1/queue/admin/tickets/new
menu_link_ids=["73342836-5695-2cab-71ef-8103d6e7a27f","73342836-5695-2cab-71ef-8103d6e7a27f","73342836-5695-2cab-71ef-8103d6e7a27f"]
Пример ответа
{
"Id": "66bee96d-1124-4c10-9335-d2a7be0e2b90",
"Created": "2014-08-19T13:58:24.5955183+06:00",
"PinCode": "223956",
"Prefix": "M",
"Number": 2,
"FullNumber": "M2",
"State": 1,
"Products": [
{
"Id": "42491fad-8261-4ab7-a646-66aac980eaaa",
"Name": "Консультирование по вопросам оформления и выдачи паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации на территории Российской Федерации",
"Created": "2014-08-19T13:58:24.5955183+06:00",
"StartTime": "2014-08-19T13:58:24.5955183+06:00",
"IsPending": false,
"Ticket": null,
"Product": {
"Prefix": "И",
"ActiveTickets": 0,
"TicketCount": -2,
"RequiredFields": [],
"AliveScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays": null,
"DefaultServiceMinutes": 10,
"Color": null,
"Id": "41e7447e-a620-4f4c-8413-c4eda755ba50",
"Name": "Консультирование по вопросам оформления и выдачи паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации на территории Российской Федерации",
"ProductCategoryId": "afc603f9-ff48-4ef0-bb22-af2d25d3d2ef",
"IntegrationId": "67",
"RecordLimit": 0,
"ServerId": null
},
"ProductId": "41e7447e-a620-4f4c-8413-c4eda755ba50",
"State": 3,
"CurrentPriority": 0,
"TicketProductDataFields": []
},
{
"Id": "2aae889f-8421-4995-b267-edc942c3f456",
"Name": "Предоставление информации об объектах бытового обслуживания населения Республики Башкортостан",
"Created": "2014-08-19T13:58:24.5955183+06:00",
"StartTime": "2014-08-19T13:58:24.5955183+06:00",
"IsPending": false,
"Ticket": null
"Product": {
"Prefix": "И",
"ActiveTickets": 0,
"TicketCount": -2,
"RequiredFields": [],
"AliveScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays": null,
"DefaultServiceMinutes": 10,
"Color": null,
"Id": "d785052c-8c8a-4f51-ba57-cacec7e14763",
"Name": "Предоставление информации об объектах бытового обслуживания населения Республики Башкортостан",
"ProductCategoryId": "afc603f9-ff48-4ef0-bb22-af2d25d3d2ef",
"IntegrationId": "178",
"RecordLimit": 0,
"ServerId": null
},
"ProductId": "d785052c-8c8a-4f51-ba57-cacec7e14763",
"State": 3,
"CurrentPriority": 1,
"TicketProductDataFields": []
},
{
"Id": "e6bd6005-d528-4047-8205-3a095495bee2",
"Name": "Прием запроса на проведение сверки расчетов с налогоплательщиками",
"Created": "2014-08-19T13:58:24.5955183+06:00",
"StartTime": "2014-08-19T13:58:24.5955183+06:00",
"IsPending": false,
"Ticket": null
"Product": {
"Prefix": "П",
"ActiveTickets": 0,
"TicketCount": -2,
"RequiredFields": [],
"AliveScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId": "802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays": null,
"DefaultServiceMinutes": 15,
"Color": null,
"Id": "ccf9214d-b710-40c1-a380-3b75b049c591",
"Name": "Прием запроса на проведение сверки расчетов с налогоплательщиками",
"ProductCategoryId": "268951c9-29f3-4366-8f48-47fde9c27586",
"IntegrationId": "219",
"RecordLimit": 0,
"ServerId": null
},
"ProductId": "ccf9214d-b710-40c1-a380-3b75b049c591",
"State": 3,
"CurrentPriority": 2,
"TicketProductDataFields": []
}
]
}
POST queue/admin/tickets/:ticketId/addProduct/:productId¶
Добавление услуги в талон. Возвращает созданный объект.
Параметры
ticketId - идентификатор талона
productId - идентификатор услуги
priority - приоритет для добавляемой услуги.
Формат ответа
{
"Id": Guid, - идентификатор талона
"Created": DateTime, - время создания
"PinCode": String, - pin-код
"Prefix": String, - префикс номера
"Number": Int, - номер
"FullNumber": String, - полный номер талона (префикс + номер)
"State": Int, - состояние (ticketStates)
"Products": [] - услуги в талоне (ticketProduct)
}
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/tickets/56ba1007-ab8c-42b4-a48e-0bf605d84844/addProduct/38a99730-adcb-4f4b-98b4-2bc8981eff13
Параметр: priority=1
Пример ответа
{
"Id":"56ba1007-ab8c-42b4-a48e-0bf605d84844",
"Created":"2014-08-15T15:19:28.47",
"PinCode":"463678",
"Prefix":"П",
"Number":2,
"FullNumber":"П2",
"State":1,
"Products":[{
"Id":"5ab8d0fd-4e9a-4d9d-af78-308ffe974e77",
"Name":"Предоставление недостающих документов",
"Created":"2014-08-15T15:19:28.487",
"StartTime":"2014-08-15T15:19:29.72",
"IsPending":false,
"Ticket":null,
"Product":{
"Prefix":"П",
"ActiveTickets":0,
"TicketCount":-2,
"RequiredFields":[{
"Id":"d4e807a6-2b43-fb85-3c74-5a1505d0fcee",
"Name":"Телефон",
"Type":1,
"Mask":"+7(000) 000 0000",
"ReferenceSource":null,
"Products":null
},
{
"Id":"dd637805-1a9f-50b6-1662-bfa3d8000d6e",
"Name":"Имя",
"Type":1,
"Mask":null,
"ReferenceSource":null,
"Products":null
},
{
"Id":"bf219843-7bad-0201-2bdd-ea4ce7067499",
"Name":"Фамилия",
"Type":1,
"Mask":null,
"ReferenceSource":null,
"Products":null
}],
"AliveScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordScheduleId":"802ed805-831f-98e9-b6f1-eaf90d74571f",
"RecordDays":null,
"DefaultServiceMinutes":15,
"Color":"#AAAAAA",
"Id":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"Name":"Предоставление недостающих документов",
"ProductCategoryId":"4bd41871-bd57-43c6-8b15-1a88db559dba",
"IntegrationId":"326",
"RecordLimit":0,
"ServerId":null
},
"ProductId":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"State":9,
"CurrentPriority":0,
"TicketProductDataFields":[]
},
{
"Id":"02e66a16-b983-459d-94be-f1ce57f524bc",
"Name":"Предоставление недостающих документов",
"Created":"2014-08-15T17:23:03.7772718+06:00",
"StartTime":"2014-08-15T17:23:03.7772718+06:00",
"IsPending":false,
"Ticket":null,
"Product":{
},
"ProductId":"38a99730-adcb-4f4b-98b4-2bc8981eff13",
"State":3,
"CurrentPriority":1,
"TicketProductDataFields":[]
}]
}
POST queue/admin/tickets/:ticketId/:ticketProductId/cancel¶
Отмена услуги в талоне
Параметры
ticketId - идентификатор талона
ticketProductId - идентификатор услуги
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/tickets/b0e5c703-2b78-4564-ad97-e08b43b1a7ce/81672e1c-e438-4e67-8ea0-7572ce69d056/cancel
POST queue/admin/tickets/:ticketId/:ticketProductId/setPriority¶
Установка приоритета услуги в талоне
Параметры
ticketId - идентификатор талона
ticketProductId - идентификатор услуги
priority - приоритет для добавляемой услуги (0-3).
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/tickets/48bdc859-3d5d-4f0a-953f-0190fca66a3f/1dccbc1d-77ec-4a2f-8c59-3ce8153d98f9/setPriority
Параметры: priority=3
POST queue/admin/redirect/users/:productId¶
Возвращает список операторов, к которым можно перенаправить посетителя по указанной услуге.
Параметры
productId - идентификатор
workPlaceId - идентификатор целевого пульта оператора
Формат ответа
[{
"Id": Guid, - идентификатор
"Name": String, - фамили и имя
"IsOnline": Bool, - пользователь выполнил вход в систему
"ExtraInfo": String - дополнительные данные (с какого рабочего места был выполнен вход в систему)
}]
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/redirect/users/4c849ab6-d072-4e17-bd36-0198d1e8d5f7
Параметр: workPlaceId=c0e36a83-f4a4-4979-9e09-1be245078a2f
Пример ответа
[{
"Id":"eef8829b-bc5c-0746-600b-73329eb99337",
"Name":"Зураб Лушов",
"IsOnline":true,
"ExtraInfo":"Окно 1"
},
{
"Id":"5173e0a5-f83a-629c-e652-1e90c4c8104d",
"Name":"Афанасий Аниулин",
"IsOnline":false,
"ExtraInfo":null
}]
POST queue/admin/redirect/workPlaces/:productId¶
Возвращает список рабочих мест, к которым можно перенаправить посетителя по указанной услуге
Параметры
menuLinkId - идентификатор услуги
userId - идентификатор целевого оператора
Формат ответа
[{
"Id": Guid, - идентификатор
"Name": String, - название
"IsOnline": Bool, - с рабочего места был выполнен вход в систему
"ExtraInfo": String - фамилия и имя пользователя, выполневшего вход в систему
}]
Пример запроса
POST http://enter.suo.club:8002/api/1/queue/admin/redirect/workplaces/4c849ab6-d072-4e17-bd36-0198d1e8d5f7
Параметры: userId=5173e0a5-f83a-629c-e652-1e90c4c8104d
Пример ответа
[{
"Id":"87fd02f8-2b66-40ba-b0ed-b87e5cd73231",
"Name":"Окно 1",
"IsOnline":true,
"ExtraInfo":"Зураб Лушов"
},
{
"Id":"c0e36a83-f4a4-4979-9e09-1be245078a2f",
"Name":"Окно 2",
"IsOnline":false,
"ExtraInfo":null
}]
POST queue/admin/redirect/:productId¶
Перенаправление посетителя
Параметры
productId - идентификатор услуги
userId - идентификатор оператора
workPlaceId - идентификатор пульта оператора
return - перенаправление с возвратом
priority - приоритет
Пример запроса
POST http://enter.suo.club:8002/api/1/operation/redirect/4c849ab6-d072-4e17-bd36-0198d1e8d5f7
Параметры: userId=5173e0a5-f83a-629c-e652-1e90c4c8104d&return=true
Краткая статистика (Enter)
GET queue/statistics¶
Получение сводных данных по работе очереди
Формат ответа
{
"ActiveWorkPlacesCount": Integer, - количество активных рабочих мест
"AverageAwaitingTime": Double, - среднее время ожидания за сегодня (в секундах)
"CompletedTickets":[], - количество обслуженных клиентов с разбивкой по часам (completedTickets)
"CompletedTicketsCount": Integer, - количество обслуженных сегодня клиентов
"Errors":[], - ошибки (serverError)
"PendingTicketsCount": Integer - количество клиентов в очереди
}
Количество обслуженных клиентов
Пример запроса
GET http://enter.suo.club:8002/api/1/queue/statistics
Пример ответа
{
"ActiveWorkPlacesCount":1,
"AverageAwaitingTime":12725.0,
"CompletedTickets":[{
"Hour":8,
"Load":0
},
{
"Hour":9,
"Load":0
},
{
"Hour":10,
"Load":0
},
{
"Hour":11,
"Load":0
},
{
"Hour":12,
"Load":0
},
{
"Hour":13,
"Load":null
},
{
"Hour":14,
"Load":null
},
{
"Hour":15,
"Load":null
},
{
"Hour":16,
"Load":null
},
{
"Hour":17,
"Load":null
},
{
"Hour":18,
"Load":null
},
{
"Hour":19,
"Load":null
}],
"CompletedTicketsCount":0,
"Errors":[{
"Id":"6e4a0d25-286f-4bb3-9275-a13b84c1f4e4",
"Key":"Ошибка",
"Value":"Нет активных систем оповещения"
}],
"PendingTicketsCount":2
}
GET queue/statistics/history¶
Получение показателей обслуживания за период
Параметры
startDate - Начало периода в формате дд.мм.гггг
endDate - Окончание периода в формате дд.мм.гггг
GET queue/tickets/history/list?startDate={startDate}&endDate={endDate}¶
Список талонов за интервал
Параметры
startDate - Начало периода в формате дд.мм.гггг
endDate - Окончание периода в формате дд.мм.гггг
Формат ответа
{
"Id": Guid, - идентификатор
"TicketNumber": String, - полный номер (префикс + номер)
"IsPending": Bool, - True - талон по записи, False - живая очередь
"StartTime": DateTime, - дата время регистрации(или время записи)
"Product": - услуга
{
"Id": Guid, - идентификатор услуги
"Name": String, - название услуги
},
"AwaitingDuration": Double, - опциональный, время ожидания в секундах
"OperatingDuration": Double, - опциональный, время обслуживания в секундах
"State": Integer, - состояние талона (ticketProductStates)
"WorkPlace": - опциональный, пульт оператора
{
"Id": Guid, - идентификатор рабочего места
"Name": String, - название рабочего места
},
"User": - опциональный, оператор
{
"Id": Guid, - идентификатор пользователя
"FullName": String, - Имя Фамилия
"LoginName": String, - логин
},
"ServiceRating": Integer - опциональный, оценка качества обслуживания (от 0 до 4 включительно)
}
Пример запроса
http://enter.suo.club:8002/api/1/queue/tickets/history/list?startDate=1.05.2015&endDate=1.06.2015
Пример ответа
[
{
"Id":"a46c6e8f-8194-4a65-8934-51a7e5ff4a37",
"TicketNumber":"1",
"IsPending":false,
"StartTime":"2015-05-25T11:23:03.227",
"Product":
{
"Id":"513f1355-0438-45a0-90de-4b6df6eee7f3",
"Name":"Прием заявлений и выдача документов о согласовании переустройства и (или) перепланировки жилого помещения…"
},
"AwaitingDuration":null,
"OperatingDuration":null,
"State":3,
"WorkPlace":
{
"Id":"0cd5bca5-e27d-4ce1-bb53-f02cf990c3fe",
"Name":"Окно 13"
},
"User":
{
"Id":"7e1761cf-9b97-f07c-ae5d-1f4a91a8d161",
"FullName":"oper7 oper7",
"LoginName":"oper7"
},
"ServiceRating":2
}
]
GET queue/awaiting¶
Получение прогнозируемого времени обслуживания. При указании идентификатора услуги, выполняет расчет по операторам, способным обслужить данную услугу; иначе выполняет расчет по всем работающим операторам. Возвращает среднее время ожидания в секундах, либо -1, если посетитель не может быть обслужен сегодня.
Параметры
productId - Идентификатор услуги
Формат ответа
int - прогнозируемое время ожидания (в секундах). Если -1, значит, посетитель не может быть обслужен сегодня
Пример запроса
http://enter.suo.club:8002/api/1/queue/awaiting?productId=3533f077-ae44-4d2f-bf6f-d0f012053dbf
Пример ответа
1039
Краткая статистика (CEnter)¶
GET queue/statistics¶
Получение списка очередей, включающего сводные данные по работе каждой из них.
Формат ответа
[
{
"ServerId": Guid, - идентификатор филиала
"ServerName": String, - название филиала
"AverageAwaitingTime": Double, - среднее время ожидания за сегодня (в секундах)
"ActiveWorkPlacesCount": Integer, - количество активных рабочих мест
"CompletedTicketsCount": Integer, - количество обслуженных сегодня клиентов
"PendingTicketsCount": Integer, - количество клиентов в очеред
"Errors":[], - ошибки (serverError)
"CompletedTickets":[] - количество обслуженных клиентов с разбивкой по часам (completedTickets)
}
]
Количество обслуженных клиентов
Пример запроса
GET http://center.suo.club:82/api/1/queue/statistics
Пример ответа
[
{
"ServerId":"198b4cf4-e923-66e4-e02e-164b24b56f5c",
"ServerName":null,
"AverageAwaitingTime":0.0,
"ActiveWorkPlacesCount":0,
"CompletedTicketsCount":0,
"PendingTicketsCount":0,
"Errors":[
{
"Id":"26e87ede-8b5e-45e7-b9fc-aa7a9c766691",
"Key":"Ошибка",
"Value":"Отсутствует соединение"
}
],
"CompletedTickets":null
},
{
"ServerId":"48f427d0-15df-7b28-d5ce-63b455984eb4",
"ServerName":null,
"AverageAwaitingTime":0.0,
"ActiveWorkPlacesCount":0,
"CompletedTicketsCount":0,
"PendingTicketsCount":0,
"Errors":[],
"CompletedTickets":null
},
{
"ServerId":"dcf1f954-6c4e-81b6-1a78-1a6a3a06a1fa",
"ServerName":null,
"AverageAwaitingTime":0.0,
"ActiveWorkPlacesCount":0,
"CompletedTicketsCount":0,
"PendingTicketsCount":0,
"Errors":[],
"CompletedTickets":null
},
{
"ServerId":"a24e0a54-c27c-daf3-9bc5-d6ef13268a6d",
"ServerName":"Площадка №1",
"AverageAwaitingTime":14870.0,
"ActiveWorkPlacesCount":1,
"CompletedTicketsCount":0,
"PendingTicketsCount":2,
"Errors":[],
"CompletedTickets":[
{
"Hour":8,
"Load":0
},
{
"Hour":9,
"Load":0
},
{
"Hour":10,
"Load":0
},
{
"Hour":11,
"Load":0
},
{
"Hour":12,
"Load":0
},
{
"Hour":13,
"Load":null
},
{
"Hour":14,
"Load":null
},
{
"Hour":15,
"Load":null
},
{
"Hour":16,
"Load":null
},
{
"Hour":17,
"Load":null
},
{
"Hour":18,
"Load":null
},
{
"Hour":19,
"Load":null
}
]
}
]
GET queue/load¶
Получение сводных данных по работе всей сети очередей.
Формат ответа
{
"CommonStatistics":{
"RunningServersCount": Integer, - количество подключенных филиалов
"PendingTicketsCount": Integer, - количество клиентов в очеред
"CompletedTicketsCount": Integer, - количество обслуженных сегодня клиентов
"ActiveWorkPlacesCount": Integer - количество активных рабочих мест
},
"Load":{
"Min":Integer, - минимальное количество клиентов в одно время
"Max": Integer - максимальное количество клиентов в одно время
}
}
Пример запроса
GET http://center.suo.club:82/api/1/queue/load
Пример ответа
{
"CommonStatistics":{
"RunningServersCount":1,
"PendingTicketsCount":11,
"CompletedTicketsCount":0,
"ActiveWorkPlacesCount":1
},
"Load":{
"Min":0,
"Max":0
}
}
GET queue/statistics/history¶
Получение показателей обслуживания за период
Параметры
startDate - Начало периода в формате дд.мм.гггг
endDate - Окончание периода в формате дд.мм.гггг
serverIds - Идентификаторы серверов, перечисленные через запятую
Справочные данные (Enter)¶
GET config/workPlaces¶
Получение списка рабочих мест
Формат ответа
[{
"Id":Guid,
"ClientId":string,
"Name":string,
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/config/workPlaces
Пример ответа
[{
"Id":"5ffef183-569b-8b41-0b21-a55d84495a9b",
"ClientId":"admin1","Name":"admin"
},
{
"Id":"4febd10b-c950-e47f-ea61-d13f422183cb",
"ClientId":"admin","Name":"Администратор"
},
{
"Id":"0d405ba2-dd3c-47c7-a17f-5fe51ad25f4a",
"ClientId":"adm1","Name":"Администратор 1"
},
{
"Id":"7dcb5bd9-7887-9608-e3a5-54afa75a216e",
"ClientId":"armz",
"Name":"Кабинет 111"
},
{
"Id":"032c7d22-56d1-43f7-850f-d72233bf7bf0",
"ClientId":"arm1",
"Name":"Окно 1"
},
{
"Id":"59435d40-e426-4abb-b2d0-ba837c329ac1",
"ClientId":"arm2",
"Name":"Окно 2"
},
{
"Id":"e5f58a83-9cb2-47b6-b8f5-bc32f12401a5",
"ClientId":"arm3",
"Name":"Окно 3"},
{
"Id":"5d417f70-0639-4122-952f-844de745c937",
"ClientId":"arm5",
"Name":"Окно 4"
},
{
"Id":"3c4f89b5-6dff-4dcc-a009-88fb38d4cc14",
"ClientId":"arm4",
"Name":"Окно 4"
},
{
"Id":"1ab611d0-25fd-4743-b8ad-7c02221ee4ae",
"ClientId":"arm6",
"Name":"Окно 6"
},
{
"Id":"4822ed00-e11c-51b0-0274-30bb548a5be0",
"ClientId":"arm7",
"Name":"Окно 7"
},
{
"Id":"87740449-a0e6-4ea0-b857-f9d644cd8ee7",
"ClientId":"arm8",
"Name":"Окно 8"
},
{
"Id":"296f0f76-faf9-4189-9e1a-43b1362e9c8d",
"ClientId":"arm9",
"Name":"Окно 9"
},
{
"Id":"ebe27626-5594-4e8c-9b2d-4d92a51eb57f",
"ClientId":"arm10",
"Name":"Окно 10"
},
{
"Id":"ab50d872-6159-485c-9571-9c3168d5553e",
"ClientId":"arm11",
"Name":"Окно 11"
},
{
"Id":"e4decf03-28f6-47f2-a05e-7202301c13cf",
"ClientId":"arm12",
"Name":"Окно 12"
},
{
"Id":"0cd5bca5-e27d-4ce1-bb53-f02cf990c3fe",
"ClientId":"arm13",
"Name":"Окно 13"
},
{
"Id":"984e198b-8409-a62b-2f1b-d95ca72d0150",
"ClientId":"operatortest",
"Name":"Окно 45"
},
{
"Id":"23a74e75-9826-ae5c-f833-5e8be40c9d7d",
"ClientId":"arm62",
"Name":"Окно 62"
},
{
"Id":"56082df5-9441-ab42-7e0c-7587235a1f0c",
"ClientId":"arm73",
"Name":"Окно 73"
},
{
"Id":"4a056e16-22eb-b362-76ef-f5a2b222b0fe",
"ClientId":"arm74",
"Name":"Окно 74"
},
{
"Id":"2f27f31f-bbe5-dcec-f103-ee6c5b49792b",
"ClientId":"arm75",
"Name":"Окно 75"
},
{
"Id":"a71371e3-8085-7767-4d62-33de253613ff",
"ClientId":"pult89",
"Name":"Окно 89 (МФЦ)"
},
{
"Id":"189a4134-f8c3-0b55-3ebb-d21e8e71d6a9",
"ClientId":"arm_sys-test",
"Name":"Окно 108"
},
{
"Id":"d2b941ec-bf4e-1761-9210-4da0232f43fb",
"ClientId":"arm_sys-test2",
"Name":"Окно 109"
},
{
"Id":"dbf61393-f062-8397-29c2-86e454938bac",
"ClientId":"arm200",
"Name":"Окно 200"
},
{
"Id":"20254054-b875-d47c-e836-5f318024d5d1",
"ClientId":"At-consulting2",
"Name":"Окно 999"
},
{
"Id":"663dbe50-7c08-2ccc-f49e-602f0fa3e7e8",
"ClientId":"arm11111",
"Name":"Регистратура"
}
]
GET config/products¶
Получение списка услуг, зарегистрированных в очереди
Формат ответа
[{
"Id": Guid,
"Name": String,
"ProductCategoryId": Guid, - опциональный, идентификатор категории услуг
"IntegrationId": String, - идентификатор для интеграции с другими ИС
"RecordLimit": Int, - ограничение предварительной записи
"Prefix": String, - префикс
"TicketCount": Int, - число талонов в день (-1 - бесконечно, -2 - автоматически)
"RequiredFields": Элемент дополнительных данных услуги, - необходимые дополнительные данные
"AliveScheduleId": Guid, - опциональный, идентификатор расписания приёма по живой очереди
"RecordScheduleId": Guid, - опциональный, идентификатор расписания приёма по записи
"Color": String - оциональный, цвет
"RecordDays": Int, - опциональный, ограничение предварительной записи, дни
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/config/products
GET config/products/simple¶
Получение списка услуг и категорий, зарегистрированных в очереди, в упрощённом виде
Формат ответа
[{
"Id": Guid, - идентификатор
"Name": String, - наименование
"Type": String, - тип объекта (Product - услуга, Category - категория услуг)
"ProductCategoryId": Guid - опциональный, идентификатор родительской категории услуг
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/config/products/simple
Справочные данные (CEnter)¶
GET config/servers¶
Получение списка филиалов, зарегистрированных на центральном сервере
Формат ответа
[{
"Id": Guid, - идентификатор филиала
"Name": string, - короткое название в конфигурации
"IsConnected": bool, - подключен ли филиал к центральному серверу
"OrganizationName": string, - наименование организации
"OrganizationFullName": string, - полное наименование организации
"OrganizationAddress": string, - адрес организации
"OrganizationPhone": string, - телефон
"OrganizationFax": string, - факс
"OrganizationEmail": string, - e-mail
}]
Пример запроса
GET http://center.suo.club:82/api/1/config/servers
GET config/workPlaces/:serverId¶
Получение списка рабочих мест
Параметры
serverId - идентификатор филиала из метода config/servers
Формат ответа
[{
"Id":Guid,
"ClientId":string,
"Name":string,
}]
Пример запроса
GET http://center.suo.club:82/api/1/config/workPlaces/78e721bb-c691-7d58-1db5-97882ad01310
Пример ответа
[
{
"Id": "5ffef183-569b-8b41-0b21-a55d84495a9b",
"ClientId": "admin1",
"Name": "admin"
},
{
"Id": "4febd10b-c950-e47f-ea61-d13f422183cb",
"ClientId": "admin",
"Name": "Администратор"
},
{
"Id": "0d405ba2-dd3c-47c7-a17f-5fe51ad25f4a",
"ClientId": "adm1",
"Name": "Администратор 1"
},
{
"Id": "7dcb5bd9-7887-9608-e3a5-54afa75a216e",
"ClientId": "armz",
"Name": "Кабинет 111"
},
{
"Id": "032c7d22-56d1-43f7-850f-d72233bf7bf0",
"ClientId": "arm1",
"Name": "Окно 1"
},
{
"Id": "59435d40-e426-4abb-b2d0-ba837c329ac1",
"ClientId": "arm2",
"Name": "Окно 2"
},
{
"Id": "e5f58a83-9cb2-47b6-b8f5-bc32f12401a5",
"ClientId": "arm3",
"Name": "Окно 3"
},
{
"Id": "5d417f70-0639-4122-952f-844de745c937",
"ClientId": "arm5",
"Name": "Окно 4"
},
{
"Id": "3c4f89b5-6dff-4dcc-a009-88fb38d4cc14",
"ClientId": "arm4",
"Name": "Окно 4"
},
{
"Id": "1ab611d0-25fd-4743-b8ad-7c02221ee4ae",
"ClientId": "arm6",
"Name": "Окно 6"
},
{
"Id": "4822ed00-e11c-51b0-0274-30bb548a5be0",
"ClientId": "arm7",
"Name": "Окно 7"
},
{
"Id": "87740449-a0e6-4ea0-b857-f9d644cd8ee7",
"ClientId": "arm8",
"Name": "Окно 8"
},
{
"Id": "296f0f76-faf9-4189-9e1a-43b1362e9c8d",
"ClientId": "arm9",
"Name": "Окно 9"
},
{
"Id": "ebe27626-5594-4e8c-9b2d-4d92a51eb57f",
"ClientId": "arm10",
"Name": "Окно 10"
},
{
"Id": "ab50d872-6159-485c-9571-9c3168d5553e",
"ClientId": "arm11",
"Name": "Окно 11"
},
{
"Id": "e4decf03-28f6-47f2-a05e-7202301c13cf",
"ClientId": "arm12",
"Name": "Окно 12"
},
{
"Id": "0cd5bca5-e27d-4ce1-bb53-f02cf990c3fe",
"ClientId": "arm13",
"Name": "Окно 13"
},
{
"Id": "984e198b-8409-a62b-2f1b-d95ca72d0150",
"ClientId": "operatortest",
"Name": "Окно 45"
},
{
"Id": "23a74e75-9826-ae5c-f833-5e8be40c9d7d",
"ClientId": "arm62",
"Name": "Окно 62"
},
{
"Id": "56082df5-9441-ab42-7e0c-7587235a1f0c",
"ClientId": "arm73",
"Name": "Окно 73"
},
{
"Id": "4a056e16-22eb-b362-76ef-f5a2b222b0fe",
"ClientId": "arm74",
"Name": "Окно 74"
},
{
"Id": "2f27f31f-bbe5-dcec-f103-ee6c5b49792b",
"ClientId": "arm75",
"Name": "Окно 75"
},
{
"Id": "a71371e3-8085-7767-4d62-33de253613ff",
"ClientId": "pult89",
"Name": "Окно 89 (МФЦ)"
},
{
"Id": "189a4134-f8c3-0b55-3ebb-d21e8e71d6a9",
"ClientId": "arm_sys-test",
"Name": "Окно 108"
},
{
"Id": "d2b941ec-bf4e-1761-9210-4da0232f43fb",
"ClientId": "arm_sys-test2",
"Name": "Окно 109"
},
{
"Id": "dbf61393-f062-8397-29c2-86e454938bac",
"ClientId": "arm200",
"Name": "Окно 200"
},
{
"Id": "20254054-b875-d47c-e836-5f318024d5d1",
"ClientId": "At-consulting2",
"Name": "Окно 999"
},
{
"Id": "663dbe50-7c08-2ccc-f49e-602f0fa3e7e8",
"ClientId": "arm11111",
"Name": "Регистратура"
}
]
Информационные табло (Enter)¶
GET notifications/:clientId¶
Возвращает коллекцию с данными о текущих приглашенных и обслуживаемых талонах
Параметры
clientId - идентификатор табло
Формат ответа
[{
"Id" : Guid, - идентификатор услуги в талоне
"TicketPrefix" : String, - префикс талона
"TicketNumber" : Int, - порядковый номер талона
"FullTicketNumber" : String, - номер талона
"WorkPlaceType" : Int, - тип связаного пульта оператора
"WorkPlaceTypeDescription" : String, - название типа пульта оператора
"WorkPlaceNumber" : Int, - номер пульта оператора
"OverriddenWorkPlaceName" : String, - переопределенное название пульта оператора
"LedPanelId" : String, - идентификатор связаного светодиодного табло
"LastOperationTime" : DateTime, - время выполнения операции
"WorkPlaceName" : String, - название пульта оператора
}]
Пример запроса
GET http://enter.suo.club:8002/api/1/notifications/tv1_1
Пример ответа
[{
"Id":"7f9ca680-c05b-46cc-820c-1544db62283e",
"TicketPrefix":"П",
"TicketNumber":1,
"FullTicketNumber":"П1",
"WorkPlaceType":1,
"WorkPlaceTypeDescription":"Окно",
"WorkPlaceNumber":1,
"OverriddenWorkPlaceName":null,
"LedPanelId":"1",
"LastOperationTime":"2014-08-08T10:40:47.847",
"WorkPlaceName":"Окно 1"
}]
Опросы посетителей (Enter)¶
GET survey/:clientId/state¶
Получение текущего статуса пульта опроса. При наличии активного опроса возвращается текущий вопрос.
Параметры
clientId - идентификатор пульта опроса
Формат ответа
{
"Unattached": Bool, - свободная опросная панель (не привязанная к рабочему месту)
"SurveyAvailable": Bool - доступен ли опрос
}
Пример запроса
GET http://enter.suo.club:8002/api/1/survey/sp1/state
Пример ответа
{
"Unattached":false,
"SurveyAvailable":false
}
POST survey/:clientId/begin¶
Начало нового опроса. Опрос выбирается в зависимости от конфигурации очереди. Возвращает первый вопрос из выбранного опроса.
Параметры
clientId - идентификатор пульта опроса
Формат ответа
{
"Id": Guid, - идентификатор опросной панели
"SurveyId": Guid, - идентификатор опроса
"AnswerType": Integer, - тип ответа (answerTypes)
"Order": Integer, - порядок вопроса
"Text": String - вопрос
}
Пример запроса
POST http://enter.suo.club:8002/api/1/survey/sp1/begin
Пример ответа
{
"Id":"b0265558-ef75-4620-b4e4-d9f19dc04284",
"SurveyId":"e352130b-838d-f8bc-87e9-63a31ba82e70",
"AnswerType":1,
"Order":1,
"Text":"Довольны ли вы качеством обслуживания?"
}
POST survey/:clientId/end¶
Прерывание текущего опроса. Опрос помечается как прерванный по запросу клиента.
Параметры
clientId - идентификатор пульта опроса
Пример запроса
POST http://enter.suo.club:8002/api/1/survey/sp1/end
POST survey/:clientId/answer¶
Регистрация ответа на текущий вопрос опроса. Возвращает следующий вопрос. При успешном ответе на последний вопрос, текущий опрос помечается как успешно завершенный.
Параметры
clientId - идентификатор пульта опроса
values - массив значений ответа, передаётся в теле запроса. Формат данных по типу ответа:
- Да/нет: массив из одного элемента типа Bool со значением ответа
- Единственный выбор: массив из одного элемента типа Guid со значением идентификатора варианта ответа
- Множественный выбор: массив из элементов типа Guid со значениями идентификатора варианта ответа
- Шкала: массив из одного элемента типа Int со значением ответа
- Текст: массив из одного элемента тпиа String со значением ответа
Формат ответа
{
"Choices":[], - варианты ответа
"Id": Guid, - идентификатор
"SurveyId": Guid, - идентификатор опроса
"AnswerType": тип ответа (answerTypes)
"Order": Integer, - порядок в опросе
"Text": String - текст вопроса
}
Пример запроса
POST http://enter.suo.club:8002/api/1/survey/sp1/answer
Параметры: {"values":[true]}
Пример ответа
{
"Choices":[{
"Id":"646bf614-e593-064f-8cf2-8774a640e404",
"Value":"Хорошо",
"Order":0
},
{
"Id":"14541921-b22c-bdad-0b3a-8bdd4cded91d",
"Value":"Удовлетворительно",
"Order":0
},
{
"Id":"fc008e8b-d5ee-38ec-4112-b5b101355abe",
"Value":"Плохо",
"Order":0
}],
"Id":"afde74b1-7f1a-7f63-dcf3-409797d2d694",
"SurveyId":"e352130b-838d-f8bc-87e9-63a31ba82e70",
"AnswerType":2,
"Order":2,
"Text":"Оцените работу оператора"
}