API

Материал из WiKi - UserSide

Этот раздел описывает возможности использования встроенного API в САП "UserSide", что позволяет использовать встроенный функционал в собственных проектах.

API охватывает на данный момент не весь функционал и постепенно дорабатывается, так что данная страница будет иметь частые изменения и дополнения.

Принцип работы

За взаимодействие отвечает файл /api.php

Входящие параметры:
Обязательные:
 api - ключ API
 kat - категория запроса
Возможные:
 cp - кодировка (возможное значение: cp1251). По-умолчанию данные возвращаются в кодировке utf8.
 gz - возврат данных в сжатом формате (возможное значение: disable). По-умолчанию данные возвращаются в сжатом формате.
 subkat - подкатегория запроса
 sort_desc - обратная сортировка результата запроса (Возможное значение: 1)
 Прочие дополнительные параметры, в зависимости от категории (см. ниже в соответствующих категориях). Например:
  usercode - код абонента (tbl_base.CODE)

Пример запроса:
api.php?api=key&kat=abon&subkat=msg&usercode=1
Возвращаемые данные:
 Если запрос предполагает какое-то действие или возврат информации, то в формате JSON будет возвращена информация:
  array(
   [Result] => OK / ERROR
   [ErrorText] => В случае ошибки - текст ошибки
  )

Основная настройка

В основном файле конфигурации main/config/config.php добавьте (или настройте) переменную $zapikey, где укажите свой произвольный API-ключ.

Категории

redirect

Переадресация на карточку объекта по какому-то признаку

Дополнительные параметры:
subkat - тип объекта (возможное значение: abon)
typer - тип анализируемых данных (возможное значение: tel)
value - данные (текстовое значение)

Пример запроса:
api.php?api=key&kat=redirect&subkat=abon&typer=tel&value=380971234567

newin

Форма заявки на подключение

Пример реализации: http://userside.ua/userside/script/newin/sample.php

Дополнительные параметры:
subkat - подкатегория запроса (возможное значение: new (пустое значение этого параметра равняется new))
citycode - ID населенного пункта (tbl_adr_city.CODE), по которому подаётся заявка. Будет открыт выбор улиц. Если пусто - будет открыт выбор населенного пункта.
map - флаг (1/0) - открывать ли окно выбора карты. Населенный пункт должен быть указан на карте - тогда будет понятно какую карту открывать и где её центровать.

Пример запроса:
api.php?api=key&kat=newin&map=1

abon

Действия с абонентами. Большинство действий актуально для ручных биллингов.

Дополнительные параметры:
subkat - подкатегория запроса (возможное значение: см.ниже)
typer - тип анализируемых данных (возможное значение: tel)
value - данные (текстовое значение)

Пример запроса:
api.php?api=key&kat=redirect&subkat=abon&typer=tel&value=380971234567
Подкатегория: list_tarif_available
Описание: Смена тарифа абоненту
Обязательные параметры:
 usercode - ID абонента (tbl_base.CODE)
Возвращаемые данные:
 перечень тарифов
 array(
  [TarifList] => array(
  [Id] - ID тарифа (tbl_group.CODE)
  [Name] - Название тарифа
  [Price] - Стоимость тарифа
  [IsDayPrice] - Флаг - ежедневная ли стоимость
 )
Подкатегория: tarif_change
Описание: Смена тарифа абоненту
Обязательные параметры:
 usercode - ID абонента (tbl_base.CODE)
 tarif - ID нового тарифа (tbl_group.CODE)