Программные интерфейсы INDX
Методы:
- Balance - Текущий баланс Трейдера.
- Tools - Список инструментов.
- NP - Список активов за которые торгуют.
- ExTools - Расширенный список инструментов.
- ExToolsByNP - Cписок инструментов относительно актива за который торгуют.
- HistoryTrading - История торгов Трейдера.
- HistoryTransaction - История транзакций Трейдера.
- OfferMy - Список текущих заявок Трейдера на покупку/продажу.
- OfferList - Список текущих заявок по инструменту на покупку/продажу на бирже.
- OfferAdd - Постановка новой заявки Трейдера на покупку/продажу по инструменту на бирже.
- OfferDelete - Удаление заявки Трейдера на покупку/продажу инструмента на бирже.
- Tick - Статистика сделок за период времени.
К методам API WM идентификатор трейдера может обращаться не чаще 1 раза в секунду.
Общие параметры для всех запросов в объекте ApiContext:
Название | Назначение | Примечание |
---|---|---|
Login | Логин трейдера | Получен трейдером на странице доступа к API |
Password | Пароль трейдера | Получен трейдером на странице доступа к API (используется для формирования подписи) |
Wmid | Wmid трейдера | WM идентификатор трейдера |
Culture | Язык запроса | Определяет язык сообщения (ru-RU, en-EN) |
Signature | Подпись запроса | BASE64 + SHA256, формируется из различных параметров в зависимости от метода |
Reqn | Номер запроса | Целое без знака, макс. 18 цифр; всегда должен быть больше номера предыдущего запроса! |
Метод Balance (Текущий баланс Трейдера)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/Balance
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""}}
Параметры запроса (в ApiContext):
Название | Назначение | Примечание |
---|---|---|
Reqn | Номер запроса | Целое без знака, макс. 18 цифр; всегда больше предыдущего! |
Login | Логин трейдера | Из страницы доступа к API |
Password | Пароль трейдера | Из страницы доступа к API (для подписи) |
Wmid | Wmid трейдера | WM идентификатор |
Culture | Язык запроса | ru-RU, en-EN |
Signature | Подпись запроса BASE64 + SHA256 | Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Reqn |
Формат ответа:
{"code":0,"desc":"Success","value":{"wmid":"","nickname":"","balance":{"price":0,"wmz":0},"portfolio":[{"id":0,"name":"","notes":0,"price":0,"type":"","kind":0,"by":0},],"profit":[{"symbolid":0,"buy":0,"sell":0}]}}
Параметры ответа:
Название | Назначение | Примечание |
---|---|---|
code | Код состояния/ошибки | 0 - успешно |
desc | Текстовое описание ошибки | Строка до 255 символов, win-1251 |
value | Результат | Объект с данными баланса |
value.wmid | Wmid трейдера | Строка 12 символов, win-1251 |
value.nickname | Ник трейдера | Строка до 255 символов, win-1251 |
value.balance | Баланс трейдера | price - цена портфеля, wmz - сумма на счету |
value.portfolio | Портфель трейдера | Массив инструментов (id, name, notes, price, type, kind, by) |
value.profit | Сделки трейдера | Общая сумма затрат (symbolid, buy, sell) |
Коды выполнения запроса:
Код | Описание |
---|---|
0 | Запрос выполнен успешно |
-1 | Сервис остановлен |
-2 | Доступ запрещен |
-3 | Ошибочный WMID Трейдера |
-4 | Подпись запроса сформирована не верно |
-5 | Не корректная дата |
-7 | Вызов веб сервиса завершился ошибкой |
-8 | Внутренняя ошибка |
-9, -10 | Неизвестная ошибка |
-36, -38 | Неверное значение поля reqn |
-37 | Не выполнено условие увеличения reqn |
• Тестовая страница: JavaScript
Метод Tools (Список инструментов биржи)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/Tools
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""}}
Параметры запроса (в ApiContext):
Название | Назначение | Примечание |
---|---|---|
Reqn | Номер запроса | См. Balance |
Login | Логин трейдера | См. Balance |
Password | Пароль трейдера | См. Balance (для подписи) |
Wmid | Wmid трейдера | См. Balance |
Culture | Язык запроса | См. Balance |
Signature | Подпись запроса BASE64 + SHA256 | Login + ';' + Password + ';' + Culture + ';' + Reqn |
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"name":"","price":0,"kind":0,"type":"","by":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Для других методов |
name | Название инструмента | Строка до 255 символов, win-1251 |
price | Цена последней сделки | Цена за одну единицу |
kind | Тип инструмента | (не детализировано в док.) |
type | Тип инструмента | (не детализировано в док.) |
by | Кем выпущен | (не детализировано в док.) |
Коды выполнения запроса:
Аналогичны методу Balance.
• Тестовая страница: JavaScript
Метод NP (Список активов, за которые торгуют)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/NP
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""}}
Параметры запроса (в ApiContext):
Название | Назначение | Примечание |
---|---|---|
Reqn | Номер запроса | См. Balance |
Login | Логин трейдера | См. Balance |
Password | Пароль трейдера | См. Balance (для подписи) |
Wmid | Wmid трейдера | См. Balance |
Culture | Язык запроса | См. Balance |
Signature | Подпись запроса BASE64 + SHA256 | Login + ';' + Password + ';' + Culture + ';' + Reqn |
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"name":""}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер "инструмента" актива | (неясно, возможно, внутренний ID) |
name | Название актива | Строка (например, WMZ, USDT) |
Коды выполнения запроса:
Аналогичны методу Balance.
• Тестовая страница: JavaScript
Метод ExTools (Расширенный список инструментов)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/ExTools
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""}}
Параметры запроса (в ApiContext):
Название | Назначение | Примечание |
---|---|---|
Reqn | Номер запроса | См. Balance |
Login | Логин трейдера | См. Balance |
Password | Пароль трейдера | См. Balance (для подписи) |
Wmid | Wmid трейдера | См. Balance |
Culture | Язык запроса | См. Balance |
Signature | Подпись запроса BASE64 + SHA256 | Login + ';' + Password + ';' + Culture + ';' + Reqn |
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"name":"","price":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Для других методов |
name | Название инструмента | Строка до 255 символов, win-1251 |
price | Цена последней сделки | Цена за одну единицу |
Коды выполнения запроса:
Аналогичны методу Balance.
• Тестовая страница: JavaScript
Метод ExToolsByNP (Cписок инструментов относительно актива)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/ExToolsByNP
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"NP":""}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
NP | Название актива | Строка: WMZ|USDT|USDC|TUSD|BTC|ETH|LTH (заглавными) |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + NP + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"name":"","price":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Для других методов |
name | Название инструмента | Строка до 255 символов, win-1251 |
price | Цена последней сделки | Цена за одну единицу |
Коды выполнения запроса:
Аналогичны методу Balance.
• Тестовая страница: JavaScript
Метод HistoryTrading (История торгов Трейдера)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/HistoryTrading
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"Trading":{"ID":0,"DateStart":"","DateEnd":""}}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
Trading.ID | Номер инструмента | 0 для всех инструментов |
Trading.DateStart | Начальная дата | YYYYMMDD |
Trading.DateEnd | Конечная дата | YYYYMMDD |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Trading.ID + ';' + Trading.DateStart + ';' + Trading.DateEnd + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"stamp":0,"name":"","isbid":0,"notes":0,"price":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Макс. 18 цифр |
stamp | Дата и время операции | Unix timestamp (секунды). Формат C#: new DateTime(1970,1,1).AddSeconds(stamp) |
name | Наименование инструмента | Строка до 255 символов, win-1251 |
isbid | Тип операции | 0 - покупка, 1 - продажа |
notes | Количество | Число с плавающей точкой |
price | Цена за единицу | Число с плавающей точкой |
Коды выполнения запроса:
Аналогичны методу Balance, плюс:
Код | Описание |
---|---|
-6 | Неверный идентификатор инструмента |
-11 | Неверный формат даты |
• Тестовая страница: JavaScript
Метод HistoryTransaction (История транзакций Трейдера)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/HistoryTransaction
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":""},"Trading":{"ID":0,"DateStart":"","DateEnd":""}}
Примечание: в документации для этого метода Reqn не указан в ApiContext, но обычно он требуется. Подпись также может требовать Reqn.
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance (Reqn может быть не нужен, уточнить) |
Trading.ID | Номер инструмента | 0 для всех инструментов |
Trading.DateStart | Начальная дата | YYYYMMDD |
Trading.DateEnd | Конечная дата | YYYYMMDD |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Trading.ID + ';' + Trading.DateStart + ';' + Trading.DateEnd (+ ';' + Reqn если Reqn используется)
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"stamp":0,"name":"","type":0,"notes":0,"price":0,"amount":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Макс. 18 цифр |
stamp | Дата и время операции | Unix timestamp (секунды) |
name | Наименование инструмента | Строка до 255 символов, win-1251 |
type | Тип транзакции | (не детализировано в док.) |
notes | Количество | Число с плавающей точкой |
price | Цена за единицу | Число с плавающей точкой |
amount | Сумма транзакции | Число с плавающей точкой |
Коды выполнения запроса:
Аналогичны методу Balance, плюс коды из HistoryTrading.
• Тестовая страница: JavaScript
Метод OfferMy (Список текущих заявок Трейдера)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/OfferMy
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""}}
Параметры запроса (в ApiContext):
Название | Назначение | Примечание |
---|---|---|
Reqn | Номер запроса | См. Balance |
Login | Логин трейдера | См. Balance |
Password | Пароль трейдера | См. Balance (для подписи) |
Wmid | Wmid трейдера | См. Balance |
Culture | Язык запроса | См. Balance |
Signature | Подпись запроса BASE64 + SHA256 | Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Reqn |
Формат ответа:
{"code":0,"desc":"Success","value":[{"id":0,"stamp":0,"name":"","isbid":0,"notes":0,"price":0,"amount":0,"offerid":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
id | Номер инструмента | Макс. 18 цифр |
stamp | Дата и время операции | Unix timestamp (секунды) |
name | Наименование инструмента | Строка до 255 символов, win-1251 |
isbid | Тип заявки | 0 - покупка, 1 - продажа |
notes | Количество | Число с плавающей точкой |
price | Цена за единицу | Число с плавающей точкой |
amount | Сумма заявки | Число с плавающей точкой |
offerid | ID заявки | Для метода OfferDelete |
Коды выполнения запроса:
Аналогичны методу Balance.
• Тестовая страница: JavaScript
Метод OfferList (Список текущих заявок по инструменту на бирже)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/OfferList
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"Offer":{"ID":0}}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
Offer.ID | Номер инструмента | Обязательный параметр |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Offer.ID + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success","value":{"buy":[{"notes":0,"price":0}],"sell":[{"notes":0,"price":0}]}}
Параметры ответа:
Название | Назначение | Примечание |
---|---|---|
value.buy | Заявки на покупку | Массив объектов {notes, price} |
value.sell | Заявки на продажу | Массив объектов {notes, price} |
notes | Количество | Число с плавающей точкой |
price | Цена за единицу | Число с плавающей точкой |
Коды выполнения запроса:
Аналогичны методу Balance, плюс:
Код | Описание |
---|---|
-6 | Неверный идентификатор инструмента |
• Тестовая страница: JavaScript
Метод OfferAdd (Постановка новой заявки)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/OfferAdd
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"Offer":{"ID":0,"IsBid":0,"Notes":0,"Price":0}}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
Offer.ID | Номер инструмента | Обязательный |
Offer.IsBid | Тип заявки | 0 - покупка, 1 - продажа |
Offer.Notes | Количество | Число с плавающей точкой, > 0 |
Offer.Price | Цена за единицу | Число с плавающей точкой, > 0 |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Offer.ID + ';' + Offer.IsBid + ';' + Offer.Notes + ';' + Offer.Price + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success","value":{"offerid":0}}
Параметры ответа:
Название | Назначение | Примечание |
---|---|---|
offerid | ID созданной заявки | Для OfferDelete |
Коды выполнения запроса:
Аналогичны методу Balance, плюс:
Код | Описание |
---|---|
-6 | Неверный идентификатор инструмента |
-12 | Неверное значение поля IsBid |
-13 | Неверное значение поля Notes |
-14 | Неверное значение поля Price |
-15 | Недостаточно средств |
-16 | Недостаточно инструмента |
-17 | Ошибка постановки заявки |
-18 | Заявка не может быть выполнена |
-19 | Заявка не найдена |
-20 | Заявка уже исполнена |
-21 | Заявка уже отменена |
-22 | Заявка не принадлежит трейдеру |
-23 | Ошибка удаления заявки |
-24 | Торги по инструменту остановлены |
-25 | Торги по инструменту не начаты |
-26 | Торги по инструменту завершены |
-27 | Трейдер не имеет права торговать этим инструментом |
-28 | Трейдер не имеет права покупать этот инструмент |
-29 | Трейдер не имеет права продавать этот инструмент |
-30 | Трейдер не имеет права отменять заявки по этому инструменту |
-31 | Трейдер не имеет права просматривать заявки по этому инструменту |
-32 | Трейдер не имеет права просматривать историю торгов по этому инструменту |
-33 | Трейдер не имеет права просматривать историю транзакций по этому инструменту |
-34 | Трейдер не имеет права просматривать баланс |
-35 | Трейдер не имеет права просматривать портфель |
• Тестовая страница: JavaScript
Метод OfferDelete (Удаление заявки Трейдера)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/OfferDelete
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"Offer":{"OfferID":0}}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
Offer.OfferID | ID заявки | Полученный из OfferMy или OfferAdd |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Offer.OfferID + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success"}
Коды выполнения запроса:
Аналогичны методу Balance и OfferAdd (коды -19, -20, -21, -22, -23).
• Тестовая страница: JavaScript
Метод Tick (Статистика сделок за период времени)
• URL для передачи запроса: https://api.indx.market/api/v2/trade/Tick
• Метод: POST
• Accept types: text/json
• Формат запроса: {"ApiContext":{"Login":"","Wmid":"","Culture":"","Signature":"","Reqn":""},"Tick":{"ID":0,"DateStart":"","DateEnd":""}}
Параметры запроса:
Название | Назначение | Примечание |
---|---|---|
ApiContext | Общие параметры | См. Balance |
Tick.ID | Номер инструмента | Обязательный |
Tick.DateStart | Начальная дата | YYYYMMDD |
Tick.DateEnd | Конечная дата | YYYYMMDD |
Подпись (Signature) формируется из: Login + ';' + Password + ';' + Culture + ';' + Wmid + ';' + Tick.ID + ';' + Tick.DateStart + ';' + Tick.DateEnd + ';' + Reqn
Формат ответа:
{"code":0,"desc":"Success","value":[{"stamp":0,"price":0,"notes":0}]}
Параметры ответа (в массиве value):
Название | Назначение | Примечание |
---|---|---|
stamp | Дата и время операции | Unix timestamp (секунды) |
price | Цена сделки | Число с плавающей точкой |
notes | Объем сделки | Число с плавающей точкой |
Коды выполнения запроса:
Аналогичны методу Balance, плюс коды из HistoryTrading (-6, -11).
• Тестовая страница: JavaScript