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 сервера
📂 Структура
Проект построен на основе официальной структуры API MikBiLL с возможностью расширения и заменой частей кода. Так как официальная документация и сам MikBiLL API не использует систему версирования, данная библиотека будет всегда актуальной и по мере возможностей сохранять старые методы взаимодействия.
Эта SDK библиотека будет наполняться по мере необходимости, возможностей и откликов.
Теперь большинство методов и примеры их использования будут перечислены либо в папке тестирования tests
либо в wiki.
Ниже в структуре будут перечислены ссылки на вики, классы или тесты...
На что вы можете рассчитывать:
- [F] - Функционал завершён.
- [MD] - Основной функционал завершён. (Дочерние методы, возможно, могут быть добавлены позднее)
- [P] - В приоритете. (По планам завершить в ближайшее время)
- [MP] - Средний приоритет. (Было бы хорошо иметь, но не критично, когда-нибудь...)
- [LP] - Низкий приоритет. (Возможно появление базового функционала для некоторых методов в будущем)
- [NP] - Не запланирован. (Может быть в будущем/По запросу)
- [??] - Требуется проверка.
Все запросы в Billing Api должны быть подписаны общим HMAC ключом. Пример смотри ниже.
Все запросы в Cabinet Api должны быть подписаны Bearer токеном клиента. Пример получения токена для бота либо для личного кабинета.
- Billing API
- Users [F]
- Получить токен клиента [F]
- Поиск клиента [F]
- Kick User [deprecated]
- Bind User [deprecated]
- Users [F]
- Cabinet API
- Auth [F]
- Tickets [F]
- Common [F]
- Время сервера [F]
- IP Клиента [F]
- Версия MikBiLL [F]
- Конфигурация [MD]
- Контакты компании [F]
- Меню сайта [F]
- Packet [MD]
- Доступные тарифы [F]
- Информация об тарифе [MD]
- User [MD]
- Contacts [MP]
- Данные Клиента [F]
- Напомнить пароль [F]
- Изменить пароль [??]
- Изменить тариф [??]
- Register Hotpost [NP]
- Payments [MD]
- Voucher [F]
- Прочие методы... [NP]
- Services [MP]
- Услуга Турбо [F]
- Услуга Заморозка [F]
- Real IP [MP]
- Услуга Кредит [F]
- Change MAC [LP]
- Money Transfers [LP]
- Subscriptions [MD]
- Additional [F]
- Middleware [F]
- Other [F]
- Прочие методы... [NP]
- Devices [NP]
- Reports [F]
- News [F]
- Новости [F]
🧯 Обработка ошибок
Проект поддерживает легкую обработку ошибок с помощью исключений. Если вам необходимо более детальная возможность отлова ошибок, вы можете заменить входную точку этого SDK на свой класс. Вы не в клетке. Пример с чего начать собственную реализацию входной точки SDK смотри по ссылке: Своя реализация sendRequest. Строка 100.
- Исключения, которые могут быть выброшены в стандартной реализации SDK:
BillApiException
— отлавливает ответы биллинга и возвращает оригинальный код и текст ошибки.UnauthorizedException
— вызывается если произошла ошибка получения данных в следствии ошибки авторизации.Throwable
— используйте с осторожностью для глубокого отлова всех остальных ошибок.
[!IMPORTANT] Полный список исключений можете найти в
src/Exception
Оборачивай вызовы в try-catch
чтобы отловить исключения:
🚀 Пример использования
Инициализация проекта
Используй эту базовую конструкцию где-нибудь в своём проекте, чтобы инициализировать SDK:
Проксирование
Если по какой-либо причине есть необходимость в прокси-сервере:
[!NOTE]
По умолчанию используется socks5. Ты можешь добавить следующий параметр для использования других версий, например 4:
💬 Напоследок:
Не забывай после получения токена клиента ЗАПИСАТЬ ЕГО!
Токен нужно записывать в stateless хранилище каждый раз для отправки запросов к Cabinet API
. Пример записи токена:
Обрати внимание, что почти над каждым методом в исходном коде были оставлены комментарии. Но некоторые поля описаны неполно, либо вообще не описаны, потому что официальной документации на каждое поле БД – нет. Будет круто, если ты поможешь заполнить пробелы и знаешь что за что отвечает...
Если в каком-то объекте нет нужной модели, нет времени ждать внесения изменений, ты можешь использовать метод:
getAsArray
– он вернёт тебе традиционный response["data"] массив данных, напрямую из запроса.
getData
- он позволит обращаться к вложенным массивам в стиле "точки.доступа", например getData("data.info.user")
.
Если хочешь дополнить библиотеку — напиши по контактам в
composer.json
.
All versions of mikbill with dependencies
ext-curl Version *
haikiri/declension-helper Version ^1.0
guzzlehttp/guzzle Version ^7.9