Для работы с API необходимо активировать модуль API в разделе "Модули"
Настройки API
После активации модуля перейдите в раздел "API" -> "Настройки". Установите желаемые настройки:
API:
• Выключен - API отключен• Все пользователи - ключи для доступа к API можно создать из личного кабинета пользователя в обменнике (Личный кабинет - API)• Избранные пользователи - ключи для доступа к API создаёт и выдаёт только администратор обменника
Для всех пользователей, использующих API, необходимо включать опцию "Работать с REST API" в настройках пользователя в панели администратора
Логи - запись логов в раздел "API" -> "Логи"
• Нет
• Да
Методы, доступные для пользователей - набор методов, которые будут доступны для пользователя при добавлении ключа в личном кабинете обменника
Получение API ключей через личный кабинет пользователя
Пользователь может получить доступ к API через личный кабинет, обычно это ссылка https://ваш_домен/user-api/
После выбора методов и указания IP-адрес(а/ов) необходимо нажать кнопку "Добавить API ключ". После этого на странице отобразится выпущенная пара "Логин - Ключ".
Можно выпустить несколько ключей для одного пользователя с различными наборами методов.
Получение API ключей через панель администратора
На странице "API" -> "Добавить" добавьте нового пользователя API
Пользователь - ID пользователя обменника или 0 (пользователь "Система")
Разрешенные IP-адреса - IP-адреса, с которых будет разрешен доступ к API
Доступные методы - набор методов, которыми может воспользоваться пользователь
После сохранения данных будет сгенерирована пара "Логин - Ключ"
Использование API
Точка входа: https://ваш_домен/api/userapi/v1/ + метод API
Для авторизации, необходимо отправлять в заголовках (headers) запросов к API информацию, полученную ранее в разделе "API":
API-LOGIN - API-логин
API-KEY - API-ключ
API-LANG - принудительное использования указанного языка (необязательно). Пример: ru_RU, en_US.
Все запросы отправляются методом POST, ответ возвращается в формате json (GET-запросы не используются), параметры передаются в теле запроса (не в заголовке).
ip - ваш IP-адрес
user_id - ID пользователя (если обращается система, ID = 0)
locale - язык сайта
partner_id - ID партнера
get_direction_currencies
Получение списка валют, доступных для обмена
Параметры запроса:
currency_id_give - ID валюты "Отдаю" (фильтр, необязательный параметр)
currency_id_get - ID валюты "Получаю" (фильтр, необязательный параметр)
Ответ:
В ответе 2 списка:
give - список валют "Отдаю"
get - список валют "Получаю"
В каждом списке содержатся следующие данные:
id - ID валюты в обменнике
title - название валюты в обменнике
logo - ссылка на логотип валюты
get_directions
Получение списка направлений обменов, доступных для обмена
Параметры запроса:
currency_id_give - ID валюты "Отдаю" (фильтр, необязательный параметр)
currency_id_get - ID валюты "Получаю" (фильтр, необязательный параметр)
Ответ:
В ответе список направлений обмена, в нем:
direction_id - ID направления обмена в обменнике
currency_give_id - ID валюты "Отдаю" в обменнике
currency_give_title - название валюты "Отдаю" в обменнике
currency_give_logo - логотип валюты "Отдаю" в обменнике
currency_get_id - ID валюты "Получаю" в обменнике
currency_get_title - название валюты "Получаю" в обменнике
currency_get_logo - логотип валюты "Получаю" в обменнике
get_direction
Получение информации о направлении обмена
Параметры запроса:
direction_id - ID направления обмена
Ответ:
id - ID направления обмена в обменнике
url - ссылка на страницу обмена
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
reserve - резерв
course_give - курс валюты "Отдаю"
course_get - курс "Получаю"
sum_give - сумма в валюте "Отдаю"
sum_give_com - сумма в валюте "Отдаю" с комиссией
sum_get - сумма в валюте "Получаю"
sum_get_com - сумма "Получаю" с комиссией
com_give - текст комиссии валюты "Отдаю"
com_get - текст комиссии "Получаю"
min_give - минимальная сумма валюты "Отдаю", no - не установлена
max_give - максимальная сумма валюты "Отдаю", no - не установлена
min_get - макс сумма валюты "Получаю", no - не установлена
max_get - макс сумма валюты "Получаю", no - не установлена
info
timeline_text - описание обмена
frozen_text - текст замороженного статуса
before_button_text - текст до кнопки "Оплатить"
give_fields - список полей, относящихся к валюте "Отдаю"
get_fields - список полей, относящихся к валюте "Получаю"
dir_fields - список полей направления обмена
Описание поля:
name - название для передачи
type - тип поля
label - описание поля
req - 0 - необязательно передавать, 1 - обязательно передавать
tooltip - текст подсказки
options - возможные опции, если поле имеет тип select
cd - указатель дополнительных параметров
get_calc
Калькулятор сумм для направления обмена
Параметры запроса:
direction_id - ID направления обмена
calc_amount - сумма
calc_action - принадлежность суммы: 1 - сумма в валюте "Отдаю",
2 - сумма в валюте "Получаю",
3 - сумма в валюте "Отдаю" с комиссией,
4 - сумма в валюте "Получаю" с комиссией
cd - поля из направления обмена, с пометкой cd = 1, в одном поле. Поле обработано URL encode.
Ответ:
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
reserve - резерв валюты "Получаю"
course_give - курс валюты "Отдаю"
course_get - курс валюты "Получаю"
sum_give - сумма в валюте "Отдаю"
sum_give_com - сумма в валюте "Отдаю" с комиссией
sum_get - сумма в валюте "Получаю"
sum_get_com - сумма в валюте "Получаю" с комиссией
com_give - текст комиссии валюты "Отдаю"
com_get - текст комиссии валюты "Получаю"
min_give - минимальная сумма валюты "Отдаю", no - не установлена
max_give - максимальная сумма валюты "Отдаю", no - не установлена
min_get - макс сумма валюты "Получаю", no - не установлена
max_get - макс сумма валюты "Получаю", no - не установлена
changed - флаг изменения вводимой суммы: 0 - не нужно изменять, 1 - нужно изменить
get_exchanges
Вывод заявок, созданных данным ключом
Параметры запроса:
start_time - unix-время с которого выводить заявки (фильтр, необязательный параметр)
end_time - unix-время до которого выводить заявки (фильтр, необязательный параметр)
ip - IP-адрес (фильтр, необязательный параметр)
id - ID заявки (фильтр, необязательный параметр)
api_id - ID, переданное в API (фильтр, необязательный параметр)
status_history - выводить ли историю статусов: 0 - нет, 1 - да (фильтр, необязательный параметр)
limit - количество выводимых заявок (фильтр, необязательный параметр)
offset - сколько заявок пропустить (фильтр, необязательный параметр)
Ответ:
items - список заявок
id - ID заявки
api_id - ID, переданное в API
time - время изменения статуса
date - дата изменения статуса
psys_give - ПС валюты "Отдаю"
psys_get - ПС валюты "Получаю"
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
course_give - курс валюты "Отдаю"
course_get - курс валюты "Получаю"
amount_give - сумма в валюте "Отдаю"
amount_get - сумма в валюте "Получаю"
exchange_success - 0 - заявка выполнена, 1 - заявка не выполнена
user_hash - хэш пользователя
user_ip - IP-адрес пользователя
status - статус заявки
statuses - список изменения статусов
time - время изменения статуса
date - дата изменения статуса
status - статус заявки
create_bid
Cоздание заявки
Параметры запроса:
direction_id - ID направления обмена
partner_id - ID партнера (необязательный параметр)
api_id - ID заявки в вашей системе (необязательный параметр)
calc_amount - сумма обмена
calc_action - принадлежность суммы: 1 - сумма в валюте "Отдаю",
2 - сумма в валюте "Получаю",
3 - сумма в валюте "Отдаю" с комиссией,
4 - сумма в валюте "Получаю" с комиссией
callback_url - url ответа при изменении статуса заявки.
Приходит методом POST: bid_id - id заявки,
status - статус заявки (необязательный параметр)
account1 - cо счета
cfgive8 - имя владельца карты
account2 - на счет
cf1-99 - кастомные поля
:
cf1 - Имя
cf2 - Отчество
cf3 - Фамилия
cf4 - Телефон
cf5 - Skype
cf6 - E-mail
cf8 - Номер паспорта
cf10 - Регион
cf11 - Telegram
Ответ:
url - ссылка на страницу обмена
id - ID заявки
hash - hash заявки
status - статус заявки
status_title - название статуса заявки
psys_give - ПС валюты "Отдаю"
psys_get - ПС валюты "Получаю"
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
amount_give - сумма в валюте "Отдаю"
amount_get - сумма в валюте "Получаю"
api_actions - опции
type - тип оплаты
cancel - способ отмены заявки
api - методом API
disabled - отключено
ссылка на отмену
pay - способ оплаты
api - методом API
disabled - отключено
ссылка на отмену
instruction - инструкция по оплате
pay_amount - сумма к оплате
cancel_bid
Отмена заявки (метод работает только в том случае, если при создании заявки (create_bid) в ответе api_actions -> cancel= 'api')
Параметры запроса:
hash - хэш заявки
Ответ:
статус заявки
pay_bid
Отметка заявки оплаченной (метод работает только в том случае, если при создании заявки (create_bid) в ответе api_actions-> pay= 'api')
Параметры запроса:
hash - хэш заявки
Ответ:
статус заявки
bid_info
Платежная информация о заявке
параметры запроса:
id - ID заявки (необязательно, если задан hash)
hash - хэш заявки (необязательно, если задан ID)
Ответ:
url - ссылка на страницу обмена
id - ID заявки
hash - hash заявки
status - статус
status_title - название статуса
psys_give - ПС валюты "Отдаю"
psys_get - ПС валюты "Получаю"
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
amount_give - сумма в валюте "Отдаю"
amount_get - сумма в валюте "Получаю"
api_actions - опции
type - тип оплаты
cancel - способ отмены заявки
api - методом API
disabled - ссылка на отмену отключена
pay - способ оплаты
api - методом API
disabled - отключено
ссылка на оплату
instruction - инструкция по оплате
pay_amount - сумма к оплате
get_partner_info
Информация о партнере
Параметры запроса:
---
Ответ:
partner_id - ID партнера
balance - баланс
min_payout - мин. сумма выплаты
items - список валют, для заказа выплаты
id - ID валюты
title - название валюты
comission - комиссия
amount - баланс в этой валюте
get_partner_links
Информация о партнерских переходах
Параметры запроса:
start_time - unix-время с которого выводить (фильтр, необязательный параметр)
end_time - unix-время до которого выводить (фильтр, необязательный параметр)
ip - IP-адрес (фильтр, необязательный параметр)
limit - количество выводимых (фильтр, необязательный параметр)
Ответ:
items - список партнерских переходов
time - время перехода
date - дата перехода
browser - браузер
ip - адрес перещедшего пользователя
referrer - страница, с которой был совершен переход
user_hash - хэш пользователя
query_string - строка запроса
get_partner_exchanges
Информация о партнерских обменах
Параметры запроса:
start_time - unix-время, с которого выводить заявки (фильтр, необязательный параметр)
end_time - unix-время, до которого выводить заявки (фильтр, необязательный параметр)
ip - IP-адрес (фильтр, необязательный параметр)
id - ID заявки (фильтр, необязательный параметр)
status_history - выводить ли историю статусов: 0 - нет, 1 - да (фильтр, необязательный параметр)
limit - количество выводимых заявок (фильтр, необязательный параметр)
Ответ:
items - список заявок
id - ID заявки
time - время изменения статуса
date - дата изменения статуса
psys_give - ПС валюты "Отдаю"
psys_get - ПС валюты "Получаю"
currency_code_give - код валюты "Отдаю"
currency_code_get - код валюты "Получаю"
course_give - курс валюты "Отдаю"
course_get - курс валюты "Получаю"
amount_give - сумма в валюте "Отдаю"
amount_get - сумма в валюте "Получаю"
exchange_success - 0 - заявка выполнена, 1 - заявка не выполнена
accrued - 0 - не начислено вознаграждение, 1 - начислено
partner_reward - партнерская сумма
user_hash - хэш пользователя
user_ip - IP-адрес пользователя
status - статус заявки
statuses - список изменения статусов
time - время изменения статуса
date - дата изменения статуса
status - статус заявки
get_partner_payouts
Список запросов от пользователей на вывод денежных средств
Параметры запроса:
start_time - unix-время с которого выводить (фильтр, необязательный параметр)
end_time - unix-время до которого выводить (фильтр, необязательный параметр)
limit - количество выводимых (фильтр, необязательный параметр)
id - ID заявки (фильтр, необязательный параметр)
Ответ:
items - список
id - ID заявки
time - время выплаты
date - дата выплаты
method_id - валюта выплаты
account - счет выплаты
pay_amount - сумма выплаты
pay_currency_code - код валюты выплаты
original_amount - оригинальная сумма выплаты
original_currency_code - оригинальный код валюты выплаты
status - статус заявки. 0 в ожидании, 1 - выплачено, 2 - отменено
add_partner_payout
Создание запроса на выплату
параметры запроса:
method_id - ID валюты выплаты
account - номер счета для выплаты
ответ:
payout_id - ID выплаты
Ответы от API при ошибках
Api disabled
Возможные причины ошибки и методы их устранения:
Указаны некорректные авторизационные данные из раздела "API" для пользователя, который работает с API
Не разрешена работа с API в настройках пользователя в разделе "Пользователи"
Пустой ответ
Запрошенная информация отсутствует — проверьте передаваемые параметры
No bid exists
Запрошенная заявка не существует
Method not supported
Не активирован выбранный метод в разделе "API" для пользователя
Direction not found
Не разрешен доступ к направлению обмена через API (при запросе направления обмена), необходимо разрешить доступ в настройках направления обмена, вкладка "Ограничения и проверки"