Работа с API

REST API - Дает возможность работать с обменным пунктом через API

iEXExchanger API — позволяет автоматизировать получение информации о курсах, партнерской программы, заявок, которые представлены обменнике.

Чтобы использовать iEXExchanger API, вам необходимо получить API key

Получение API Ключа

Для получения API Key, Вам необходимо выполните следующие действия:

  1. Авторизуйтесь или Зарегистрируйтесь на сайте обменника.

  2. Перейдите в личный кабинет и в разделе "Настройки" откройте вкладку "REST API"

  3. Далее, скопируйте ключ который там представлен.

По умолчанию API доступен не всем клиентам: Чтобы включить API, откройте панель управления обменником, зайдите в "Пользователи — Список пользователей", выберите пользователя для которого хотите включить API и нажмите на имя пользователя для редактирования настроек.

Найдите Разрешить доступ к REST API и включите данную функцию

Разрешение для API

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

Разрешения выдаются в разделе API — Список API

Использование API

Точка входаhttps://your_domain/api/v2/

your_domain - замените на домен обменника (Например: test.com)

Отправляемые данные должны быть в формате JSON с кодировкой UTF-8.

Для успешных запросов API все запросы должны содержать несколько обязательных заголовков (headers):

Headers

Пример запроса

use Illuminate\Support\Facades\Http;

$api_key = 'YOUR_API_KEY';
$base_url = 'https://your_domain/api/v2'
$response = Http::baseUrl($base_url)->withToken($api_key)->asJson();

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

Внизу перечислены все методы для работы с API

Тест соединения

GET /state

Метод для тестирования работы API

Пример запроса

use Illuminate\Support\Facades\Http;

$api_key = 'YOUR_API_KEY';
$base_url = 'https://your_domain/api/v2'
$response = Http::baseUrl($base_url)->withToken($api_key)->asJson()
                ->get('/state')->json();

Ответ

{
  "result": true
}

Список принимаемых валют

GET /currencies-list

Получение списка всех активных валют

Схема ответа

Пример запроса

use Illuminate\Support\Facades\Http;

$api_key = 'YOUR_API_KEY';
$base_url = 'https://your_domain/api/v2'
$response = Http::baseUrl($base_url)->withToken($api_key)->asJson()
                ->get('/cashe/currencies-list')->json();

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

{
    "data":{
        "1":{
            "id":1,
            "type":"currency",
            "attributes":{
                "name":"СберОнлайн",
                "currency_type":"РУБ",
                "payment_name":"СберОнлайн",
                "iso_code":"RUB",
                "letter_cod":"SBERRUB",
                "decimal":2
            }
        }
        ///....
    }
}

Список операций для валют

GET /operations/{id_валюты}/

Получаем список операций для валюты

Схема ответа

Пример запроса

use Illuminate\Support\Facades\Http;

$api_key = 'YOUR_API_KEY';
$base_url = 'https://your_domain/api/v2'
$response = Http::baseUrl($base_url)->withToken($api_key)->asJson()
                ->get('/operations/{id_валюты}')->json(); // operations/2

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

{
    "data":{
        "1":{
            "id":1,
            "type":"direction",
            "attributes":{
                "buy_currency":{
                    "id":1,
                    "name":"СберОнлайн",
                    "currency_type":"РУБ",
                    "payment_name":"СберОнлайн",
                    "iso_code":"RUB",
                    "letter_cod":"SBERRUB",
                    "decimal":2
                },
                "reserv_value":948498141,
                "course":{
                    "rate":5584341.301011727
                }
            }
        }
    }
}

Детали операции

POST /operations/detail/{direction_id}

Получаем подробную информацию по выбранному направлению

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

Схема ответа

Пример запроса

use Illuminate\Support\Facades\Http;

$api_key = 'YOUR_API_KEY';
$base_url = 'https://your_domain/api/v2'
$response = Http::baseUrl($base_url)->withToken($api_key)->asJson()
                ->get('/operations/detail/{direction_id}')->json();

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

{
    "data":{
        "id":1,
        "type":"direction",
        "attributes":{
            "position_num_in":0,
            "in_currency":{
                "id":2,
                "letter_cod":"BTC",
                "name":"Bitcoin BTC",
                "label_in":"С кошелька Bitcoin",
                "label_out":"На Bitcoin кошелек",
                "error_message":"",
                "decimal":8,
                "fields_in":{
                    "main":[],
                    "additional":[]
                },
                "fields_out": {
                    "main":[],
                    "additional":[]
                }
            },
            "position_num_out":0,
            "out_currency":{
                "id":1,
                "letter_cod":"SBERRUB",
                "name":"СберОнлайн",
                "label_in":"С номера карты",
                "label_out":"Номер карты to",
                "error_message":"",
                "decimal":2,
                "fields_in":{
                    "main":[],
                    "additional":[]
                },
                "fields_out":{
                    "main":[],
                    "additional":[]
                }
            },
            "course":{
                "rate":5584341.301011727
            },
            "min_in":1.8e-7,
            "max_in":0.02003904,
            "min_out":1,
            "max_out":110000,
            "cities":[],
            "fields":[]
        }
    }
}

