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

Материал из WiKi - UserSide
 
(не показано 58 промежуточных версий 4 участников)
Строка 1: Строка 1:
Этот раздел описывает возможности использования встроенного API в ERP "UserSide", что позволяет использовать встроенный функционал в собственных проектах.
[[API_EN|en]] | [[API|ru]]
 
Этот раздел описывает возможности использования встроенного API в ERP "UserSide", что позволяет использовать встроенный функционал в собственных проектах.  


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


За взаимодействие отвечает файл /api.php
За взаимодействие отвечает файл /api.php
Можно использовать и GET и POST запросы.


  Входящие параметры:
  Входящие параметры:
Строка 11: Строка 15:
   key - ключ API
   key - ключ API
   cat - категория запроса
   cat - категория запроса
  Возможные:
  Необязательные:
   cp - кодировка ''(возможное значение: cp1251)''. По-умолчанию данные возвращаются в кодировке utf8.
   skip_internal_api - флаг - не включать внутренние триггеры системы ''(разумно использовать, когда ваш метод API и есть реакция на какой-то триггер и в итоге при обычной работе он же сам и зацикливает свою работу)''
  gz - возврат данных в сжатом формате ''(возможное значение: disable)''. По-умолчанию данные возвращаются в сжатом формате.
Прочие дополнительные параметры, в зависимости от категории ''(см. ниже в соответствующих категориях)''. Например:
  subcat - подкатегория запроса
  customer_id - id абонента
  sort_desc - обратная сортировка результата запроса ''(Возможное значение: 1)''
  is_potential - флаг. Может принимать значение 1 или 0. Большинство флагов имеют префикс '''is'''.
  Прочие дополнительные параметры, в зависимости от категории ''(см. ниже в соответствующих категориях)''. Например:
  usercode - код абонента ''(tbl_base.CODE)''
   
   
  Пример запроса:
  Пример запроса:
  api.php?key=apikey&cat=abon&subcat=msg&usercode=1
  api.php?key=apikey&cat=abon&action=msg&usercode=1


  Возвращаемые данные:
  Возвращаемые данные:
Строка 28: Строка 30:
     [ErrorText] => В случае ошибки - текст ошибки
     [ErrorText] => В случае ошибки - текст ошибки
   )
   )
Также разумно проверять HTTP-код ответа. В случае возникновения ошибок/некорректных запросов - HTTP-код будет отличаться от 200


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


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


== Категории ==
== Категории ==
* [[API address|address]] - Действия с адресами
* [[API address|address]] - Адреса
* [[API abon|abon]] - Действия с абонентами. Большинство действий актуально для [[Поддерживаемые биллинги|ручных биллингов]].
* [[API attach|attach]] - Прикрепляемые файлы
 
* [[API additional_data|additional_data]] - Дополнительные поля/данные для объектов
=== newin ===
* [[API advertising|advertising]] - Рекламные кампании
----
* [[API billing|billing]] - Биллинги
Форма заявки на подключение
* [[API cable_route|cable_route]] - Кабельные трассы и каналы
 
* [[API call|call]] - Звонки
Пример реализации: http://userside.ua/userside/script/newin/sample.php
* [[API commutation|commutation]] - Коммутация объектов
 
* [[API cross|cross]] - ODF/Кроссы
Дополнительные параметры:
* [[API customer|customer]] - Абоненты. Большинство действий актуально для [[Поддерживаемые биллинги|ручных биллингов]]
subcat - подкатегория запроса ''(возможное значение: new (пустое значение этого параметра равняется new))''
* [[API cwdm|cwdm]] - CWDM
citycode - ID населенного пункта ''(tbl_adr_city.CODE)'', по которому подаётся заявка. Будет открыт выбор улиц. Если пусто - будет открыт выбор населенного пункта.
* [[API device|device]] - Оборудование
cityignore - ID населенных пунктов ''(tbl_adr_city.CODE)'', которые требуется игнорировать и не предлагать в выборе. Несколько населенных пунктов - через запятую.
* [[API employee|employee]] - Сотрудники ''(с 3.16dev2)''
map - флаг ''(1/0)'' - открывать ли окно выбора карты. Населенный пункт должен быть указан на карте - тогда будет понятно какую карту открывать и где её центровать.
* [[API fiber|fiber]] - Кабельные линии
* [[API gps|gps]] - GPS-трекеры
Пример запроса:
* [[API inventory|inventory]] - Склад
api.php?key=apikey&cat=newin&map=1
* [[API key|key]] - Ключи
 
