Обмены обрабатываются в течение 1 минуты, если сумма обмена до 2000$ в эквиваленте. Более 2000$ - с 10:00 (Киев).

UniEx API: Руководство пользователя

Содержание

Введение

UniEx API разработан для владельцев веб-сайтов, которые хотят предоставить своим клиентам возможность быстрого и удобного обмена электронных валют. API построен с использованием стандартной технологии RESTful web services, все данные передаются в API и возвращаются в формате JSON.

Наше API постоянно развивается и совершенствуется. Следите за обновлениями на этой странице.

Аутентификация

Аутентификация в UniEx API осуществляется путём передачи заголовка Authorization: Bearer в запросе:

Authorization: Bearer YOUR_TOKEN

Доступ к API Uniex предоставляется в ручном режиме. Для получения аутентификационного токена напишите письмо на [email protected] с указанием вашего логина на сайте UniEx и краткого описания того, как вы планируете использовать API.

Стандартные структуры данных

В данном разделе перечислены стандартные структуры данных, которые используются далее при описании ответов API UniEx.

Непредвиденная ошибка

В некоторых ситуациях (например, обновление сайта), возвращаются ошибки, которые не связаны непосредственно с запрошенной операцией.

Поле Тип Описание
error string описание ошибки (например, "Maintenance mode.")

Сообщение об ошибке

Поле Тип Описание
error string краткое описание ошибки
message string полное описание ошибки
code integer код ошибки
status integer http-статус ответа

Информация об обмене

Поле Тип Описание
id string ID операции на сайте UniEx
url string URL операции на сайте UniEx
income_code string код валюты на входе
outgo_code string код валюты на выходе
income_amount float сумма обмена на входе
outgo_amount float сумма обмена на выходе
payment_url string URL для перевода необходимой суммы в сервис UniEx
status string статус операции обмена ("Canceled just now.")
created_at string дата и время создания операции обмена (ISO-8601)
canceled_at string дата и время отмены операции обмена (ISO-8601)
income_at string дата и время поступления средств (ISO-8601)
outgo_at string дата и время вывода средств (ISO-8601)

Получение данных для обмена

Перед регистрацией операции обмена необходимо получить список полей, которые нужно будет передать в метод регистрации.

Метод и URL запроса

OPTIONS https://uniex.co/api/exchange/{from}-{into}

, где {from} – код валюты, которую отдаёт клиент, и {into} – код валюты, которую клиент получает.

Доступные коды валют: BTC, BCH, ETH, DASH, LTC, DOGE, PMUSD, PMEUR, PMRUSD, PRUSD, PRRUB, EXMUSD, EXMRUB, EXMUAH, ZEC, USDT, ADVCUSD, ADVCEUR, ADVCRUB.

Успешный ответ

Поле Тип Описание
can_create boolean возможность создать обмен
fields array список полей, которые необходимо передать в метод регистрации обменной операции (массивы, содержащие имя и заголовок поля)
$ curl https://uniex.co/api/exchange/BTC-OKUSD -i \
  -X OPTIONS \
  -H "Authorization: Bearer YOUR_TOKEN"

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    "can_create": true,
    "fields": [
        {
            "field": "income_amount",
            "label": "Exchange Bitcoin BTC"
        },
        {
            "field": "wallet",
            "label": "OkPay Wallet"
        }
    ]
}

Ответ в случае ошибки

В случае ошибки возвращается структура данных Сообщение об ошибке.

Регистрация обменной операции

Метод, с помощью которого запускается процедура обмена одной валюты на другую.

Метод и URL запроса

POST https://uniex.co/api/exchange/{from}-{into}

, где {from} – код валюты, которую отдаёт клиент, и {into} – код валюты, которую клиент получает.

Доступные коды валют: BTC, BCH, ETH, DASH, LTC, DOGE, PMUSD, PMEUR, PMRUSD, PRUSD, PRRUB, EXMUSD, EXMRUB, EXMUAH, ZEC, USDT, ADVCUSD, ADVCEUR, ADVCRUB.

Успешный ответ

При успешной операции возвращается структура данных Информация об обмене.

$ curl https://uniex.co/api/exchange/BTC-OKUSD -i \
  -X POST \
  -d "income_amount=0.01000000" \
  -d "wallet=OK123456" \
  -H "Authorization: Bearer YOUR_TOKEN"

HTTP/1.1 201 Created
Content-Type: application/json; charset=UTF-8

{
    "id": "1a9ef720da",
    "url": "https://uniex.co/exchange/1a9ef720da",
    "income_code": "BTC",
    "outgo_code": "OKUSD",
    "income_amount": "0.01000000",
    "outgo_amount": "95.95",
    "payment_url": "bitcoin:4HmrT8HBthGCzyUwgpBxqj9TmhaYLNSTk7?amount=0.30000000",
    "status": "Waiting payment from Mar 5, 2018, 5:25:51 PM.",
    "created_at": "2018-03-05T15:25:51+0000",
    "canceled_at": null,
    "income_at": null,
    "outgo_at": null
}

