Trade api



Оглавление

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


Для использования данного API необходимо создать API-ключ.

API-ключ можно создать в профиле, раздел API-ключи. После создания API-ключа вам выдается ключ и секрет.

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

Данные API-ключа используются для аутентификации.


Все запросы к TradeAPI идут по следующему URL: https://api.terrachange.me/v1/tapi

Имя метода отправляется посредством POST-параметра method.

Все параметры методов отправляется через POST-параметры.

Все ответы от сервера приходят в формате JSON.

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


При успешном выполнении запроса приходит ответ типа:

{
	"success":1,
	"return":{<ответ>}
}

Ответ при ошибке:

{
	"success":0,
	"error":"<ошибка>"
}
Аутентификация

Аутентификация происходит посредством отправки следующих HTTP-заголовков:

Key — API-ключ. Пример API-ключа: B201052E-6337-465D-B22B-065924C4D5ED

API-ключ создается в профиле, раздел API-ключи.

Sign — Подпись. POST-параметры (?nonce=1&param0=val0), подписанные секретным ключом с помощью HMAC-SHA512


Так же для успешной аутентификации необходимо посылать POST-параметр nonce с инкрементым каждый запрос числовым значением.


Пример использования значения nonce:

1 запрос: nonce=1

2 запрос: nonce=2

3 запрос: nonce=10

4 запрос: nonce=10 — выдаст ошибку, потому что nonce равен прошлому запросу

5 запрос: nonce=11

6 запрос: nonce=9 — выдаст ошибку, потому что nonce меньше, чем значение nonce на API-ключе


Минимальное значение nonce - 1, максимальное - 4294967294.

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

Примеры

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

Если вы хотите видеть свой пример здесь, пожалуйста создайте тикет с заголовком "API пример для документации".


Список примеров:

PHP: https://pastebin.com/HD3WYcKp

Метод getInfo

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

Параметры:   Нету


Пример ответа:

{
  "success": 1,
  "return": {
      "funds": {
        "ADVCASH_EUR": "1400",
        "ADVCASH_KZT": "567",
        "ADVCASH_RUB": "14569",
        "ADVCASH_USD": "3456",
        "CRYPTBTC": "1.73",
      },
      "rights": {
        "info": 1,
        "trade": 1,
        "withdrawal": 0
      },
      "open_orders": 0,
      "server_time": 1521825687
  }
}


funds: Баланс аккаунта доступный к использованию. Не включает деньги на ваших открытых ордерах.

rights: Привилегии текущего API-ключа. Привилегия withdraw в данный момент нигде не используется.

open_orders: Количество ваших открытых ордеров.

server_time: Время сервера (MSK).


Метод Trade

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

Параметры:

параметр описание принимает значение
pair пара BTC_QIWIRUB (пример)
type тип операции buy или sell
rate курс по которому необходимо купить/продать числовые
amount количество которое необходимо купить/продать числовые

Список пар можно получить используя метод info в PublicAPI.


Пример ответа:

{
  "success": 1,
  "return": {
      "order_id": "174633",
      "remains": "1",
      "received": 0
  }
}


received: Сколько валюты куплено/продано.

remains: Сколько валюты осталось купить/продать (и на сколько был создан ордер).

order_id: Имеет значение 0 если запрос был полностью удовлетворен встречными ордерами, в противном случае возращает идентификатор созданного ордера.


Метод ActiveOrders

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

Если ордер пропадает из списка, то он был исполнен или отменен.

Необязательные параметры:

параметр описание принимает значение стандартное значение
pair пара BTC_QIWIRUB (пример) все пары

Список пар можно получить используя метод info в PublicAPI.


Пример ответа:

{
  "success": 1,
  "return": {
    "174633": {
      "pair": "CRYPTBTC_ADVCASHRUB",
      "type": "sell",
      "amount": "1",
      "rate": "550000",
      "timestamp_created": 1521900935
    },
  }
}


Ключи массива: Идентификатор ордера.

pair: Пара на которой был создан ордер.

type: Тип ордера buy/sell.

amount: Сколько осталось купить/продать.

rate: Цена покупки/продажи.

timestamp_created: Время когда был создан ордер.


Метод OrderInfo

Возращает информацию о конкретном ордере.
Для использования данного метода необходима привилегия ключа info.

Если ордер пропадает из списка, то он был исполнен или отменен.

Параметры:

параметр описание принимает значение
order_id идентификатор ордера числовые

Список пар можно получить используя метод info в PublicAPI.


Пример ответа:

{
  "success": 1,
  "return": {
    "174633": {
      "pair": "CRYPTBTC_ADVCASHRUB",
      "type": "sell",
      "start_amount": "1",
      "amount": "1",
      "rate": "550000",
      "timestamp_created": 1521900935,
      "status": 0
    }
  }
}
}


Ключ массива: Идентификатор ордера.

pair: Пара на которой был создан ордер.

type: Тип ордера, buy/sell.

start_amount: Начальная сумма которая была при создании ордера.

amount: Сколько осталось купить/продать.

rate: Цена покупки/продажи.

timestamp_created: Время когда был создан ордер.

status: 0 - активен, 1 - исполненный ордер, 2 - отмененный, 3 - отмененный, но был частично исполнен.


Метод CancelOrder

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

Если ордер пропадает из списка, то он был исполнен или отменен.

Параметры:

параметр описание принимает значение
order_id идентификатор ордера числовые

Список пар можно получить используя метод info в PublicAPI.


Пример ответа:

{
  "success": 1,
  "return": {
      "order_id":174633
  }
}


order_id: Идентификатор отмененного ордера.


Метод TradeHistory

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

Если ордер пропадает из списка, то он был исполнен или отменен.

Необязательные параметры:

параметр описание принимает значение стандартное значение
from номер сделки, с которой начинать вывод числовые 0
count количество сделок на вывод числовые 1000
from_id id сделки, с которой начинать вывод числовые 0
end_id id сделки, на которой заканчивать вывод числовые
order сортировка ASC или DESC DESC
since с какого времени начинать вывод UNIX time 0
end на каком времени заканчивать вывод UNIX time
pair пара, по которой выводить сделки BTC_QIWIRUB (пример) все пары

Список пар можно получить используя метод info в PublicAPI.


Пример ответа:

{
  "success": 1,
  "return": {
    "777": {
      "pair": "CRYPTBTC_ADVCASHRUB",
      "type": "buy",
      "amount": "0.001",
      "rate": "500000",
      "order_id": "174633",
      "timestamp": 1522048358
    },
  }
}


Ключи массива: Идентификатор сделки.

pair: Пара на которой была сделка.

type: Тип сделки, buy/sell.

amount: Количество купленного/проданного.

rate: Цена покупки/продажи.

order_id: Идентификатор ордера.

timestamp: Время сделки.