API Выдачи талонов v1

СТАРОЕ


Предварительная запись [Deprecated] (Enter)

GET booking/menu

Возвращает дерево меню выбора услуг для предварительной записи

Формат ответа

Пример запроса

GET http://enter.suo.club:8002/api/1/booking/menu

Пример ответа

См. здесь


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

Предварительная запись на получение услуги. Возвращает элемент с данными о записи, включающими идентификатор талона для дальнейшей работы.

Параметры

  1. Должен быть указан либо параметр productId, либо menuLinkId

  2. Рекомендуется передавать токен авторизации, полученный в методе 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

Пример ответа

../_images/ticket.png

Работа оператора (Enter)

POST operation/identify/:clientId/:login/:password

Подключение приложения и вход оператора. Метод открывает сессию приложения и выполняется перед вызовом других методов API оператора. Возвращает токен, заключённый в кавычки &mdash; идентификатор сессии приложения (пульта оператора). Этот токен нужно добавлять в 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
}

GET operation/menu

Получение меню для перенаправления посетителей

Формат ответа

Пример запроса

GET http://enter.suo.club:8002/api/1/operation/menu

Пример ответа

[{
  "SubItems":null,
  "Id":"5abeb3c8-e45f-4539-8901-001102fcead7",
  "Name":"Земельные и имущественные отношения",
  "Order":3,
  "ProductsMenuCategoryId":null,
  "ParentItem":null,
  "BackgroundImageId":null,
  "BackgroundColor":null,
  "IconId":null,
  "DockIconToRight":false
},
  "Priority":0,
  "Product":null,
  "ProductId":"5e53c0be-cf17-48a8-ac99-f41636f850ed",
  "QueueIsAvailable":true,
  "RecordIsAvailable":true,
  "Id":"2964898e-448d-4e01-808c-00f6c158e48a",
  "Name":"Выдача и аннулирование охотничьего билета единого федерального образца",
  "Order":1,
  "ProductsMenuCategoryId":"eb088c84-21f2-408a-a22a-c681e109aa31",
  "ParentItem":{
    "SubItems":null,
    "Id":"eb088c84-21f2-408a-a22a-c681e109aa31",
    "Name":"Природопользование",
    "Order":7,
    "ProductsMenuCategoryId":null,
    "ParentItem":null,
    "BackgroundImageId":null,
    "BackgroundColor":null,
    "IconId":null,
    "DockIconToRight":false
  },
  "BackgroundImageId":null,
  "BackgroundColor":null,
  "IconId":null,
  "DockIconToRight":false
},
{
  "Priority":0,
  "Product":null,
  "ProductId":"eb397d24-a247-4c9a-8796-c39bbc2cfb6c",
  "QueueIsAvailable":true,
  "RecordIsAvailable":true,
  "Id":"4c849ab6-d072-4e17-bd36-0198d1e8d5f7",
  "Name":"Предоставление заключений о наличии (отсутствии) особо охраняемых природных территорий республиканского значения на участке предполагаемого осуществления хозяйственной и иной деятельности",
  "Order":5,
  "ProductsMenuCategoryId":"eb088c84-21f2-408a-a22a-c681e109aa31",
  "BackgroundImageId":null,
  "BackgroundColor":null,
  "IconId":null,
  "DockIconToRight":false
}]

GET operation/menu/linkId

Получает menuLinkId по integrationId

Формат ответа

"Guid" - menuLinkId

Пример запроса

GET http://enter.suo.club:8002/api/1/operation/menu/linkId/m38

Пример ответа

"f25115a2-8897-e124-e90d-ec4fa98d8414"

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

GET config/menus

Получение списка меню выбора услуг, зарегистрированных в очереди


GET config/menus/:menuId

Получение меню выбора услуг по идентификатору. Возвращает дерево элементов меню.

Параметры

menuId - Идентификатор меню

Справочные данные (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":"Оцените работу оператора"
}