Download the PHP package tigusigalpa/bcs-trade-php without Composer
On this page you can find all versions of the php package tigusigalpa/bcs-trade-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package bcs-trade-php
BCS Trade PHP/Laravel Client
PHP/Laravel клиент для BCS Trade API — торгового API брокера БКС. Работает по HTTP и WebSocket.
Возможности
- Все HTTP эндпоинты BCS Trade API
- Все WebSocket каналы (real-time данные)
- Автообновление OAuth 2.0 токенов
- Кастомные исключения для разных типов ошибок
- Повторные попытки при сетевых сбоях
- Обработка rate limiting (HTTP 429)
- Валидация запросов (лимит 1000 баров для свечей)
- Автопагинация при запросе больших объёмов исторических данных
- PHP 8.1+ (enums, readonly properties)
- Laravel 9, 10, 11, 12
- PSR-12
- Тесты на Pest
Требования
- PHP 8.1 или выше
- Laravel 9.x, 10.x, 11.x или 12.x
- Composer
Установка
Через Composer:
Публикация конфига:
Конфигурация
Получение Refresh Token
- Войдите в БКС Мир Инвестиций
- Перейдите в раздел API
- Создайте новый токен и скопируйте
refresh_token - Токен действителен 90 дней
Переменные окружения
В .env:
Параметры конфигурации
config/bcs-trade.php:
| Параметр | Описание | По умолчанию |
|---|---|---|
refresh_token |
Refresh token из БКС Мир Инвестиций | - |
client_id |
Scope токена: trade-api-read или trade-api-write |
trade-api-read |
cache_store |
Хранилище кеша для токенов | file |
cache_prefix |
Префикс ключей кеша | bcs_trade_ |
timeout |
Таймаут HTTP запросов (секунды) | 30 |
connect_timeout |
Таймаут подключения (секунды) | 10 |
retry_attempts |
Количество повторных попыток | 3 |
retry_delay |
Задержка между попытками (мс) | 500 |
Использование
Базовая инициализация
HTTP API
Аутентификация
Лимиты портфеля
Портфель
Справочная информация
Рыночные данные (свечи)
Торговые операции (Orders)
Важно: Для торговых операций требуется client_id = 'trade-api-write'
Сделки
Скидки на инструменты
WebSocket API
Все WebSocket каналы поддерживают автоматическое переподключение с экспоненциальной задержкой.
Лимиты (Real-time)
Портфель (Real-time)
Маржинальные показатели
Последняя свеча
Стакан котировок (Order Book)
Котировки
Обезличенные сделки (All Trades)
Статус исполнения ордеров
Статус транзакций
Обработка ошибок
Для каждого типа ошибок — своё исключение:
Примеры использования
Пример 1: Получение текущей цены акции
Пример 2: Создание и отслеживание ордера
Пример 3: Мониторинг портфеля в реальном времени
Пример 4: Получение исторических данных за год
Тестирование
Тесты написаны на Pest.
Документация API
Документация BCS Trade API: https://trade-api.bcs.ru
Разделы:
- Ограничения API
- HTTP: Авторизация
- HTTP: Лимиты
- HTTP: Портфель
- HTTP: Справочная информация
- HTTP: Рыночные данные
- HTTP: Торговые операции
- HTTP: Сделки
- WebSocket: Обзор
Важные ограничения
- Refresh Token: Действителен 90 дней. После истечения необходимо получить новый через веб-интерфейс БКС.
- Исторические свечи: Максимум 1000 баров за один запрос (с 02.03.2026). Используйте
getCandlesPaginated()для больших периодов. - Rate Limiting: API имеет ограничения на количество запросов. Обрабатывайте
BCSRateLimitException. - Торговые операции: Требуют
client_id = 'trade-api-write'.
Changelog
См. CHANGELOG.md.
Лицензия
MIT. См. LICENSE.
Автор
Igor Sazonov
- Email: [email protected]
- GitHub: @tigusigalpa
Поддержка
Баги и предложения — в Issues, пулл-реквесты — сюда.
Дисклеймер: пакет не является официальным продуктом БКС. Используйте на свой риск.
All versions of bcs-trade-php with dependencies
guzzlehttp/guzzle Version ^7.0
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
ratchet/pawl Version ^0.4
ramsey/uuid Version ^4.7