Какой API мне использовать? REST против WebSocket

Последнее обновление: 8 авг. 2025 г.

Наши API предоставляют способ программного взаимодействия с нашими платформами, но обе платформы предлагают два разных интерфейса: на спотовом рынке — REST и WebSocket (v1 и v2), а на фьючерсном рынке также доступны API REST и WebSocket. Иногда выбор наиболее подходящего интерфейса для конкретной задачи может быть сложным решением.

Различия между REST и WebSocket

На спотовом рынке, хотя оба интерфейса предоставляют одни и те же рыночные данные (книги ордеров, история торгов и т. д.) и одни и те же данные учетной записи (балансы счетов, статус ордеров/сделок и т. д.), REST и WebSocket делают это значительно по-разному.

REST предлагает интерфейс типа «вызов/ответ» (вопрос/ответ) и предоставляет моментальный снимок текущих данных, в то время как WebSocket предлагает интерфейс типа «живой поток» и предоставляет обновления в реальном времени.

Аналогией может служить разница между фотографией и видео: по запросу фотография предоставляет моментальный снимок объекта, но без дальнейших обновлений, в то время как видео обеспечивает просмотр объекта в реальном времени с потоковыми обновлениями.

Простота реализации

Хотя ни REST, ни WebSocket не сложны в реализации, общепризнано, что REST менее сложен, что позволяет сократить время разработки и быстрее решать любые последующие проблемы.

REST основан на стандартных HTTPS-запросах, которые включены в стандартные библиотеки всех современных языков программирования (и могут быть легко написаны с нуля, если нет), тогда как WebSocket основан на обновлении WSS с HTTPS, что обычно требует дополнительных сторонних библиотек (таких как наша рекомендуемая библиотека WebSocket для Python).

Наши страницы поддержки API предоставляют готовый к использованию пример кода как для REST, так и для WebSocket, поэтому выбор интерфейса может быть сделан на основе более критических критериев, а не простоты реализации.

Какой API-интерфейс мне использовать? (REST или WebSocket)

В зависимости от поставленной задачи оптимальным выбором будет либо только REST, либо только WebSocket, либо, что более вероятно, комбинация REST и WebSocket.

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

Для задач, требующих самых актуальных рыночных данных, предпочтительным выбором будет WebSocket. Например, арбитражному боту потребуются рыночные данные в реальном времени с нескольких рынков, чтобы воспользоваться моментальными расхождениями в ценах, поэтому потоки рыночных данных WebSocket будут идеальным выбором.

В большинстве случаев (например, для большинства торговых ботов) комбинация REST и WebSocket позволит добиться наиболее эффективной реализации. Например, мобильному приложению могут потребоваться рыночные данные в реальном времени для его графиков, в то время как данные учетной записи нужны лишь изредка (например, при совершении сделки или транзакции пополнения), поэтому использование потоков рыночных данных WebSocket наряду с конечными точками REST для статуса ордеров/сделок/пополнений будет наиболее эффективной комбинацией.

Где найти совет по оптимальной реализации API

Наша команда поддержки API будет рада обсудить с вами вашу реализацию API и дать рекомендации по оптимальному использованию нашего API на основе вашего предполагаемого сценария использования.

Нужна дополнительная помощь?