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

Материал из WiKi - UserSide
Строка 33: Строка 33:
''(с полным описанием можно ознакомиться в документе по ссылке выше. Здесь же методы представлены лишь для общего информирования и с примерами)''
''(с полным описанием можно ознакомиться в документе по ссылке выше. Здесь же методы представлены лишь для общего информирования и с примерами)''


'''1. Тарифные планы. Стандартные тарифы'''
'''1. Используемая версия API'''
 
Запрос:
api.php?key=apikey&request=get_api_information
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_api_information
 
'''2. Поддерживаемые методы API'''
 
Запрос:
api.php?key=apikey&request=get_supported_method_list
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_supported_method_list
 
'''3. Системная информация'''
 
Запрос:
api.php?key=apikey&request=get_system_information
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_system_information
 
'''4. Тарифные планы. Стандартные тарифы'''


  Запрос:
  Запрос:
Строка 41: Строка 65:
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_tariff_list
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_tariff_list


'''2. Населённые пункты'''
'''5. Населённые пункты'''


  Запрос:
  Запрос:
Строка 49: Строка 73:
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_list
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_list


'''3. Районы в населённых пунктах''' ''(если есть)''
'''6. Районы в населённых пунктах''' ''(если есть)''


  Запрос:
  Запрос:
Строка 57: Строка 81:
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_district_list
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_district_list


'''4. Улицы'''
'''7. Улицы'''


  Запрос:
  Запрос:
Строка 65: Строка 89:
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_street_list
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_street_list


'''5. Дома'''
'''8. Дома'''


  Запрос:
  Запрос:
Строка 72: Строка 96:
  Результат:
  Результат:
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_house_list
  http://userside.eu/userside/api.php?key=key&cat=module&request=get_house_list
'''9. Типы дополнительных полей по абонентам''' ''(если используется)''
Запрос:
?key=apikey&request=get_user_additional_data_type_list
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_additional_data_type_list
'''10. Типы статусов абонентов''' ''(не каждого конкретного абонента, а конфигуратор статусов))''
Запрос:
?key=apikey&request=get_user_state_list
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_state_list
'''11. Группы абонентов''' ''(если используется)''
Запрос:
?key=apikey&request=get_user_group_list
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_group_list
'''12. Абоненты/клиенты'''
Запрос:
?key=apikey&request=get_user_list
Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_list

Версия от 15:13, 22 ноября 2015

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

С документом можно ознакомится по ссылке http://userside.eu/main/files/API_Billing_v1_2.docx

Текущая версия: 1.2 от 25.10.2015

На данный момент работу по этому API поддерживают биллинги:

  • uBilling v.0.7.2+
  • MikBill v.2.8.16+
  • также в самой ERP "UserSide" поддерживается вывод информации по требованиям этого API

Вводные

1. Всё взаимодействие построено на API RESTful-запросах

2. Рабочая кодировка – UTF-8

3. Формат данных с ответами – JSON

4. Дата выводится в формате «ГГГГ-ММ-ДД чч:мм:сс»

5. В качестве идентификации используется API-ключ

6. Дополнительно рекомендуется на уровне API биллинга настраивать и проверять IP-адрес хоста, откуда поступают запросы либо ограничивать доступ vlan`ами

7. На не поддерживаемые методы (или методы без необходимых параметров) необходимо отвечать HTTP-400 статусом через header. В тексте 400-ответа можно расширенно отвечать о характере ошибки.

8. Текстовые поля, которые имеют пустое значение – рекомендуется не возвращать вовсе (для экономии трафика)

Поддерживаемые методы

(с полным описанием можно ознакомиться в документе по ссылке выше. Здесь же методы представлены лишь для общего информирования и с примерами)

1. Используемая версия API

Запрос:
api.php?key=apikey&request=get_api_information

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_api_information

2. Поддерживаемые методы API

Запрос:
api.php?key=apikey&request=get_supported_method_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_supported_method_list

3. Системная информация

Запрос:
api.php?key=apikey&request=get_system_information

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_system_information

4. Тарифные планы. Стандартные тарифы

Запрос:
api.php?key=apikey&request=get_tariff_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_tariff_list

5. Населённые пункты

Запрос:
?key=apikey&request=get_city_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_list

6. Районы в населённых пунктах (если есть)

Запрос:
?key=apikey&request=get_city_district_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_city_district_list

7. Улицы

Запрос:
?key=apikey&request=get_street_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_street_list

8. Дома

Запрос:
?key=apikey&request=get_house_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_house_list

9. Типы дополнительных полей по абонентам (если используется)

Запрос:
?key=apikey&request=get_user_additional_data_type_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_additional_data_type_list

10. Типы статусов абонентов (не каждого конкретного абонента, а конфигуратор статусов))

Запрос:
?key=apikey&request=get_user_state_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_state_list

11. Группы абонентов (если используется)

Запрос:
?key=apikey&request=get_user_group_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_group_list

12. Абоненты/клиенты

Запрос:
?key=apikey&request=get_user_list

Результат:
http://userside.eu/userside/api.php?key=key&cat=module&request=get_user_list