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

Старт в Боевом контуре

подсказка

Это руководство описывает взаимодействие с боевым контуром системы, для которого потребуется действующий торговый аккаунт клиента АЛОР Брокер. Руководство для тестового контура, не требующего настоящего торгового аккаунта, описано здесь.

Шаг 1. Регистрация учётной записи разработчика

Учётная запись разработчика нужна для получения доступа к механизмам авторизации запросов к торговой системе.

Уже сделано?

Если учётная запись разработчика была зарегистрирована ранее, перейдите к следующему шагу.

Для создания учётной записи разработчика выполните следующие действия:

  1. Перейдите на портал разработчика и нажмите кнопку Авторизоваться в правом верхнем углу
  2. Нажмите на ссылку Зарегистрироваться, расположенную ниже формы авторизации
  3. Заполните обязательные поля и нажмите кнопку Зарегистрироваться
  4. Подтвердите указанный при регистрации email, перейдя по ссылке из автоматически отправленного письма
  5. Перейдите на страницу авторизации и войдите в созданную учётную запись разработчика с данными, указанными при регистрации

Регистрация учётной записи разработчика выполняется единоразово и не требует повторения при каждом последующем выполнении запросов к API.

Подробнее

Детальная информация об учётной записи разработчика доступна в соответствующей статье.


Шаг 2. Привязка торгового аккаунта

Большинство запросов к API предполагают выполнение от имени определённого торгового аккаунта. Чтобы генерируемые авторизационные токены имели привязку к выбранному торговому аккаунту, его необходимо указать в учётной записи разработчика.

подсказка

Если нужный торговый аккаунт был привязан к учётной записи разработчика ранее, перейдите к следующему шагу.

Чтобы привязать торговый аккаунт к учётной записи разработчика, выполните следующие действия:

  1. Перейдите на страницу Токены для доступа к API
  2. Укажите логин и пароль от торгового аккаунта в соответствующих полях и нажмите кнопку Привязать

Привязка торгового аккаунта выполняется единоразово и не требует повторения при каждом последующем выполнении запросов к API.

Подробнее

Детальная информация о привязке торгового аккаунта доступна в соответствующей статье.


Шаг 3. Получение Refresh токена

В качестве основного механизма, рекомендованного для большинства случаев работы с API, используется авторизация запросов с помощью JWT.

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

подсказка

Если Refresh токен был создан ранее и срок его действия не истёк, перейдите к следующему шагу.

Чтобы выписать новый Refresh токен от имени боевого торгового аккаунта, выполните следующие действия:

  1. Перейдите на страницу Токены для доступа к API
  2. Создайте новый Refresh токен нажатием кнопки Выписать токен
  3. Просмотреть созданный токен можно, найдя его в списке ниже и нажав кнопку Показать

Полученный Refresh токен действителен в течение 1 года с момента создания. При истечении срока действия или ручном отзыве токена процедуру создания потребуется провести повторно.

Подробнее

Детальная информация о Refresh токенах доступна в соответствующей статье.


Шаг 4. Получение Access токена

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

подсказка

Если Access токен был создан ранее и срок его действия не истёк, перейдите к следующему шагу.

Для создания Access токена отправьте POST-запрос к конечной точке /refresh сервера авторизации. Для боевого контура этот сервер доступен по адресу https://oauth.alor.ru.

Отправляемый запрос должен содержать действующий Refresh токен, созданный с привязкой к нужному торговому аккаунту.

Пример запроса:

https://oauth.alor.ru/refresh?token=12b...cac

Где 12b...cacRefresh токен.

В ответ сервер авторизации вернёт JSON объект, содержащий Access токен:

{
"AccessToken": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJzdWIiOiJMb2dpblNhbXBsZSIsImVudCI6ImNsaWVudCIsImVpbiI6IjAxMjM0IiwiY2xpZW50aWQiOiIwMTIzNDU2IiwiYXpwIjoiMDEyMzQ1Njc4OWFiY2RlZjAxMjMiLCJhZ3JlZW1lbnRzIjoiQWdyZWVtZW50U2FtcGxlMSBBZ3JlZW1lbnRTYW1wbGUyIEFncmVlbWVudFNhbXBsZTMiLCJwb3J0Zm9saW9zIjoiUG9ydGZvbGlvU2FtcGxlMSBQb3J0Zm9saW9TYW1wbGUyIFBvcnRmb2xpb1NhbXBsZTMiLCJzY29wZSI6Ik9yZGVyc1JlYWQgT3JkZXJzQ3JlYXRlIFRyYWRlcyBQZXJzb25hbCBTdGF0cyIsImV4cCI6Mjg3MTc2MzE5OSwiaWF0IjowLCJpc3MiOiJBbG9yLklkZW50aXR5IiwiYXVkIjoiQ2xpZW50IFdBUlAgV2FycEFUQ29ubmVjdG9yIHN1YnNjcmlwdGlvbnNBcGkgQ29tbWFuZEFwaSBJbnN0cnVtZW50QXBpIFRyYWRpbmdWaWV3UGxhdGZvcm0ifQ.QOQVMIAoZ6SnF5urnIzJ0EvtQd9P5Sx355069kXoID207wHOTW0wkKNMcrIKXmENEQQ_0yDjqH_kjeqWLBJuqA"
}

