okx-php

0

Описание

PHP SDK для API криптовалютной биржи OKX версии 5. Охватывает все 335 REST‑эндпоинтов и 53 канала WebSocket. Поддерживает подписание по алгоритму HMAC‑SHA256, типизированные DTO (объекты передачи данных), режим демо‑торговли и WebSocket‑клиент с автоматическим переподключением. Поставляется с провайдером услуг Laravel и фасадом для Laravel 11/12

Языки

  • PHP100%
20 дней назад
20 дней назад
20 дней назад
20 дней назад
20 дней назад
20 дней назад
20 дней назад
20 дней назад
20 дней назад
README.md

OKX PHP SDK

OKX PHP client

PHP Version License

PHP-клиент для OKX v5 API. Охватывает весь REST API (335 эндпоинтов, 16 категорий) и WebSocket API (53 канала). Работает как автономно, так и подключается к Laravel 11/12 через Service Provider.

Версия для Go: tigusigalpa/okx-go | Wiki

GitHub версия: https://github.com/tigusigalpa/okx-php

Что внутри

  • 335 эндпоинтов REST, сгруппированных в сервисные классы (
    account()
    ,
    trade()
    ,
    market()
    и т.д.)
  • WebSocket-клиент с автоматическим переподключением и проверкой активности (ping/pong)
  • Подписание запросов HMAC-SHA256
  • Режим демо-торговли (просто переключите флаг)
  • Типизированные DTO для запросов и ответов; все цены/суммы остаются в виде
    string
    , чтобы избежать ошибок округления float
  • Laravel Service Provider, Facade, публикуемый конфиг
  • Логирование по стандарту PSR-3, стиль кода PSR-12
  • PHP 8.2+ (классы
    readonly
    , именованные аргументы)

Требования

  • PHP 8.2+
  • Composer
  • Laravel 11 или 12 (опционально)

Установка

Настройка для Laravel

Опубликуйте конфиг:

Добавьте учетные данные в

.env
:

Затем используйте фасад:

Автономное использование

Конфигурация

ОпцияПеременная окруженияПо умолчанию
api_key
OKX_API_KEY
''
API ключ
secret_key
OKX_SECRET_KEY
''
Секретный ключ
passphrase
OKX_PASSPHRASE
''
Парольная фраза
demo
OKX_DEMO
false
Использовать демо-среду
base_url
OKX_BASE_URL
https://www.okx.com
Базовый URL

Покрытие REST API

335 эндпоинтов в 16 категориях:

WebSocket

Публичный канал:

Приватный канал (аутентификация происходит автоматически при подключении):

Публичные каналы включают

tickers
,
books
,
books5
,
trades
,
candle*
,
index-tickers
,
mark-price
,
funding-rate
,
open-interest
,
liquidation-orders
и другие.

Приватные каналы включают

account
,
positions
,
orders
,
orders-algo
,
fills
,
balance_and_position
,
liquidation-warning
,
deposit-info
,
withdrawal-info
и другие.

Демо-торговля

Установите

OKX_DEMO=true
в
.env
или передайте
isDemo: true
в конструктор. Тот же API, песочница, без реальных денег.

Примеры

Ордер с TP/SL:

Пакетные ордера:

Установить кредитное плечо:

Исторические свечи:

Вывод средств:

Обработка ошибок

Каждый тип ошибки имеет свой собственный класс исключения. Все они наследуют

OKXException
, который несет в себе необработанный код ошибки OKX в
$e->okxCode
.

Логирование

Передайте любой PSR-3 логгер в конструктор:

Учетные данные никогда не записываются в логи.

Тестирование

Модульные тесты:

Интеграционные тесты (требуются демо-учетные данные):

Участие в разработке

  1. Сделайте форк
  2. Создайте ветку (
    git checkout -b fix/something
    )
  3. Внесите свои изменения, добавьте тесты
  4. Отправьте изменения и откройте PR

Код должен соответствовать PSR-12. Тесты должны проходить.

Безопасность

Нашли уязвимость? Напишите напрямую на sovletig@gmail.com. Не создавайте публичную проблему.

Лицензия

MIT. См. LICENSE.

Ссылки