All
Фильтровать по:
Как внести денежные средства в аккаунт?
Мне нужна помощь с верификацией аккаунта
Почему я не могу получить доступ к своему аккаунту?
Есть ли какие-либо комиссии за вывод криптовалюты?
Мне нужна помощь с входом в мой аккаунт
Наши публичные конечные точки REST API доступны через простой HTTP-запрос (так же, как веб-страница запрашивается через веб-браузер), поэтому клиент API для импорта рыночных данных в Google Таблицу может быть реализован всего несколькими строками кода Google Script.
Создайте новую Google Таблицу или откройте существующую.
Откройте редактор скриптов через меню Расширения -> Apps Script.
Удалите отображаемый код по умолчанию (например, Выделить все, затем Удалить/Backspace).
Скопируйте/вставьте код Google Script API (показан ниже) в редактор скриптов.
Необязательно — добавьте любые дополнительные пользовательские функции, которые вам требуются (например, для вызова различных конечных точек или возврата различных полей JSON).
Сохраните код Google Script с помощью значка (Сохранить проект).

Функция KAPI_Public() отвечает за создание соответствующего URL-адреса и выполнение HTTP-запроса к API. Функцию KAPI_Public() можно вызвать напрямую, введя следующее (или аналогичное, в зависимости от конечной точки и параметров) в ячейку Google Таблицы:
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")Функция KAPI_Public() возвращает исходный ответ JSON от API, например, следующий для приведенного выше примера конечной точки Depth:
Bash
{"error":[],"result":{"XETHZUSD":{"asks":[["231.74000","4.386",1583402326],["231.75000","27.337",1583402277],["231.76000","5.887",1583402311],["231.79000","36.280",1583402334],["231.80000","50.000",1583402299]],"bids":[["231.70000","18.534",1583402335],["231.67000","22.109",1583402335],["231.61000","7.930",1583402335],["231.60000","33.841",1583402335],["231.54000","115.017",1583402334]]}}}Чтобы поместить отдельные поля/значения в отдельные ячейки Google Таблицы, можно вызвать дополнительные пользовательские функции для анализа ответа JSON, например, функции KAPI_Ticker() и KAPI_Depth():
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")что отобразит результаты, аналогичные следующим, где данные будут доступны для любых стандартных функций Google Таблиц (SUM, AVERAGE, COUNT и т. д.):

Общая функция, которая должна быть включена для вызовов всех публичных конечных точек:
Bash
function KAPI_Public(endpoint, parameters) {
http_response = UrlFetchApp.fetch(
'https://api.kraken.com/0/public/' + endpoint + '?' + parameters
)
api_data = http_response.getContentText()
return api_data
}Примеры функций, специфичных для конкретной конечной точки:
Глубина:
Bash
function KAPI_Depth(currency_pair, depth) {
api_data = JSON.parse(
KAPI_Public("Depth", "pair=" + currency_pair + "&count=" + depth)
)
api_results = new Array()
for (count = 0; count < parseInt(depth); count++) {
api_results.push([
api_data['result'][currency_pair]['bids'][count][0],
api_data['result'][currency_pair]['bids'][count][1],
api_data['result'][currency_pair]['asks'][count][0],
api_data['result'][currency_pair]['asks'][count][1]
])
}
return api_results
}Тикер:
Bash
function KAPI_Ticker(currency_pairs) {
api_data = JSON.parse(
KAPI_Public("Ticker", "pair=" + currency_pairs)
)
api_results = new Array()
for (name in api_data['result']) {
api_results.push([
name,
api_data['result'][name]['a'][0],
api_data['result'][name]['a'][2],
api_data['result'][name]['b'][0],
api_data['result'][name]['b'][2],
api_data['result'][name]['c'][0],
api_data['result'][name]['c'][1]
])
}
return api_results
}Чтобы использовать приведенные выше скрипты, просто добавьте общий скрипт к скрипту, специфичному для конечной точки:
Bash
function KAPI_Public(endpoint, parameters) {
http_response = UrlFetchApp.fetch(
'https://api.kraken.com/0/public/' + endpoint + '?' + parameters
)
api_data = http_response.getContentText()
return api_data
}
function KAPI_Depth(currency_pair, depth) {
api_data = JSON.parse(
KAPI_Public("Depth", "pair=" + currency_pair + "&count=" + depth)
)
api_results = new Array()
for (count = 0; count < parseInt(depth); count++) {
api_results.push([
api_data['result'][currency_pair]['bids'][count][0],
api_data['result'][currency_pair]['bids'][count][1],
api_data['result'][currency_pair]['asks'][count][0],
api_data['result'][currency_pair]['asks'][count][1]
])
}
return api_results
}Десятичные и тысячные разделители, показанные в этой статье, могут отличаться от форматов, отображаемых на наших торговых платформах. Ознакомьтесь с нашей статьей о том, как мы используем точки и запятые для получения дополнительной информации.