Получение информации об учетной записи

GET your_domain/api/v2/account

{
    "data":{
        "id":1,
        "type":"user",
        "attributes":{
            "name":"iEXUser",
            "email":"iex@domain",
            "locale":"ru",
            "created_at":1553401753,
            "last_visit":1709480844
        }
    }
}

Схема Ответа

API Валют и Курсов

Получение деталей направлений/валют

GET {ваш_домен}/api/v2/exchange/details

API Заявок

Создание новой заявки

POST {ваш_домен}/api/v2/order/create

Request Body

{
    "data": {
        "id":"1682076258673",
        "type":"order",
        "attributes": {
            "public_id":"1682076258673", // Номер заявки
            "created_at":"2023-04-21T14:24:18+03:00", // Дата создания
            "payment_system_from_id":3, // ID Валюты Отдаю
            "payment_system_to_id":10, // ID Валюты Получаю
            "fio_in":"",
            "fio_out":"",
            "is_new_user":1,
            "income_account":"Номер счета Отдаю",
            "outcome_account":"Номер счета Получаю",
            "is_click_button":0,
            "is_income_code":false,
            "income_amount": { // Сумма Отдаю
                "amount":0.808776,
                "currency":"ETH"
            },
            "outcome_amount": { // Сумма Получаю
                "amount":10,
                "currency":"LTC"
            },
            "income_qrcode": { // Данные по QR Code
                "is_qrcode":true,
                "prefix":"ethereum:",
                "value":"ethereum:eth?amount=0.808776"
            },
            "income_payment_timeout":300, // Время в течении которого необходимо оплатить заявку
            "pay_invoice_url":null, // Ссылка на оплату заявки (мерчант)
            "status":"waiting", // Статус заявки
            "payment_field": {
                "name":"",
                "value":"eth",
                "fields":[]
            },
            "is_email_verification":true,
            "is_verification":true,
            "is_black_list":false,
            "pay_merchant":false
        }
    }
}

Подтверждение создание заявки

POST {ваш_домен}/api/v2/order/confirm

Request Body

Отклонить созданную заявку

POST {ваш_домен}/api/v2/order/cancel

Request Body

Проверка статус созданной заявки

GET {ваш_домен}/api/v2/order/status

Request Body

{
    "data": {
        "id":1682077248374,
        "public_id":"1682077248374",
        "type":"order_status",
        "attributes": {
            "created_at":"2023-04-21T11:40:48.000000Z",
            "is_paid":false,
            "is_handler":false,
            "status":"pending"
        }
    }
}

API Партнерской программы

Информация по партнерской программе

GET {ваш_домен}/api/v2/partner/info

Headers

{
    "status":0,
    "data":{
        "balance":0,
        "currency_payout":"$",
        "min_payout":"0"
    }
}

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

GET {ваш_домен}/api/v2/partner/links

Headers

Request Body

{
    "status":0,
    "data":[{
        "created_at":"2022-08-18 21:29:06",
        "ref_hash":"ref_hash",
        "user_agent":"User agent",
        "ip_address":"127.0.0.1",
        "cur_from":"BTC",
        "cur_to":"ETH",
        "views":11
    }]
}

Данные о партнерских обменах

GET {ваш_домен}/api/v2/partner/exchanges

Headers

Request Body

{
    "status":0,
    "data":[{
        "created_at":"2019-03-24 14:40:41",
        "order_id":328,
        "amount_in":"1",
        "amount_out":"8750.98",
        "rate":"1 ETH = 8750.98 руб.",
        "status_order":0,
        "partner_bonus":"2.00 руб",
        "partner_percent":0
    }]
}

Список партнерских выплат

GET https://{ваш_домен}/api/v2/partner/payouts

Headers

Request Body

{
    "status":0,
    "data":[{
        "created_at":"2019-03-26 13:57:24",
        "status":1,
        "account":"R111111111111",
        "pay_amount":0,
        "pay_currency_name":"AdvCash",
        "pay_currency_code":"USD"
    }]
}

Last updated