* [[API map|map]] - Карты покрытия
=== redirect ===
* [[API module|module]] - Внешние запросы от модулей
----
* [[API newin|newin]] - Заявка на подключение
Переадресация на карточку объекта по какому-то признаку
* [[API node|node]] - Сооружения связи ''(узлы связи, муфты, опоры, колодцы)''
 
* [[API notepad|notepad]] - Блокнот
Дополнительные параметры:
* [[API operator|operator]] - Операторы системы ''(до 3.16dev2)''
subcat - тип объекта ''(возможное значение: abon, switch)''
* [[API owner|owner]] - Собственники объектов
typer - тип анализируемых данных ''(возможное значение: для abon: tel, ip, dognumber; для switch: ip)''
* [[API redirect|redirect]] - Переадресация на карточку объекта по какому-то признаку
value - данные ''(текстовое значение)''
* [[API service|service]] - Дополнительные услуги
* [[API setting|setting]] - Настройка
Пример запроса:
* [[API sms|sms]] - SMS-сообщения
api.php?key=apikey&cat=redirect&subcat=abon&typer=tel&value=380971234567
* [[API splitter|splitter]] - Делители/уплотнители
 
* [[API staff|staff]] - Сотрудники ''(до 3.16dev2)''
=== work ===
* [[API system|system]] - Системная информация и операции
----
* [[API tariff|tariff]] - Тарифы
 
* [[API task|task]] - Задания
Работа с заданиями.
* [[API trader|trader]] - Поставщики
 
* [[API vehicle|vehicle]] - Автотранспорт
Дополнительные параметры:
* [[API vlan|vlan]] - Vlan
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)
  )

Текущая версия от 14:38, 16 августа 2024

en | ru

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

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

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

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

Можно использовать и GET и POST запросы.

Входящие параметры:
Обязательные:
 key - ключ API
 cat - категория запроса
Необязательные:
 skip_internal_api - флаг - не включать внутренние триггеры системы (разумно использовать, когда ваш метод API и есть реакция на какой-то триггер и в итоге при обычной работе он же сам и зацикливает свою работу)
Прочие дополнительные параметры, в зависимости от категории (см. ниже в соответствующих категориях). Например:
 customer_id - id абонента
 is_potential - флаг. Может принимать значение 1 или 0. Большинство флагов имеют префикс is.

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

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

Настройте API-ключ.

Категории

  • address - Адреса
  • attach - Прикрепляемые файлы
  • additional_data - Дополнительные поля/данные для объектов
  • advertising - Рекламные кампании
  • billing - Биллинги
  • cable_route - Кабельные трассы и каналы
  • call - Звонки
  • commutation - Коммутация объектов
  • cross - ODF/Кроссы
  • customer - Абоненты. Большинство действий актуально для ручных биллингов
  • cwdm - CWDM
  • device - Оборудование
  • employee - Сотрудники (с 3.16dev2)
  • fiber - Кабельные линии
  • gps - GPS-трекеры
  • inventory - Склад
  • key - Ключи
  • map - Карты покрытия
  • module - Внешние запросы от модулей
  • newin - Заявка на подключение
  • node - Сооружения связи (узлы связи, муфты, опоры, колодцы)
  • notepad - Блокнот
  • operator - Операторы системы (до 3.16dev2)
  • owner - Собственники объектов
  • redirect - Переадресация на карточку объекта по какому-то признаку
  • service - Дополнительные услуги
  • setting - Настройка
  • sms - SMS-сообщения
  • splitter - Делители/уплотнители
  • staff - Сотрудники (до 3.16dev2)
  • system - Системная информация и операции
  • tariff - Тарифы
  • task - Задания
  • trader - Поставщики
  • vehicle - Автотранспорт
  • vlan - Vlan