Полученный Access токен действителен в течение 30 минут с момента создания. При истечении срока действия токена процедуру создания потребуется провести повторно.

Интерактивный запрос

Для запроса на обновление Access токена доступно интерактивное описание на странице Обновление JWT токена.

Подробнее

Детальная информация об Access токенах доступна в соответствующей статье.


Шаг 5. Отправка запросов

Взаимодействие с АЛОР Брокер API возможно как через HTTP API (REST), так и через WebSocket API. При этом часть поддерживаемых торговой системой операций доступна в обоих вариантах взаимодействия.

Получение информации о биржевом стакане финансового инструмента

HTTP API даёт возможность взаимодействовать с системой в рамках краткосрочного соединения, предназначенного для однократного обмена сообщениями — по одному ответу на каждый запрос. В возвращаемом сервером ответе передаётся информация, актуальная на момент выполнения запроса. Для обновления полученных данных спустя время потребуется самостоятельно повторить выполнение того же запроса.

Чтобы получить информацию о биржевом стакане интересующего инструмента на нужной бирже через HTTP API, отправьте запрос GET к конечной точке /md/v2/orderbooks/{exchange}/{symbol} сервера API. При этом:

  • Сервер API боевого контура: https://api.alor.ru;
  • {exchange} должен содержать фактический код биржи;
  • {symbol} должен содержать фактический код (тикер) инструмента.
Параметры запроса

Перед выполнением запроса убедитесь, что заполнены все необходимые path-, query- и header-параметры.

Пример URL запроса:

https://api.alor.ru/md/v2/orderbooks/MOEX/SBER

Если необходимо, укажите в URL поддерживаемые запросом query-параметры:

  • depth — Глубина стакана. Стандартное и максимальное значение: 20 (20х20)
  • format — Формат возвращаемого сервером JSON-объекта: Simple, Slim, Heavy. Стандартное значение: Simple.

Пример URL запроса с query-параметрами:

https://api.alor.ru/md/v2/orderbooks/MOEX/SBER?depth=1&format=Simple

Для успешного выполнения запроса необходимо указать значения для обязательных параметров заголовка:

  • Параметр Authorization должен содержать значение Bearer <Token>, где Token — Access токен, полученный ранее.

Заполните все параметры актуальными для задачи значениями и выполните запрос. В случае успешно обработки запроса сервер в ответ вернёт JSON-объект с информацией.

{
"snapshot": true,
"bids": [
{
"price": 281.98,
"volume": 36
}
],
"asks": [
{
"price": 281.99,
"volume": 11
}
],
"timestamp": 1701105939,
"ms_timestamp": 1701105939395,
"existing": true
}

Если синтаксис запроса был нарушен или указаны некорректные значения, сервер вернёт JSON-объект с соответствующими ошибке значениями.

Подробнее

Детальная информация об HTTP запросе на получение информации о биржевом стакане доступна на странице интерактивного описания запроса.


Создание рыночной заявки на приобретение выбранного инструмента

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

Перед выполнением запроса убедитесь, что заполнены все необходимые path-, query- и header-параметры.

Чтобы создать рыночную заявку на покупку ценной бумаги на выбранной бирже через HTTP API, отправьте POST запрос к конечной точке /commandapi/warptrans/TRADE/v2/client/orders/actions/market сервера API. При этом:

  • Сервер API боевого контура: https://api.alor.ru;
  • Все параметры заявки должны быть переданы в теле запроса.
Пример URL запроса
https://api.alor.ru/commandapi/warptrans/TRADE/v2/client/orders/actions/market

Для успешного выполнения запроса необходимо указать значения для обязательных параметров заголовка:

  • Параметр Authorization должен содержать значение Bearer <Token>, где Token — Access токен, полученный ранее.
  • Параметр X-REQID должен содержать значение <ID>, где ID — сгенерированный пользователем уникальный идентификатор заявки.
Важно!

Передаваемое в заголовке X-REQID значение должно быть уникальным для каждого запроса. При передаче ранее использовавшегося значения сервер отклонит запрос с соответствующей ошибкой.

В тело сообщения добавьте JSON-объект, содержащий условия заявки.

{
"side": "buy",
"type": "market",
"quantity": 1,
"instrument": {
"symbol": "SBER",
"exchange": "MOEX"
},
"comment": "Пользовательский комментарий",
"user": {
"portfolio": "D39004"
}
}

Заполните все параметры актуальными для задачи значениями и выполните запрос. В случае успешной обработки переданного сообщения сервер в ответ вернёт JSON-объект с номером созданной заявки.

{
"message": "success",
"orderNumber": "409...153"
}

Если синтаксис запроса был нарушен или указаны некорректные значения, сервер вернёт JSON-объект с соответствующими ошибке значениями.

В дальнейшем созданную заявку можно просмотреть, изменить или отменить с помощью соответствующих запросов.

Подробнее

Детальная информация о запросе на получение информации о создании рыночной заявки доступна на странице интерактивного описания запроса.


Что дальше?

Дополнительно рекомендуем ознакомиться со следующими статьями по теме: