Перейти к основному содержимому

Размещение ордеров

Отправляйте ордера на рынки типа orderbook с помощью эндпоинта POST /api/v1/market/orders. Это основной способ торговли, когда рынок использует пиринговое сопоставление ордеров.

Эндпоинт

POST /api/v1/market/orders
Authorization: Bearer <token>
Content-Type: application/json

Тело запроса

ПолеТипОбязательноОписание
market_idintegerДаРынок для торговли.
typestringДа"buy" или "sell".
kindstringДа"limit" или "market".
token_typestringДа"YES" или "NO".
priceintegerТолько для limitЦена в копейках, диапазон 0--10000 (0%--100%). Обязательна для лимитных ордеров, игнорируется для рыночных.
amountintegerДаДля ордеров покупки: бюджет в копейках (сколько хотите потратить). Для ордеров продажи: количество акций в копейках (сколько акций продать).
use_bonusbooleanНетЕсли true, списывается с бонусного баланса пользователя. По умолчанию false.

Ключевые правила

  • Диапазон цен: Должен быть между 0 и 10000 (включительно). Цена 5000 означает 50%.
  • Сумма покупки = бюджет: При покупке amount -- это общая сумма, которую вы готовы потратить (в копейках). Количество полученных акций зависит от цены исполнения.
  • Сумма продажи = акции: При продаже amount -- это количество акций-копеек, которые вы хотите продать.
  • Лимитные ордера требуют цену: Поле price обязательно для лимитных ордеров и определяет максимальную цену (для покупок) или минимальную цену (для продаж).
  • Рыночные ордера без цены: Рыночные ордера исполняются немедленно по лучшей доступной цене в книге ордеров.

Пример: Размещение лимитного ордера на покупку

Купить токены YES на рынке по максимальной цене 6500 (65%), потратив до 100000 копеек (1000 единиц валюты):

curl -X POST https://api.intotes.com/api/v1/market/orders \
-H "Authorization: Bearer eyJhbG..." \
-H "Content-Type: application/json" \
-d '{
"market_id": 100,
"type": "buy",
"kind": "limit",
"token_type": "YES",
"price": 6500,
"amount": 100000
}'

Пример: Размещение рыночного ордера на продажу

Продать 5000 акций-копеек токенов NO по текущему лучшему bid:

curl -X POST https://api.intotes.com/api/v1/market/orders \
-H "Authorization: Bearer eyJhbG..." \
-H "Content-Type: application/json" \
-d '{
"market_id": 100,
"type": "sell",
"kind": "market",
"token_type": "NO",
"amount": 5000
}'

Ответ

Успешный ответ возвращает объект созданного ордера с его id, текущим status и временными метками. Ордер начинает сопоставление немедленно, если это рыночный ордер, или попадает в книгу ордеров, если это лимитный ордер.

Отмена ордера

Для отмены ожидающего или частично исполненного лимитного ордера:

DELETE /api/v1/market/orders/{order_id}
Authorization: Bearer <token>

Только ордера со статусом pending или partial могут быть отменены. Неисполненная часть возвращается на ваш баланс.

Случаи ошибок

СценарийОписание
Недостаточный балансВаш баланс (или бонусный баланс при use_bonus true) не покрывает сумму ордера.
Недействительный рынокmarket_id не существует или рынок не активен.
Недопустимый диапазон ценЦена вне диапазона 0--10000 для лимитного ордера.
Отсутствует цена для limitЛимитный ордер отправлен без поля price.
Рынок закрытРынок больше не принимает ордера (событие разрешено или приостановлено).

См. также