Ответ в случае ошибки

В случае ошибки возвращается структура данных Сообщение об ошибке.

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

С помощью этого метода можно проверить текущий статус созданной ранее операции обмена.

Метод и URL запроса

GET https://uniex.co/api/exchange/{id}

, где {id} – код операции обмена, полученный в результате регистрации обменной операции.

Успешный ответ

При успешной операции возвращается структура данных Информация об обмене.

$ curl https://uniex.co/api/exchange/1a9ef720da -i \
  -X GET \
  -H "Authorization: Bearer YOUR_TOKEN"

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    "id": "1a9ef720da",
    "url": "https://uniex.co/exchange/1a9ef720da",
    "income_code": "BTC",
    "outgo_code": "OKUSD",
    "income_amount": "0.01000000",
    "outgo_amount": "95.95",
    "payment_url": "bitcoin:4HmrT8HBthGCzyUwgpBxqj9TmhaYLNSTk7?amount=0.30000000",
    "status": "Waiting payment from Mar 5, 2018, 5:25:51 PM.",
    "created_at": "2018-03-05T15:25:51+0000",
    "canceled_at": null,
    "income_at": null,
    "outgo_at": null
}

Ответ в случае ошибки

В случае ошибки возвращается структура данных Сообщение об ошибке.

Отмена обменной операции

Метод позволяет отменить ранее созданную операцию обмена (в том случае, если она еще не завершена).

Метод и URL запроса

DELETE https://uniex.co/api/exchange/{id}

, где {id} – код операции обмена, полученный в результате регистрации обменной операции.

Успешный ответ

При успешной операции возвращается структура данных Информация об обмене.

$ curl https://uniex.co/api/exchange/1a9ef720da -i \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"
  
HTTP/1.1 202 Accepted
Content-Type: application/json; charset=UTF-8

{
    "id": "1a9ef720da",
    "url": "https://uniex.co/exchange/1a9ef720da",
    "income_code": "BTC",
    "outgo_code": "OKUSD",
    "income_amount": "0.01000000",
    "outgo_amount": "95.95",
    "payment_url": null,
    "status": "Canceled just now.",
    "created_at": "2018-03-05T15:25:51+0000",
    "canceled_at": "2018-03-13T07:01:04+0000",
    "income_at": null,
    "outgo_at": null
}

Ответ в случае ошибки

В случае ошибки возвращается структура данных Сообщение об ошибке.

Получение списка обменных операций

Метод постранично возвращает информацию по всем вашим обменным операциям в виде массива. В дополнение к данным обмена в заголовках ответа API возвращает пагинационную информацию.

Метод и URL запроса

GET https://uniex.co/api/exchanges[?page={n}]

, где ?page={n} – необязательный (для первой страницы) параметр, указывающий на номер запрашиваемой страницы данных.

Пагинационные заголовки ответа

Поле Тип Описание
X-Pagination-Total-Count integer количество операций (всего)
X-Pagination-Page-Count integer количество операций (на текущей странице)
X-Pagination-Current-Page integer номер текущей страницы
X-Pagination-Per-Page integer показывать записей на одной странице
Link string ссылки на первую, текущую, следующую и последнюю страницы

Успешный ответ

В случае успешного ответа возвращается массив обменных операций, где каждый элемент массива представляет собой структуру данных Информация об обмене.

$ curl https://uniex.co/api/exchanges -i \
  -X GET \
  -H "Authorization: Bearer YOUR_TOKEN"

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
X-Pagination-Total-Count: 41
X-Pagination-Page-Count: 3
X-Pagination-Current-Page: 1
X-Pagination-Per-Page: 20
Link: <https://uniex.co/api/exchanges?page=1>; rel=self, <https://uniex.co/api/exchanges?page=2>; rel=next, <https://uniex.co/api/exchanges?page=3>; rel=last

[
    {
        "id": "2a4de64af9",
        "url": "https://uniex.co/exchange/2a4de64af9",
        "income_code": "BTC",
        "outgo_code": "OKUSD",
        "income_amount": "0.10000000",
        "outgo_amount": "959.54",
        "status": "Canceled an hour ago.",
        "created_at": "2018-03-05T12:23:26+0000",
        "canceled_at": "2018-03-05T12:23:38+0000",
        "income_at": null,
        "outgo_at": null
    },
    {
        "id": "2a4dd26d99",
        "url": "https://uniex.co/exchange/2a4dd26d99",
        "income_code": "PMRUSD",
        "outgo_code": "BTC",
        "income_amount": "13.94",
        "outgo_amount": "0.01660167",
        "status": "Completed, 0.01660167 BTC was sent a year ago.",
        "created_at": "2016-12-16T08:08:51+0000",
        "canceled_at": null,
        "income_at": "2016-12-16T08:08:52+0000",
        "outgo_at": "2016-12-16T08:08:52+0000"
    },
    ...
]

Ответ в случае ошибки

В случае ошибки возвращается структура данных Сообщение об ошибке.