API v1

Включение API

Для работы с 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-запросы не используются), параметры передаются в теле запроса (не в заголовке).

Пример ответа на запрос:

Array
(
    [error] => 0 //код ошибки
    [error_text] => //текст ошибки
    [data] => Array
        (
            //данные
        )
)

Методы работы с API:

test

Tестовый метод для проверки работы API.

Параметры запроса:

---

Ответ:

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 - баланс в этой валюте

Информация о партнерских переходах

Параметры запроса:

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 (при запросе направления обмена), необходимо разрешить доступ в настройках направления обмена, вкладка "Ограничения и проверки"

Last updated