climbfest:api

API HTTP-сервиса «Фестивали»

  • HTTP-сервис: Фестивали
  • RootURL: fest
  • Основной маршрут обмена: PUT /v1/{ИмяМетода}
  • Технически в публикации 1С обычно используется путь вида /hs/fest/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_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_routelist

  • Вход: ТокенПользователя, КодУчастника, Пароль.
  • Выход: {Удачно, Ошибка, Трассы, КатегорииТрасс}.
  • Поля элемента Трассы:
    • Код, Наименование, Номер, ТипКод, КатегорияКод, ЕстьЗона
    • Баллы, БаллыРедпойнт, БаллыЗона
    • КодГруппы, ЭтоГруппа
    • ДатаПролаза, ПролезТолькоЗону, МультипитчВерхняяСтраховка, МультипитчИТО, ПопытокТоп, ПопытокЗона

save_results

  • Вход:
    • ТокенПользователя, КодУчастника, Пароль
    • Трассы (массив)
  • Поля элемента Трассы:
    • КодТрассы, ДатаПролаза, МультипитчВерхняяСтраховка, МультипитчИТО, ПролезТолькоЗону, ПопытокТоп, ПопытокЗона
  • Выход: {Удачно, Ошибка}.

save_oneresult

  • Вход:
    • ТокенПользователя, КодУчастника, Пароль
    • Трасса (объект)
  • Поля Трасса:
    • КодТрассы, Пролез, ДатаПролаза, МультипитчВерхняяСтраховка, МультипитчИТО, ПролезТолькоЗону, ПопытокТоп, ПопытокЗона
  • Выход: {Удачно, Ошибка}.
  • Последнее изменение: 2 дн. назад
  • Артемий Трушин