Поддержка формата Fixer.io
Мы поддерживаем Fixer.io API. Если вы уже реализовали его в своём приложении, то можете использовать тот же модуль для CurrencyCentral.
Базовая HTTP аутентификация
Базовый url:
https://currencycentral.org/api/
Просто используйте свой ключ API для аутентификации:
https://currencycentral.org/api/latest
? access_key = API_KEY
Аутентификация через HTTP заголовок
Если вы не хотите передавать свой ключ API в строке запроса, то можете передавать его как Token в HTTP заголовке Authentication.
Authorization: Token API_KEY
Формат HTTP заголовка должен быть точно таким как указано выше, просто замените API_KEY на валидный ключ API. Не нужно использовать кавычек для ключа. Если указан и HTTP заголовок и URL параметр, то приоритет отдаётся параметру в URL а HTTP заголовок игнорируется.
Мы рекомендуем использовать аутентификацию через HTTP заголовок по причинам безопасности. Данные URL могут оказаться доступными для промежуточных сервисов, таких как прокси-сервера.
Пример данных API
Данные возвращаются в стандартном JSON формате. Их легко использовать в любом языке программирования.
{
"success": true,
"base": "EUR",
"date": "2020-06-05",
"rates": {
"USD": 1.133,
"AUD": 1.6227,
"JPY": 123.77,
"RUB": 77.8155,
/* ... */
}
}
Как показано выше ответ API всегда содержит: base
— строку с трехсимвольным кодом базовой валюты, date
— дату на которую кстановлен переданный официальный курс и rates
— объект содержащий запрошенные обменные курсы.
Запросы
CurrencyCentral поддерживает два вида запросов.
Текущие курсы
Возвращает официальный обменный курс установленный на сегодня. Простодо добавьте latest
к базовому URL:
https://currencycentral.org/api/latest
ВАЖНО: наши серверы используют часовой пояс UTC. При получении текущего курса всегда проверяйте дату в ответном JSON. Второй вариант — всегда делать запрос исторических данных с указанием текущей даты.
Курсы за прошлые даты
Вы можете получить через CurrencyCentral API исторические данные просто добавив к базовому URL дату в формате ГГГГ-ММ-ДД
:
https://currencycentral.org/api/2020-02-02
Данные за прошлые дни доступны вплоть до 4 января 1999 года.
SSL соединение
На всех тарифах CurrencyCentral вам доступно 256-bit SSL шифрование. Для защищённого соединения с API через SSL просто используйте HTTPS протокол.
JSONP Callbacks
CurrencyCentral API поддерживает формат ответа JSONP Сallbacks. Используя этот функционал вы можете указать функцию обратного вызова в которую будет завёрнут API ответ. Для этого укажите имя функции в URL параметре callback
:
https://currencycentral.org/api/latest
? access_key = API_KEY
& callback = MY_FUNCTION
В примере выше мы запрашивает API использовать функцию обратного вызова MY_FUNCTION.
Пример JSONP ответа где данные завёрнуты функцию обратного вызова MY_FUNCTION:
/**/MY_FUNCTION({
"success": true,
"base": "EUR",
"date": "2020-06-05",
"rates": {
"USD": 1.133,
"AUD": 1.6227,
"JPY": 123.77,
"RUB": 77.8155,
/* ... */
}
});
Ошибки
Всегда, когда данные недостуаны или API запрос валится по любой другой причине в JSON возвращается ошибка с кодом и информацией на английском.
Пример ошибки 104, которая возвращается если привышен лимит тарифного плана по запросам в этом месяце:
{
"success": false,
"error": {
"code": 104,
"info": "Your monthly API request volume has been reached. Please upgrade your plan."
}
}
Ниже вы найдёте информацию об ошибках на русском:
Код ошибки | Описание |
---|---|
404 | Запрашиваемого ресурса не существует. |
101 | Не указан API ключ или он не валидный. |
102 | Контракт к которому привязан ключ не активен. |
103 | Некорректный запрос API. Такого метода не существует. |
104 | Привышено максимальное количество запросов к API для вашего тарифа. |
106 | Запрос не вернул никаких данных. |
201 | Неверная базовая валюта. |
202 | Указаны один или несколько неверных кодов валют. |
203 | Контракт к которому привязан ключ не поддерживает эту валюту. |
302 | Указана неверная дата запроса. |
Запрос текущих курсов
Запрос Latest
вернёт обменный курс на сегодняшний день. Пожалуйста учитываете, что сервера настроены на часовой пояс UTC и он скорее всего отличается от вашего. Проверяйте поле date
в JSON ответе, чтобы быть уверенными. Или ползуйтесь запросом курсов с указанием конкретной даты.
Формат API запроса
https://currencycentral.org/api/latest
? access_key = API_KEY
& symbols = GBP,JPY,EUR
Параметры запроса
Параметр | Описание |
---|---|
access_key | [Обязательно] Ваш ключ API. |
symbols | [Обязательно] Список валют курсы к которым нужно вернуть. Указываются трёхбуквенные коды разделённые запятой. |
Формат API ответа
{
"success": true,
"base": "EUR",
"date": "2017-10-11",
"rates": {
"USD": 1.1856,
"AUD": 1.5175,
"JPY": 133.12,
"RUB": 68.404
},
}
Объекты в ответе
Объект | Описание |
---|---|
success | Возвращает true если запрош выполнен успешно или false если возникли ошибки. |
base | Возвращает трёхбуквенный код базовой валюты по которой производился запрос данных. |
rates | Обменные курсы. |
Запрос курсов за прошлые даты
Данные за прошлые дни доступны вплоть до 4 января 1999 года. Вы можете получить через CurrencyCentral API исторические данные просто добавив к базовому URL дату в формате ГГГГ-ММ-ДД
:
Формат API запроса
https://currencycentral.org/api/2020-02-02
? access_key = API_KEY
& symbols = GBP,JPY,EUR
Параметры запроса
Параметр | Описание |
---|---|
YYYY-MM-DD | [Обязательно] Дата на которую необходимо вернуть официальные курсы. |
access_key | [Обязательно] Ваш ключ API. |
symbols | [Обязательно] Список валют курсы к которым нужно вернуть. Указываются трёхбуквенные коды разделённые запятой. |
Формат API ответа
{
"success": true,
"base": "EUR",
"date": "2020-02-02",
"rates": {
"USD": 1.1052,
"AUD": 1.6494,
"JPY": 120.35,
"RUB": 70.3375
},
"historical": true
}
Объекты в ответе
Объект | Описание |
---|---|
success | Возвращает true если запрош выполнен успешно или false если возникли ошибки. |
historical | Возвращает true если возвращены исторические данные. |
base | Возвращает трёхбуквенный код базовой валюты по которой производился запрос данных. |
rates | Обменные курсы. |