API HTTP-сервиса «Фестивали»
Общая информация
- HTTP-сервис: Фестивали
- RootURL:
fest - Основной маршрут обмена:
PUT /v1/{ИмяМетода} - Технически в публикации 1С обычно используется путь вида
/hs/fest/v1/{ИмяМетода}.
Общие правила для PUT /v1/{ИмяМетода}
- Тело запроса: JSON.
- Обязательное поле тела:
ВерсияПриложения. - Если версия ниже допустимой, возвращается JSON:
Удачно = falseОшибка = «Необходимо обновить приложение…»СсылкаНаНовуюВерсию = «https://rusclimbing.ru/climbfest/»
- Успешный HTTP-код обычно
200, бизнес-ошибки идут в JSON-полеОшибка.
Команды
Авторизация и профиль
check_email
- Назначение: проверка существования пользователя по email.
- Вход:
ЭлектроннаяПочта
- Выход JSON:
{ "Удачно": true, "Ошибка": "", "ПользовательСуществует": true }
new_email
- Назначение: создание пользователя по email.
- Вход:
ЭлектроннаяПочта
- Выход JSON:
{ "Удачно": true, "Ошибка": "" }
auth_email
- Назначение: подтверждение кода и выдача токена.
- Вход:
ЭлектроннаяПочтаКодПроверки
- Выход JSON:
{ "Удачно": true, "Ошибка": "", "ПользовательАвторизован": true, "Токен": "..." }
- Нюанс реализации: в одной из веток может вернуться JSON
falseвместо структуры.
Списки/справочники
get_festlist
- Вход: без дополнительных полей.
- Выход JSON:
{Удачно, Ошибка, Фестивали:[…]}. - Поля элемента
Фестивали:Код, Наименование, Начало, Окончание, Место, ДатыДляКалендаря, ОписаниеДляПриложения, СетыПослеОплаты, СтраницаОферта, СогласиеПДн, СетОбязателен, НесколькоЗачетов, РасчетРезультатовНаСервереРазмерГруппы, КлубныйЗачет, СемейныйЗачет, СтуденческийЗачетИспользоватьУровеньЛазания, УровеньЛазанияОбязателен, ИспользоватьСтаж, СтажОбязателенИспользоватьКласс, КлассОбязателен, ИспользоватьГород, ГородОбязателенИспользоватьТелефон, ТелефонОбязателен, ИспользоватьРазряд, ИспользоватьБылНаМестеИспользоватьПакеты, ИспользоватьПромокоды, УчитыватьПопытки, УчитыватьФлешРедпойнт
get_linklist
- Вход:
Фестиваль(код). - Выход:
{Удачно, Ошибка, Ссылки:[{Код, Наименование, АдресСсылки, Порядок}]}.
get_regionlist
- Вход: без дополнительных полей.
- Выход:
{Удачно, Ошибка, Регионы:[{Код, Наименование}]}.
get_categorylist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Зачеты:[…]}. - Поля
Зачеты:Код, Наименование, Порядок, НуженСопровождающий, КоличествоСетов, ЦенаПоСетам, ТрассТрудность, ТрассБоулдеринг, ТрассМультипитч, ЗолотоМ, СереброМ, БронзаМ, ЗолотоЖ, СереброЖ, БронзаЖ.
get_packagelist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Пакеты:[{Код, Наименование, Порядок, НуженРазмер}]}.
get_discountlist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Скидки:[{Код, Наименование, Скидка, Порядок, ПоПромокоду}]}.
get_doplist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Допы:[{Код, Наименование, Цена, ЕстьСвойство, НаименованиеСвойства}]}.
get_questlist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Вопросы:[…]}. - Поля
Вопросы:Код, Наименование, Порядок, Описание, Обязательный, ДопускаетсяНесколькоОтветов, ВариантыОтветов.
get_optionlist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, СвойстваДопов:[{Код, Наименование, ДопКод}]}.
get_doctypelist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, ВидыДокументов:[{Код, Наименование, Порядок}]}.
get_levellist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, УровниЛазания:[{Код, Наименование}]}.
get_experiencelist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Стажи:[{Код, Наименование}]}.
get_classlist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Классы:[{Код, Наименование}]}.
get_setlist
- Вход:
Фестиваль. - Выход:
{Удачно, Ошибка, Сеты:[…]}. - Поля
Сеты:Код, Наименование, Начало, СвободныхМест, Зачеты, Цена.
get_sizelist
- Вход: без дополнительных полей.
- Выход:
{Удачно, Ошибка, Размеры:[{Код, Наименование}]}.
Проверки и расчёты
check_category
- Вход:
Фамилия, Имя, Отчество, ДатаРожденияФестиваль, УровеньЛазания, Стаж
- Выход:
{ "Удачно": true, "Ошибка": "", "Зачет": "...", "Скидка": "...", "Сет": "...", "Пакет": "..." }
check_promo
- Вход:
Промокод, Фестиваль. - Выход:
{Удачно, Ошибка, Принят, Скидка}.
get_amount
- Вход:
ТокенПользователя, Код. - Выход:
{Удачно, Ошибка, Сумма}.
get_groupamount
- Вход:
ТокенПользователя, Фестиваль. - Выход:
{Удачно, Ошибка, Сумма}.
get_preamount
- Вход:
ТокенПользователя, Фестиваль, Пакет, Зачет. - Опционально:
Скидка,Сеты(массив кодов). - Выход:
{Удачно, Ошибка, Сумма}.
Участники
add_participant
- Назначение: создание участника.
- Основные входные поля:
ТокенПользователя, Фестиваль, РегионФамилия, Имя, Отчество, НетОтчества, ДатаРождения, ПолСопровождающий1, Сопровождающий2, ЭтоСтудентЭтоЛидерСемьи, СемьяНазвание, ЭтоЛидерКлуба, КлубНазваниеСет1, Сет2
- Дополнительные/условные поля:
Код, Пакет, УровеньЛазания, Стаж, Класс, Разряд, РазмерОдеждыСет3, Сет4, Сет5, Промокод, Телефон, Город, БылНаМестеСемьяКод, ПарольСемьи, КлубКод, ПарольКлуба, Ответы
- Выход:
{Удачно, Ошибка, Код}.
edit_participant
- Назначение: изменение участника (тот же обработчик, что
add_participant). - Важно: для редактирования обязателен
Кодучастника. - Выход:
{Удачно, Ошибка, Код}.
add_participant_bycode
- Вход:
ТокенПользователя, Фестиваль, Код, Пароль. - Выход:
{Удачно, Ошибка, Код}.
delete_participant
- Вход:
ТокенПользователя, Код. - Выход:
{Удачно, Ошибка, Код}.
get_participantlist
- Вход:
ТокенПользователя, Фестиваль. - Выход:
{Удачно, Ошибка, Участники:[…]}. - Поля элемента
Участники:Код, Фамилия, Имя, Отчество, Пол, ДатаРождения, ГодРождения, Регион, Город, ТелефонРазряд, БылНаМесте, КатегорияТрудность, КатегорияБоулдерингЗачет, Пакет, Скидка, СтатусСкидки, ЭтоСтудент, СлотРегистрацииОплачен, Проверен, ОшибкаПроверки, ДопущенСопровождающий1, Сопровождающий2, Сет1, Сет2, Сет3, Сет4, Сет5, ПарольУровеньЛазания, Стаж, КлассЭтоЛидерСемьи, СемьяНазвание, СемьяПароль, СемьяКодЭтоЛидерКлуба, КлубНазвание, КлубПароль, КлубКод
get_paylink
- Вход:
ТокенПользователя, Код. - Выход:
{Удачно, Ошибка, Ссылка}.
get_grouppaylink
- Вход:
ТокенПользователя, Фестиваль. - Выход:
{Удачно, Ошибка, Ссылка}.
Трассы и результаты
get_routelist
- Вход:
ТокенПользователя, КодУчастника, Пароль. - Выход:
{Удачно, Ошибка, Трассы, КатегорииТрасс}. - Поля элемента
Трассы:Код, Наименование, Номер, ТипКод, КатегорияКод, ЕстьЗонаБаллы, БаллыРедпойнт, БаллыЗонаКодГруппы, ЭтоГруппаДатаПролаза, ПролезТолькоЗону, МультипитчВерхняяСтраховка, МультипитчИТО, ПопытокТоп, ПопытокЗона
save_results
- Вход:
ТокенПользователя, КодУчастника, ПарольТрассы(массив)
- Поля элемента
Трассы:КодТрассы, ДатаПролаза, МультипитчВерхняяСтраховка, МультипитчИТО, ПролезТолькоЗону, ПопытокТоп, ПопытокЗона
- Выход:
{Удачно, Ошибка}.
save_oneresult
- Вход:
ТокенПользователя, КодУчастника, ПарольТрасса(объект)
- Поля
Трасса:КодТрассы, Пролез, ДатаПролаза, МультипитчВерхняяСтраховка, МультипитчИТО, ПролезТолькоЗону, ПопытокТоп, ПопытокЗона
- Выход:
{Удачно, Ошибка}.