|
||||
1. Пример подключения к серверу MikroBILL.
//Импортируем библиотеку API
include 'apicore.php'; //Создаём новый экземпляр класса MikroBILL_API $Api = new MikroBILL_API('IP_или_host', Port, 'Login', 'Password'); //Выполняем запрос API $Api->Process('Команда API'); //Закрываем соединение $Api->Close();
Вы можете скопировать файл apicore.php на другой WEB-сервер, где нет кассы MikroBILL,
тогда при создании экземпляра класса MikroBILL_API необходимо добавить ещё 2 аргумента:
//Создаём новый экземпляр класса MikroBILL_API
$Api = new MikroBILL_API('IP_или_host', Port, 'Login', 'Password', $CRYPTO_KEY_1, $CRYPTO_KEY_2);
Переменную $CRYPTO_KEY_1 вы можете взять из файла config.php, который расположен в корне
WEB сервера MikroBILL, а переменную $CRYPTO_KEY_2 из БД MikroBILL из таблицы `workparams`. Обратите внимание, что значения этих переменных являются уникальными и при переустановке MikroBILL будут изменены! |
||||
2. Формат команд.
Команды вызываются по их пути. Разделителем пути является символ точки. Путь соответсвует классам в их иерархии, описание классов доступно здесь.
Как видим, команда получения или поиска абонентов находится непосредственно в классе API, значит вызов будет выглядеть так:
$Api->Process('API.GetClients');
Результатом будет JSON вида:
{"return":[...], "code":0}
В поле return массив ID абонентов. Поле code = 0 показывает отсутствие ошибок. Любое другое число сигнализирует о проблеме, тогда в return будет описание.
Чтобы обратиться к свойству абонента, в пути команды необходимо указать ID абонета:
// Получаем имя абонента
$Api->Process("API.Client.$ClientGUID.AutorizeInfo.Name");
Результат:
{"return":"UserName", "code":0}
Ещё пример. Установим новый IP абоненту. Для этого нужно вначале получить все аккаунты абонента:
$Api->Process("API.Client.$ClientGUID.AutorizeInfo.Accounts");
Результатом будет массив GUID аккаунтов:
{"return":[...], "code":0}
Теперь обратимся к нужному аккаунту, чтобы получить свойство "IP".
$Api->Process("API.Client.$ClientGUID.AutorizeInfo.Accounts.$AccountGUID.IP");
Ответ:
{"return":"IP_клиента", "code":0}
Для установки значения необходимо добавить второй аргумент в функцию Process:
$Api->Process("API.Client.$ClientGUID.AutorizeInfo.Accounts.$AccountGUID.IP", "192.168.10.25");
Если функция требует несколько входящих аргументов, то их нужно передавать в виде массива.
Напоминаем, описание входных аргументов Вы можете найти в описании классов здесь.
// Добавляем аккаунт абоненту
$Api->Process("API.Client.$ClientGUID.AutorizeInfo.Accounts.AddAccount",["120.10.53.234","","Login","Password"]);
Если операция прошла успешно, вы получит сообщение вида:
{"return":"OK", "code":0}
|
Для создания расширений вам понадобится подключаемый к .NET совместимым языкам программирования MikroBILL_API.exe (найти его можно в архиве с MikroBILL в папке Scripts). Полное описание классов доступно здесь. |
||||
Пример использования с Visual Studio 2013 (разработка на Visual Basic). 1. Создайте новый проект. Зайдите в его параметры. ![]() |
||||
2. Перейдите на вкладку расширений, добавьте файл MikroBILL_API.exe. ![]() |
||||
3. В MikroBILL откройте настройки, вкладку "Администрирование", нажмите кнопку "Кассиры". Создайте кассира, которому разрешено подключаться через MikroBILL_API. Теперь вы можете пользоваться всеми возможностями MikroBILL API. |