Для удовлетворения разнообразных торговых потребностей пользователей CoinEx добавила поддержку функций, связанных с P2P API. Подробности представлены ниже:
Руководство по использованию P2P API CoinEx
1. Целевая аудитория
Любой пользователь, прошедший верификацию личности P2P-мерчанта на CoinEx. Если вы еще не являетесь верифицированным мерчантом, перед использованием API-сервисов вам необходимо подать заявку на получение статуса P2P-мерчанта на странице P2P-торговли.
2. Эффективность работы и содержание
Для пользователей, работающих через API, эффективность получения данных и выполнения запросов идентична работе в интерфейсе CoinEx. Однако возвращаемое содержание может быть сокращено из-за ограничений полей.
3. Поддерживаемые модули
- Управление статусом P2P-магазина
- Управление P2P-объявлениями
- Список объявлений пользователя P2P
- Список объявлений рынка P2P
- Список P2P-ордеров
- Изменение цены P2P-объявления
- Данные глубины рынка P2P
Документация по конечным точкам P2P API
Ознакомьтесь с Документацией публичного API CoinEx для аутентификации перед использованием приведенных нижет конечных точек.
1. Управление статусом P2P-магазина
Информация о конечной точке
- URL-путь: /v2/p2p/exchange-status
- Метод запроса: POST
- Описание: настройка статуса работы P2P-магазина (онлайн (Open) или офлайн (Closed))
- Разрешение: требуется аутентификация
Параметры запроса
Тело запроса
| Параметр | Обязательный | Тип | Описание |
| status | Да | String | Статус магазина, варианты: OPEN или CLOSED |
Пример запроса
POST /v2/p2p/exchange-status HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "OPEN"
}
Параметры ответа
| Параметр | Тип | Описание |
| status | String | Установленный статус магазина, OPEN или CLOSED |
Пример ответа
{
"code": 0,
"message": "OK",
"data": {
"status": "OPEN"
}
}
2. Управление P2P-объявлениями
Информация о конечной точке
- URL-путь: /v2/p2p/manage-ads
- Метод запроса: POST
- Описание: пакетное управление P2P-объявлениями (онлайн или офлайн)
- Разрешение: требуется аутентификация
Параметры запроса
Тело запроса
| Параметр | Обязательный | Тип | Описание |
| status | Да | String | Тип операции, варианты: ONLINE или OFFLINE |
| ad_ids | Нет | Array[String] | Список ID объявлений; если не указано, операция будет выполнена для всех подходящих объявлений |
Пример запроса
POST /v2/p2p/manage-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "ONLINE",
"ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
Параметры ответа
| Параметр | Тип | Описание |
| affected_ad_ids | Array[String] | Список успешно обработанных ID объявлений |
Пример ответа
{
"code": 0,
"message": "OK",
"data": {
"affected_ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
}
3. Список объявлений пользователя P2P
Информация о конечной точке
- URL-путь: /v2/p2p/ads
- Метод запроса: GET
- Описание: получение всех объявлений текущего пользователя
- Разрешение: требуется аутентификация
Параметры запроса
Нет
Пример запроса
GET /v2/p2p/ads HTTP/1.1
Host: api.coinex.com
Параметры ответа
Возвращает массив объектов объявлений. Каждый объект объявления содержит следующие поля:
| Параметр | Тип | Описание |
| ad_id | String | ID объявления |
| created_at | Number | Время создания (в миллисекундах) |
| updated_at | Number | Время обновления (в миллисекундах) |
| ad_number | String | Номер объявления |
| ad_side | String | Направление объявления, BUY или SELL |
| base_ccy | String | Базовая валюта |
| quote_ccy | String | Валюта котировки |
| price | String | Цена |
| available_amount | String | Доступное количество |
| quote_min_limit | String | Мин. лимит сделки (в валюте котировки) |
| quote_max_limit | String | Макс. лимит сделки (в валюте котировки) |
| status | String | Статус объявления, варианты: ONLINE или OFFLINE |
Пример ответа
{
"code": 0,
"message": "OK",
"data": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618456789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "200000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
},
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g9i",
"created_at": 1618456790000,
"updated_at": 1618456790000,
"ad_number": "AD123456790",
"ad_side": "SELL",
"base_ccy": "ETH",
"quote_ccy": "CNY",
"price": "10000",
"available_amount": "5",
"quote_min_limit": "200",
"quote_max_limit": "20000",
"status": "OFFLINE"
}
]
}
4. Список объявлений рынка P2P
Информация о конечной точке
- URL-путь: /v2/p2p/market/ads
- Метод запроса: GET
- Описание: получение списка объявлений рынка P2P
- Разрешение: аутентификация не требуется
Параметры запроса
Параметры строки запроса
| Параметр | Обязательный | Тип | Описание |
| base_ccy | Да | String | Базовая валюта |
| quote_ccy | Да | String | Валюта котировки |
| order_side | Да | String | Сторона ордера, противоположная направлению объявления, варианты: BUY или SELL |
| target_quote_amount | Нет | Decimal | Целевая сумма транзакции (в валюте котировки) |
| sort_by | Нет | String | Поле сортировки, по умолчанию PRICE, варианты: COMPLETION_RATE, DEAL_COUNT, ACCEPTANCE_RATE |
| sort_type | Нет | String | Тип сортировки, ASC (по возрастанию) или DESC (по убыванию), по умолчанию ASC |
| page | Нет | Integer | Номер страницы, по умолчанию 1 |
| limit | Нет | Integer | Количество элементов на странице, по умолчанию 10 |
Пример запроса
GET /v2/p2p/market/ads?base_ccy=BTC"e_ccy=CNY&order_side=BUY&page=1&limit=10 HTTP/1.1
Host: api.coinex.com
Параметры ответа
| Параметр | Тип | Описание |
| data | Array | Список объявлений, каждая структура аналогична списку объявлений пользователя |
| pagination | Object | Информация о пагинации |
| pagination.total | Integer | Общее количество записей |
| pagination.has_next | Boolean | Указывает, есть ли следующая страница |
Пример ответа
{
"code": 0,
"message": "OK",
"data": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618456789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "200000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
},
],
"pagination": {
"total": 50,
"has_next": true
}
}
5. Список P2P-ордеров
Информация о конечной точке
- URL-путь: /v2/p2p/order
- Метод запроса: GET
- Описание: получение списка P2P-ордеров пользователя
- Разрешение: требуется аутентификация
Параметры запроса
Параметры строки запроса
| Параметр | Обязательный | Тип | Описание |
| start_time | Нет | Number | Время начала (временная метка в миллисекундах) |
| end_time | Нет | Number | Время завершения (временная метка в миллисекундах) |
| ad_side | Нет | String | Сторона объявления, BUY или SELL |
| quote_ccy | Нет | String | Валюта котировки |
| status | Нет | String | Статус ордера |
| page | Нет | Integer | Номер страницы, по умолчанию 1 |
| limit | Нет | Integer | Количество элементов на странице, по умолчанию 10 |
Пример запроса
GET /v2/p2p/order?start_time=1618456789000&end_time=1618556789000&status=CREATED&page=1&limit=10 HTTP/1.1
Host: api.coinex.com
Параметры ответа
| Параметр | Тип | Описание |
| data | Array | Список ордеров |
| pagination | Object | Информация о пагинации |
| pagination.total | Integer | Общее количество записей |
| pagination.has_next | Boolean | Указывает, есть ли следующая страница |
Каждый объект ордера содержит следующие поля:
| Параметр | Тип | Описание |
| order_id | Integer | ID ордера |
| order_num | String | Номер ордера |
| ad_id | String | ID объявления |
| status | String | Статус ордера, варианты: CREATED, CONFIRMED, PAID, FINISHED, CANCELED |
| created_at | Number | Время создания (временная метка в миллисекундах) |
| finished_at | Number | Время завершения (временная метка в миллисекундах) |
| confirm_due_at | Number | Срок подтверждения (временная метка в миллисекундах) |
| payment_due_at | Number | Срок оплаты (временная метка в миллисекундах) |
| order_side | String | Сторона ордера, BUY или SELL |
| price | String | Цена |
| base_ccy | String | Базовая валюта |
| base_ccy_amount | String | Количество базовой валюты |
| quote_ccy | String | Валюта котировки |
| quote_ccy_amount | String | Количество валюты котировки |
| cancel_type | String | Типы отмены, варианты: CONFIRM_TIMEOUT (мерчант не подтвердил в установленный срок), MERCHANT_CREATED_CANCEL (мерчант отклонил ордер), CUSTOMER_CREATED_CANCEL (пользователь отменил до принятия ордера), PAY_TIMEOUT (покупатель не произвел оплату в установленный срок), BUYER_CANCEL (покупатель отменил ордер), SERVICE_CANCEL (служба поддержки вручную отменила ордер), SYSTEM_CANCEL (система автоматически отменила ордер). |
Пример ответа
{
"code": 0,
"message": "OK",
"data": [
{
"order_id": 12345,
"order_num": "P2P123456789",
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"status": "FINISHED",
"created_at": 1618456789000,
"finished_at": 1618466789000,
"confirm_due_at": 1618476789000,
"payment_due_at": 1618486789000,
"order_side": "BUY",
"price": "200000",
"base_ccy": "BTC",
"base_ccy_amount": "0.1",
"quote_ccy": "CNY",
"quote_ccy_amount": "20000",
"cancel_type": ""
},
],
"pagination": {
"total": 25,
"has_next": true
}
}
6. Изменение цены P2P-объявления
Информация о конечной точке
- URL-путь: /v2/p2p/modify-ads
- Метод запроса: POST
- Описание: пакетное изменение цен P2P-объявлений
- Разрешение: требуется аутентификация
Параметры запроса
Тело запроса
| Параметр | Обязательный | Тип | Описание |
| ads | Да | Array | Массив деталей изменения объявлений |
Каждый элемент в массиве ads содержит следующие поля:
| Параметр | Обязательный | Тип | Описание |
| ad_id | Да | String | ID объявления |
| price | Да | Decimal | Новая цена |
Пример запроса
POST /v2/p2p/modify-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"ads": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"price": "210000"
},
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g9i",
"price": "11000"
}
]
}
Параметры ответа
Ответ возвращает массив результатов для каждого измененного объявления. Каждый элемент содержит следующие поля:
| Параметр | Тип | Описание |
| code | Integer | Код результата, 0 означает успех |
| message | String | Сообщение результата |
| data | Object | Обновленная информация об объявлении при успехе, null при неудаче |
Пример ответа
{
"code": 0,
"message": "OK",
"data": [
{
"code": 0,
"message": "OK",
"data": {
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618556789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "210000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
}
},
{
"code": 11002,
"message": "adv not exists",
"data": null
}
]
}
7. Данные глубины рынка P2P
Информация о конечной точке
- URL-путь: /v2/p2p/market/depth
- Метод запроса: GET
- Описание: получение данных глубины рынка P2P
- Разрешение: аутентификация не требуется
Параметры запроса
Параметры строки запроса
| Параметр | Обязательный | Тип | Описание |
| base_ccy | Да | String | Базовая валюта |
| quote_ccy | Да | String | Валюта котировки |
Пример запроса
GET /v2/p2p/market/depth?base_ccy=BTC"e_ccy=CNY HTTP/1.1
Host: api.coinex.com
Параметры ответа
| Параметр | Тип | Описание |
| base_ccy | String | Базовая валюта |
| quote_ccy | String | Валюта котировки |
| index_price | String | Индексная цена |
| depth | Object | Данные глубины |
| depth.bids | Array | Данные глубины |
| depth.asks | Array | Глубина ордеров на продажу |
Каждый элемент в массивах глубины содержит следующие поля:
| Параметр | Тип | Описание |
| price | String | Цена |
| amount | String | Количество |
Пример ответа
{
"code": 0,
"message": "OK",
"data": {
"base_ccy": "BTC",
"quote_ccy": "CNY",
"index_price": "200000",
"depth": {
"bids": [
{
"price": "199000",
"amount": "1.5",
},
{
"price": "198000",
"amount": "2.0",
}
],
"asks": [
{
"price": "201000",
"amount": "1.0",
},
{
"price": "202000",
"amount": "1.8",
},
]
}
}
}