API: различия между версиями

Материал из WiKi - UserSide
Строка 36: Строка 36:
* [[API address|address]] - Действия с адресами
* [[API address|address]] - Действия с адресами
* [[API abon|abon]] - Действия с абонентами. Большинство действий актуально для [[Поддерживаемые биллинги|ручных биллингов]].
* [[API abon|abon]] - Действия с абонентами. Большинство действий актуально для [[Поддерживаемые биллинги|ручных биллингов]].
=== abon ===
----
Действия с абонентами. Большинство действий актуально для [[Поддерживаемые биллинги|ручных биллингов]].
Дополнительные параметры:
subcat - подкатегория запроса ''(возможное значение: см.ниже)''
==== abon_add ====
'''Подкатегория: abon_add'''
Описание: Добавление абонента
Обязательные параметры:
  codeti - ID абонента по версии биллинга
  fio - ФИО абонента
Дополнительно возвращаемые данные:
  array(
  [Id] => ID нового абонента в случае успеха
  )
==== abon_hist ====
'''Подкатегория: abon_hist'''
Описание: Вывод операций с абонентом (финансовые и прочие)
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
Дополнительно возвращаемые данные:
  перечень тарифов
  array(
  [Id] - ID_ТИП операции
  [DateDo] - дата операции
  [OperID] - ID оператора (tbl_oper.CODE)
  [BalansBefore] - баланс абонента до операции
  [Amount] - сумма операции
  [PKO] - номер приходного кассового ордера
  [Comment] - описание операции
  [BillingDopData] - дополнительные данные по операции из биллинга (используется при импорте данных из сторонних биллингов)
  )
==== get_abon_id ====
'''Подкатегория: get_abon_id'''
Описание: Получение ID абонента по входящим данным
Обязательные параметры:
  data_typer - тип данных, которые проверяем (Возможные значения: codeti, dognumber, ip)
  data_value - значение
Дополнительно возвращаемые данные:
  array(
  [Id] => ID абонента в случае успеха
  )
==== input_msg ====
'''Подкатегория: input_msg'''
Описание: Запись сообщения от абонента
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
  msgtext - текст сообщения
Дополнительно возвращаемые данные:
  array(
  [MsgId] => В случае успеха - ID сообщения (tbl_trouble.CODE)
  )
==== list_tarif_available ====
'''Подкатегория: list_tarif_available'''
Описание: Список тарифов, доступных абоненту для смены
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
Дополнительно возвращаемые данные:
  перечень тарифов
  array(
  [TarifList] => array(
    [Id] - ID тарифа (tbl_group.CODE)
    [Name] - Название тарифа
    [Price] - Стоимость тарифа
    [IsDayPrice] - Флаг - ежедневная ли стоимость
  )
  )
==== msg ====
'''Подкатегория: msg'''
Описание: Вывод переписки с абонентом
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
Дополнительно возвращаемые данные:
  перечень тарифов
  array(
  [Id] - ID сообщения (tbl_trouble.CODE)
  [DateMsg] - дата сообщения
  [MsgTyper] - (OperMsg/UserMsg) - тип сообщения. Сообщения от абонента или от оператора
  [Text] - текст сообщения
  [Attach] = array( - массив с прикрепленными файлами
    [Id] - ID файла (tbl_attach.CODE)
    [FilePath] - URL к файлу
    [RealName] - изначальное имя файла
  )
  )
==== pass_change ====
'''Подкатегория: pass_change'''
Описание: Смена пароля на вход в ЛК
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
  pass_old - текущий пароль
  pass_new - новый пароль
==== tarif_change ====
'''Подкатегория: tarif_change'''
Описание: Смена тарифа абоненту
Обязательные параметры:
  usercode - ID абонента ''(tbl_base.CODE)''
  tarif - ID нового тарифа ''(tbl_group.CODE)''


=== newin ===
=== newin ===

Версия от 20:10, 28 ноября 2015

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

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

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

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

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

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

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

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

Категории

newin


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

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

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

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

redirect


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

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

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

work


Работа с заданиями.

Дополнительные параметры:
subcat - подкатегория запроса (возможное значение: см.ниже)

add

Подкатегория: add
Описание: Создание задания
Обязательные параметры:
 work_typer - ID ТИПА задания (tbl_conf_journal.TYPER)
 work_datedo - дата на которую назначено выполнение задания (в формате ГГГГ-ММ-ДД чч:мм:сс)
Необязательные параметры:
 usercode - ID абонента (tbl_base.CODE)
 uzelcode - ID узла связи/муфты/опоры/колодца (tbl_uzel.CODE)
 housecode - ID дома (tbl_house.CODE). Если не указан, то берётся из данных по абоненту - usercode, либо из данных по узлу связи - uzelcode
 citycode - ID населенного пункта (tbl_adr_city.CODE). Если не указан, то берётся из данных по дому housecode
 apart - номер квартиры
 fio - ФИО клиента (имеется в виду, что "клиент" еще не является абонентом)
 opis - заметки к заданию
 dopf_N - значение дополнительного поля для поля ID N (tbl_conf_attr.CODE)
Дополнительно возвращаемые данные:
 array(
  [Id] => ID созданного задания (tbl_journal.CODE)
 )