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

POST /api/v1/partner/sell

Продажа заданного количества акций за одного из пользователей партнёра — полное или частичное закрытие позиции, открытой через Place Bet.

Выплата остаётся на суб-аккаунте пользователя — на аккаунт-флоат она не возвращается. Её можно использовать под следующие ставки пользователя или прочитать через Get User State.

Аутентификация

Обязательно. API-ключ партнёра в заголовке X-Partner-Key.

Запрос

Параметры тела запроса

ПараметрТипОбязательноОписание
external_user_idstringДаИдентификатор пользователя в вашей системе.
market_idint64ДаID рынка, на котором совершается продажа.
sidestringДаПродаваемая сторона: "yes" или "no".
sharesintДаКоличество продаваемых акций. 100 акций = 1 токен.
client_bet_idstringДаВаш уникальный ключ идемпотентности для этой продажи.

Пример

curl -X POST https://api.intotes.com/api/v1/partner/sell \
-H "X-Partner-Key: <partner_key>" \
-H "Content-Type: application/json" \
-d '{
"external_user_id": "user_42",
"market_id": 12345,
"side": "yes",
"shares": 91234,
"client_bet_id": "sell_abc_001"
}'

Ответ

200 OK

{
"status": "accepted",
"client_bet_id": "sell_abc_001",
"external_user_id": "user_42",
"user_id": 987654,
"market_id": 12345,
"side": "sell_yes",
"payout_kopecks": 61000,
"shares_delta": -91234
}

Поле side в ответе содержит направление исполненной сделки — "sell_yes" или "sell_no" — а не то значение side, которое было отправлено в запросе.

Поля ответа

ПолеТипОписание
statusstring"accepted", когда продажа исполнена.
client_bet_idstringКлюч идемпотентности, отправленный в запросе.
external_user_idstringИдентификатор пользователя в вашей системе.
user_idint64ID суб-аккаунта Intotes, привязанного к external_user_id.
market_idint64Рынок, на котором проданы акции.
sidestringНаправление исполненной сделки: "sell_yes" или "sell_no".
payout_kopecksintВыплата, зачисленная на суб-аккаунт пользователя, в копейках.
shares_deltaintИзменение позиции, отрицательное при продаже. 100 акций = 1 токен.

Идемпотентность

Пара (partner, client_bet_id) уникальна, поэтому повтор запроса с client_bet_id, который уже был принят, не исполняет продажу второй раз.

Тело ответа на такой повтор для этого эндпоинта не документировано. Документированный ответ на повтор приведён на странице Place Bet, а полный контракт идемпотентности — в разделе Партнёрская интеграция.

Примечания

Ошибки

СтатусКодОписание
400BAD_BODYНевалидный JSON в теле запроса.
400BAD_PARAMSОтсутствуют или неверны обязательные поля.
400TRADE_FAILEDСделка отклонена, например, если рынок закрыт.
404NO_ACCOUNTУ пользователя нет суб-аккаунта или позиций.

Ошибки аутентификации, общие для всех партнёрских эндпоинтов, перечислены в разделе Обзор, а полный справочник кодов — в разделе Обработка ошибок.