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

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.

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

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

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

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

ПолеТипОписание
errorstringкраткое описание ошибки
messagestringполное описание ошибки
codeintegerкод ошибки
statusintegerhttp-статус ответа

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

ПолеТипОписание
idstringID операции на сайте UniEx
urlstringURL операции на сайте UniEx
income_codestringкод валюты на входе
outgo_codestringкод валюты на выходе
income_amountfloatсумма обмена на входе
outgo_amountfloatсумма обмена на выходе
payment_urlstringURL для перевода необходимой суммы в сервис UniEx
statusstringстатус операции обмена ("Canceled just now.")
created_atstringдата и время создания операции обмена (ISO-8601)
canceled_atstringдата и время отмены операции обмена (ISO-8601)
income_atstringдата и время поступления средств (ISO-8601)
outgo_atstringдата и время вывода средств (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, ADVCUSD, ADVCEUR, ADVCRUB, CARDUAH.

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

ПолеТипОписание
can_createbooleanвозможность создать обмен
fieldsarrayсписок полей, которые необходимо передать в метод регистрации обменной операции (массивы, содержащие имя и заголовок поля)
$ 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, ADVCUSD, ADVCEUR, ADVCRUB, CARDUAH.

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

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

$ 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-Countintegerколичество операций (всего)
X-Pagination-Page-Countintegerколичество операций (на текущей странице)
X-Pagination-Current-Pageintegerномер текущей страницы
X-Pagination-Per-Pageintegerпоказывать записей на одной странице
Linkstringссылки на первую, текущую, следующую и последнюю страницы

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

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

$ 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"
    },
    ...
]

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

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