Download the PHP package andrey-tech/bizon365-api-php without Composer
On this page you can find all versions of the php package andrey-tech/bizon365-api-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrey-tech/bizon365-api-php
More information about andrey-tech/bizon365-api-php
Files in andrey-tech/bizon365-api-php
Package bizon365-api-php
Short Description Обертка на PHP7+ для работы с API v1 сервиса Бизон 365 c троттлингом запросов и логированием в файл
License MIT
Homepage https://github.com/andrey-tech/bizon365-api-php
Informations about the package bizon365-api-php
Bizon365 API PHP Wrapper
Обертка на PHP7+ для работы с REST API v1 сервиса Бизон 365 c троттлингом запросов к API и логированием в файл.
Содержание
- Требования
- Установка
- Класс
Bizon365API
- Общие методы класса
- Дополнительные параметры
- Методы для получения отчетов по вебинарам
- Примеры
- Методы для работы с подписчиками
- Примеры
- Вспомогательные классы
- Класс
HTTP
- Примеры
- Класс
DebugLogger
- Методы класса
- Дополнительные параметры
- Примеры
- Формат заголовков лога
- Класс
- Автор
- Лицензия
Требования
- PHP >= 7.0;
- класс
HTTP
>= 3.0 - НТТР(S) клиент с троттлингом запросов, поддержкой маркера BOM в теле сообщения формата JSON и выводом отладочной информации о запросах и ответах в STDOUT; - класс
DebugLogger
>= 2.0 - логгер, сохраняющий отладочную информацию в файл вместе с данными об объеме используемой оперативной памяти и прошедшем времени; - произвольный автозагрузчик классов, реализующий стандарт PSR-4.
Установка
Установка через composer:
или добавить
в секцию require файла composer.json.
Класс Bizon365API
Для работы с REST API v1 сервиса Бизон 365 используется класс \App\Bizon365\Bizon365API
.
При возникновении ошибок выбрасывается исключение класса \App\Bizon365\Bizon365APIException
.
В настоящее время в классе реализованы:
- методы работы со страницами регистрации и подписчиками вебинаров;
- методы для получения отчетов по проведенным вебинарам и автовебинарам.
Поддерживается оба способа авторизации в сервисе Бизон 365:
- предварительная авторизация с получением cookie;
- авторизация через токен пользователя.
Общие методы класса
__construct(string $authToken = null)
Конструктор класса.$authToken
- токен авторизации (для авторизации посредством токена пользователя).
auth(string $username, string $password) :array
Выполняет предварительную авторизация с получением cookie и возвращает ответ от API.$username
- имя пользователя;$password
- пароль пользователя.
logout() :array
Выполняет выход из системы и возвращает ответ от API.setLogger($logger)
Устанавливает объект класса, выполняющего логирование отладочной информации в файл.- объект класса, реализующего интерфейс
\App\DebugLogger\DebugLoggerInterface
.
- объект класса, реализующего интерфейс
Дополнительные параметры
Дополнительные параметры настройки доступны через публичные свойства класса \App\Bizon365\Bizon365API
:
Нестатическое свойство | По умолчанию | Описание |
---|---|---|
$logger |
null | Хранит объект класса \App\DebugLogger\DebugLogger , выполняющего логирование запросов и ответов к API в файл. Если null, то логирование не выполняется. |
$http |
\App\HTTP\HTTP |
Хранит объект класса \App\HTTP\HTTP , отправляющего запросы к API |
Методы для получения отчетов по вебинарам
Методы для получения отчетов по проведенным вебинарам и автовебинарам находятся в трейте \App\Bizon365\WebinarViewers
:
getWebinarList(int $skip = 0, int $limit = 100, bool $liveWebinars = true, bool $autoWebinars = true) :array
Возвращает список доступных отчетов по вебинарам.$skip
- пропустить указанное число записей;$limit
- ограничить количество записей (не более 100);$liveWebinars
- искать среди живых вебинаров;$autoWebinars
- искать среди автовебинаров.
getAllWebinarList(int $skip = 0, int $limit = 100, bool $liveWebinars = true, bool $autoWebinars = true) :array
Возвращает список всех доступных отчетов по вебинарам.$skip
- пропустить указанное число записей;$limit
- количество записей в одном ответе от API (не более 100);$liveWebinars
- искать среди живых вебинаров;$autoWebinars
- искать среди автовебинаров.
getWebinarViewers(string $webinarId, int $skip = 0, int $limit = 1000) :array
Возвращает список зрителей вебинара.$webinarId
- ID вебинара;$skip
- пропустить указанное число записей;$limit
- ограничить количество записей (не более 1000);getAllWebinarViewers(string $webinarId, int $skip = 0, int $limit = 1000) :array
Возвращает список всех зрителей вебинара.
$webinarId
- ID вебинара;$skip
- пропустить указанное число записей;$limit
- количество записей в одном ответе от API (не более 100);
Примеры
Методы для работы с подписчиками
Методы для работы со страницами регистрации и подписчиками находятся в трейте \App\Bizon365\WebinarSubsribers
:
getWebinarSubpages(int $skip = 0, int $limit = 50) :array
Возвращает список страниц регистрации и их рассылок.$skip
- пропустить указанное число записей;$limit
- ограничить количество записей (не более 50).
getAllWebinarSubpages(int $skip = 0, int $limit = 50) :array
Возвращает список всех страниц регистрации и их рассылок.$skip
- пропустить указанное число записей;$limit
- количество записей в одном ответе от API (не более 50).
getWebinarSubscribers(string $pageId, int $skip = 0, int $limit = 1000, string $webinarTimeMin = null, string $webinarTimeMax = null, string $registeredTimeMin = null, string $registeredTimeMax = null, string $url_marker = null) :array
Возвращает список подписчиков для заданной страницы регистрации.$pageId
- ID страницы регистрации;$skip
- пропустить указанное число записей;$limit
- ограничить количество записей (не более 1000);$webinarTimeMin
- нижняя граница для времени сеанса, на который зарегистрированы подписчики, в формате ISO8601;$webinarTimeMax
- верхняя граница для времени сеанса, на который зарегистрированы подписчики, в формате ISO8601;$registeredTimeMin
- нижняя граница для времени регистрации подписчика в формате ISO8601;$registeredTimeMax
- верхняя граница для времени регистрации подписчика в формате ISO8601;$url_marker
- значение маркера из URL, идентификатор партнера.
getAllWebinarSubscribers(string $pageId, int $skip = 0, int $limit = 1000, string $webinarTimeMin = null, string $webinarTimeMax = null, string $registeredTimeMin = null, string $registeredTimeMax = null, string $url_marker = null) :array
Возвращает список всех подписчиков для заданной страницы регистрации.$pageId
- ID страницы регистрации;$skip
- пропустить указанное число записей;$limit
- количество записей в одном ответе от API (не более 1000);$webinarTimeMin
- нижняя граница для времени сеанса, на который зарегистрированы подписчики, в формате ISO8601;$webinarTimeMax
- верхняя граница для времени сеанса, на который зарегистрированы подписчики, в формате ISO8601;$registeredTimeMin
- нижняя граница для времени регистрации подписчика в формате ISO8601;$registeredTimeMax
- верхняя граница для времени регистрации подписчика в формате ISO8601;$url_marker
- значение маркера из URL, идентификатор партнера.
Примеры
Вспомогательные классы
Класс HTTP
Класс \App\HTTP\НТТР
обеспечивает:
- формирование POST запросов к API Бизон 365 по протоколу HTTPS;
- настраиваемый троттлинг запросов к API (по умолчанию отключен);
- вывод отладочной информации о запросах к API в STDOUT.
При возникновении ошибок выбрасывается исключение с объектом класса \App\HTTP\HTTPException
.
Примеры
Примеры отладочных сообщений:
Класс DebugLogger
Класс \App\DebugLogger\DebugLogger
обеспечивает логирование запросов и ответов к API Бизон 365 в файл.
При возникновении ошибок выбрасывается исключение класса \App\DebugLogger\DebugLoggerException
.
Методы класса
static instance(string $logFileName = 'debug.log') :self
Возвращает единственный объект данного класса для заданного лог-файла$logFileName
.$logFileName
- имя лог-файла.
save(mixed $info, object $object = null, string $header = null) :void
Сохраняет подлежащую логированию информацию в файл.$info
- строка, массив или объект для логирования;$object
- ссылка на объект класса в котором выполняется логирование;$header
- строка заголовка для сохраняемой в лог файл информации.
Дополнительные параметры
Дополнительные параметры устанавливаются через публичные свойства класса \App\DebugLogger\DebugLogger
:
Нестатическое свойство | По умолчанию | Описание |
---|---|---|
$isActive |
false | Включает или выключает логирование для конкретного файла, задаваемого параметром $logFileName метода instance() |
Статическое свойство | По умолчанию | Описание |
---|---|---|
$logFileDir |
temp/ |
Устанавливает каталог, в котором сохраняются лог-файлы |
mkdirMode |
0755 | Устанавливает режим доступа для создаваемых каталогов для хранения лог файлов в виде восьмеричного числа |
$uniqIdLength |
7 | Длина уникального буквенно-цифрового [a-z0-9]+ идентификатора объекта класса DebugLogger для сохранения в лог файле, позволяющего находить записи, созданные одним и тем же процессом |
Примеры
Пример результатов логирования:
Формат заголовков лога
oun0lym
- уникальный буквенно-цифровой [a-z0-9]+ идентификатор объекта классаDebugLogger
, позволяющий находить в лог файле записи, созданные одним и тем же процессом;2020-06-15 12:08:07.364074 +00:00
- дата и время сохранения информации с точностью до микросекунд;Δ0.632026 s
- время, прошедшее с момента предыдущего сохранения информации в секундах и микросекундах;0.53/2.00 MiB
- данные об используемой оперативной памяти в единицах количества информации с двоичными приставками:0.53
- максимальный объем памяти, который был выделен PHP-скрипту системой;2.00
- реальный объем памяти, выделенный PHP-скрипту системой;
Class: App\Bizon365\Bizon365API
- полное имя класса из которого выполнено сохранение в лог файл.
Автор
© 2019-2021 andrey-tech
Лицензия
Данный код распространяется на условиях лицензии MIT.
All versions of bizon365-api-php with dependencies
ext-json Version *
andrey-tech/http-client-php Version ^3.0
andrey-tech/debug-logger-php Version ^2.0