Download the PHP package haikiri/mikbill without Composer
On this page you can find all versions of the php package haikiri/mikbill. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package mikbill
MikBiLL PHP SDK
MikBiLL PHP SDK для работы с клиентами. Получение токена, данных клиентов. Управление подписками, отписками и т.д...
⚙️ Требования
Рекомендуемая версия PHP >=8.0 и composer.
📦 Установка
📚 Ссылки
- Ссылка на этот SDK
- Ссылка на этот SDK в Composer
- Структура API сервера в Postman
- Установка и настройка API сервера
📂 Структура
Так как официальная документация и сам MikBiLL API не использует систему версионирования, данная библиотека будет всегда актуальной и по мере возможностей сохранять старые методы взаимодействия.
Эта SDK библиотека будет наполняться по мере необходимости, возможностей и откликов.
Большинство методов и примеры их использования будут перечислены в папке тестирования tests.
Ниже в структуре будут перечислены ссылки на классы и тесты...
На что вы можете рассчитывать:
- [F] - Функционал завершён.
- [MD] - Основной функционал завершён. (Дочерние методы, возможно, могут быть добавлены позднее)
- [P] - В приоритете. (По планам завершить в ближайшее время)
- [MP] - Средний приоритет. (Было бы хорошо иметь, но не критично, когда-нибудь...)
- [LP] - Низкий приоритет. (Возможно появление базового функционала для некоторых методов в будущем)
- [NP] - Не запланирован. (Может быть в будущем/По запросу)
- [??] - Требуется проверка.
Все запросы в Billing Api должны быть подписаны общим HMAC ключом. Пример смотри ниже.
Все запросы в Cabinet Api должны быть подписаны Bearer токеном клиента. Пример получения токена для бота либо для личного кабинета.
- Billing API
- Users [F]
- Cabinet API
- Auth [F]
- Tickets [F]
- Common [F]
- Packet [F]
- User [MD]
- Данные Клиента
- Напомнить пароль
- Изменить пароль
- Изменить тариф
- Contacts [P]
- Register Hotspot [NP]
- Payments [MD]
- Services [MP]
- Услуга Турбо
- Услуга Заморозка
- Услуга Кредит
- Real IP [MP]
- Change MAC [LP]
- Money Transfers [LP]
- Subscriptions [MD]
- Additional
- Middleware
- Other
- Прочие методы... [NP]
- Devices [NP]
- Reports [F]
- News [F]
🧯 Обработка ошибок
Проект поддерживает лёгкую обработку ошибок с помощью исключений.
- Исключения, которые могут быть выброшены в стандартной реализации SDK:
BillApiException— отлавливает ответы биллинга и возвращает оригинальный код и текст ошибки.UnauthorizedException— вызывается если произошла ошибка получения данных в следствии авторизации.Throwable— используйте с осторожностью для глубокого отлова всех остальных ошибок.
- Полный список исключений можете найти в
src/Exception
Оборачивай вызовы в try-catch чтобы отловить исключения:
🚀 Пример использования
Инициализация проекта
Используй эту базовую конструкцию где-нибудь в своём проекте, чтобы инициализировать SDK:
Обрати внимание, что при использовании отладки, используется системный
error_logдля регистрации запросов и ответов.
💬 Напоследок:
Токен нужно записывать в stateless хранилище каждый раз для отправки запросов к Cabinet API. Пример записи токена:
Обрати внимание, что почти над каждым методом в исходном коде были оставлены комментарии. Некоторые поля и методы не описаны, т.к. официальной документации на каждый параметр попросту нет. Будет круто, если ты поможешь заполнить пробелы и знаешь что за что отвечает...
Если в каком-то объекте нет нужной модели, нет времени ждать внесения изменений, ты можешь использовать метод:
getAsArray – он вернёт тебе традиционный response["data"] массив данных, напрямую из запроса.
getData - он позволит обращаться к вложенным массивам в стиле "точки.доступа", например getData("data.info.user").
Если хочешь дополнить библиотеку — напиши по контактам в
composer.json.