API для PHP и Python
|
  |   |
API для .NET
|
|
||||
1. Пример на PHP для подключения к серверу MikroBILL.
Вы можете скопировать файл apicore.php на другой WEB-сервер, где нет кассы MikroBILL,
тогда при создании экземпляра класса MikroBILL_API необходимо добавить ещё 2 аргумента:
Переменную $CRYPTO_KEY_1 вы можете взять из файла config.php, который расположен в корне
WEB сервера MikroBILL, а переменную $CRYPTO_KEY_2 из БД MikroBILL из таблицы `workparams`. Обратите внимание, что значения этих переменных являются уникальными и при переустановке MikroBILL будут изменены! |
||||
2. Формат команд.
Команды вызываются по их пути. Разделителем пути является символ точки. Путь соответсвует классам в их иерархии, описание классов доступно здесь.
Как видим, команда получения или поиска абонентов находится непосредственно в классе API, значит вызов будет выглядеть так:
Результатом будет JSON вида:
В поле return массив ID абонентов. Поле code = 0 показывает отсутствие ошибок. Любое другое число сигнализирует о проблеме, тогда в return будет описание.
Чтобы обратиться к свойству абонента, в пути команды необходимо указать ID абонета:
Результат:
Ещё пример. Установим новый IP абоненту. Для этого нужно вначале получить все аккаунты абонента:
Результатом будет массив GUID аккаунтов:
Теперь обратимся к нужному аккаунту, чтобы получить свойство "IP".
Ответ:
Для установки значения необходимо добавить второй аргумент в функцию Process:
Если функция требует несколько входящих аргументов, то их нужно передавать в виде массива.
Напоминаем, описание входных аргументов Вы можете найти в описании классов здесь.
Если операция прошла успешно, вы получит сообщение вида:
3. Пакетные команды.
Вы можете в одной команде запрашивать несколько значений (начиная с версии MikroBILL 2.0.9), для этого во второй аргумент в функцию Process необходимо передать массив.
В массиве необходимо перечислить аргументы так, чтобы начальный путь в функции Process + имя элемента массива образовали законченный путь.
Результатом будет JSON вида:
Начиная с версии MikroBILL 2.0.15 в ответ добавлен параметр "object", возвращающий результат всего запроса в виде JSON объекта.
Для того, чтобы установить несколько параметров одновременно, нужно в массиве к каждому аргументу добавить ассоциированное значение.
Результатом будет JSON вида:
Так же имеется возможность в одной команде читать параметры и устанавливать.
Результатом будет JSON вида:
Вы можете использовать массивы с любой глубиной вложенности.
Например, здесь:
И здесь:
В обоих случаях вызывается путь:
4. Поиск данных.
Начиная с версии MikroBILL 2.0.14 доступен поиск данных, для этого используется оператор Find,
который присутствует внутри всех базовых классов. Поиск возращает GUID объектов, имеющих в своих полях искомые данные.
Команда поиска выглядит следующим образом: $Api->Process("API.Класс.Find", ['Путь', 'Оператор_сравнения', Сравниваемое_значение]); Например:
Вторым аргументом в функцию Process передаётся массив. Первый аргрумент массива - это путь, значение которого,
мы будем сравнивать с условием. Второй аргумент - математическое условие. Третий аргумент - значение, с которым сравниваем.
Т.е. в нашем примере функция вернёт GUID всех абонентов, у которых StatusInfo.BlockReason = -1, т.е. всех, кому разрешён доступ. Более подробная информация на странице описания классов. Вы можете использовать несколько условий поиска. Для этого в массив четвёртым аргуметом добавьте AND или OR, а последующие три аргумента должны быть идентичны по своей сути первым трём, т.е. это: путь, логика сравнения и сравниваемое значение. Количество дополнительных условий отбора может быть любым. В примере ниже ищем GUID абонентов, которым разрешё доступ и у которых IP соответствует маске:
Как видим из примера выше, можно искать внутри любых печислений, например, в списке аккаунтов. Для этого
в пути вместо GUID элемента нужно ставить символ *.
|