Рекомендации по интеграции

Просмотр в формате Markdown

Используйте эти рекомендации как базу готовности к производству. Они дополняют конечную точку и помогают интеграциям безопасно восстанавливаться после тайм-аутов, повторных подключений, дублированных запросов и инцидентов с учетными данными.

Аутентификация и секреты

  • Предпочтение API Key подписи для серверных торговых программ и JWT для пользовательских фронтенд-действий.
  • Храните apiSecret в управлении секретами на сервере. Он отображается только один раз и никогда не должен отправляться в браузер или мобильный клиент.
  • Применять минимально необходимые API Key разрешения и ограничивать исходные IP, когда среда интеграции поддерживает стабильные адреса выхода.
  • Немедленно отключить или удалить утечку ключа, затем проверить журналы запросов перед выдачей замены.

Запрос валидации и идемпотентности

  • Перед размещением заказов выполните запрос /v1/public/market/symbols и локально проверяйте tickSize, stepSize, минимальное номинальное значение и максимальное количество.
  • Генерировать уникальный clientOrderId для каждого записи ордера, чтобы запросы можно было сверить после разрыва.
  • Сохранить исходный идентификатор, когда результат HTTP неопределён. Запросить существующий ордер перед созданием запроса на замену.
  • Рассматривать десятичные числа и цены как строки или десятичные типы, а не бинарные значения с плавающей точкой.

Ордер и состояние WebSocket

  • Определить окончательное состояние после операций cancel, cancel-all или изменения из private WebSocket events или REST запроса.
  • Воспринимать каждое повторное подключение как новую WebSocket сессию и восстанавливать все необходимые подписки.
  • Проверьте непрерывность книги заказов с помощью endVersion. Если появляется пробел в версии, отбросьте локальную книгу и заново подпишитесь для нового снимка.
  • Дедупликация частных событий заказов и счетов перед их применением к балансам, позициям или записям партнёров.

Логирование, мониторинг и повторные попытки

  • Запись запроса ID, ID заказа клиента, HTTP статус, API бизнес-кода, задержки и количество повторных попыток без логирования секретов или полных токенов.
  • Повторять только операции, задокументированные как безопасные, используя ограниченный экспоненциальный откат и джиттер.
  • Оповещения о сбоях аутентификации, ошибках подписи, ответах с ограничением скорости, циклах WebSocket повторного подключения, пробелах последовательностей и различиях в сверке ордеров.
  • Синхронизировать часы сервера, поскольку аутентификация и подпись зависят от временных меток.

До производства

  • Выполнять тайм-аут, дублировать запросы, повторное подключение, вращать ключ и повторные сценарии вебхука в непроизводственной среде.
  • Назначать владельцев для ротации учетных данных, торговых инцидентов, сбоев вебхуков и сверки.
  • Заполнить чек-лист запуска производства и использовать шаблон запроса поддержки при необходимости эскалации.