Para satisfacer las diversas necesidades de operación de los usuarios, CoinEx ahora admite funcionalidades relacionadas con la API P2P. Los detalles son los siguientes:
Guía de uso de la API P2P de CoinEx
1. Usuarios
Cualquier usuario que haya completado la verificación de ID de comerciante P2P en CoinEx. Si aún no eres un comerciante verificado, debes solicitar el estatus de comerciante P2P en la página P2P antes de utilizar los servicios de API.
2. Eficiencia de ejecución y contenido
Para los usuarios que operan a través de los servicios de API, la eficiencia de recuperación de información y ejecución de solicitudes es idéntica a la de la interfaz de CoinEx. Sin embargo, el contenido devuelto puede estar truncado debido a restricciones de campo.
3. Módulos compatibles
- Gestión del estado de la tienda P2P
- Gestión de anuncios P2P
- Lista de anuncios de usuario P2P
- Lista de anuncios del mercado P2P
- Lista de órdenes P2P
- Modificación de precios de anuncios P2P
- Datos de profundidad del mercado P2P
Documentación del punto de conexión de la API P2P
Visita la Documentación de la API pública de CoinEx para autenticarte antes de usar los puntos de conexión a continuación.
1. Gestión del estado de la tienda P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/exchange-status
- Método de solicitud: POST
- Descripción: Establecer el estado comercial de la tienda P2P (Abierta o Cerrada)
- Permiso: Autenticación requerida
Parámetros de solicitud
Cuerpo de la solicitud
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| status | Sí | String | Estado de la tienda, opciones: OPEN o CLOSED |
Ejemplo de solicitud
POST /v2/p2p/exchange-status HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "OPEN"
}
Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | String | El estado establecido de la tienda, OPEN o CLOSED |
Ejemplo de respuesta
{
"code": 0,
"message": "OK",
"data": {
"status": "OPEN"
}
}
2. Gestión de anuncios P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/manage-ads
- Método de solicitud: POST
- Descripción: Gestionar anuncios P2P por lotes (En línea o Fuera de línea)
- Permiso: Autenticación requerida
Parámetros de solicitud
Cuerpo de la solicitud
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| status | Sí | String | Tipo de operación, opciones: ONLINE o OFFLINE |
| ad_ids | No | Array[String] | Lista de IDs de anuncios; si no se proporciona, se operará en todos los anuncios elegibles |
Ejemplo de solicitud
POST /v2/p2p/manage-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "ONLINE",
"ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| affected_ad_ids | Array[String] | Lista de IDs de anuncios operados con éxito |
Ejemplo de respuesta
{
"code": 0,
"message": "OK",
"data": {
"affected_ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
}
3. Lista de anuncios de usuario P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/ads
- Método de solicitud: GET
- Descripción: Recuperar todos los anuncios del usuario actual
- Permiso: Autenticación requerida
Parámetros de solicitud
Ninguno
Ejemplo de solicitud
GET /v2/p2p/ads HTTP/1.1
Host: api.coinex.com
Parámetros de respuesta
Devuelve un array de objetos de anuncios. Cada objeto de anuncio contiene los siguientes campos:
| Parámetro | Tipo | Descripción |
|---|---|---|
| ad_id | String | ID del anuncio |
| created_at | Number | Hora de creación (en milisegundos) |
| updated_at | Number | Hora de actualización (en milisegundos) |
| ad_number | String | Número de anuncio |
| ad_side | String | Dirección del anuncio, BUY o SELL |
| base_ccy | String | Moneda base |
| quote_ccy | String | Moneda cotizada |
| price | String | Precio |
| available_amount | String | Monto disponible |
| quote_min_limit | String | Límite mín. de operación (moneda cotizada) |
| quote_max_limit | String | Límite máx. de operación (moneda cotizada) |
| status | String | Estado del anuncio, opciones: ONLINE o OFFLINE |
Ejemplo de respuesta
{
"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. Lista de anuncios del mercado P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/market/ads
- Método de solicitud: GET
- Descripción: Recuperar la lista de anuncios del mercado P2P
- Permiso: Autenticación no requerida
Parámetros de solicitud
Parámetros de consulta
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| base_ccy | Sí | String | Moneda base |
| quote_ccy | Sí | String | Moneda cotizada |
| order_side | Sí | String | Lado de la orden, opuesto a la dirección del anuncio, opciones: BUY o SELL |
| target_quote_amount | No | Decimal | Monto de la transacción objetivo (moneda cotizada) |
| sort_by | No | String | Campo de ordenación, por defecto es PRICE, opciones: COMPLETION_RATE, DEAL_COUNT, ACCEPTANCE_RATE |
| sort_type | No | String | Tipo de ordenación, ASC (ascendente) o DESC (descendente), por defecto es ASC |
| page | No | Integer | Número de página, por defecto es 1 |
| limit | No | Integer | Número de elementos mostrados por página, por defecto es 10 |
Ejemplo de solicitud
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
Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| data | Array | Lista de anuncios, cada estructura es la misma que la lista de anuncios de usuario |
| pagination | Object | Información de paginación |
| pagination.total | Integer | Número total de registros |
| pagination.has_next | Boolean | Indica si hay una página siguiente |
Ejemplo de respuesta
{
"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. Lista de órdenes P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/order
- Método de solicitud: GET
- Descripción: Recuperar la lista de órdenes P2P del usuario
- Permiso: Autenticación requerida
Parámetros de solicitud
Parámetros de consulta
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| start_time | No | Number | Hora de inicio (marca de tiempo en milisegundos) |
| end_time | No | Number | Hora de cierre (marca de tiempo en milisegundos) |
| ad_side | No | String | Lado del anuncio, BUY o SELL |
| quote_ccy | No | String | Moneda cotizada |
| status | No | string | Estado de la orden |
| page | No | Integer | Número de página, por defecto es 1 |
| limit | No | Integer | Número de elementos mostrados por página, por defecto es 10 |
Ejemplo de solicitud
GET /v2/p2p/order?start_time=1618456789000&end_time=1618556789000&status=CREATED&page=1&limit=10 HTTP/1.1
Host: api.coinex.com
Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| data | Array | Lista de órdenes |
| pagination | Object | Información de paginación |
| pagination.total | Integer | Número total de registros |
| pagination.has_next | Boolean | Indica si hay una página siguiente |
Cada objeto de orden contiene los siguientes campos:
| Parámetro | Tipo | Descripción |
|---|---|---|
| order_id | Integer | ID de la orden |
| order_num | String | Número de orden |
| ad_id | String | ID del anuncio |
| status | String | Estado de la orden, opciones: CREATED, CONFIRMED, PAID, FINISHED, CANCELED |
| created_at | Number | Hora de creación (marca de tiempo en milisegundos) |
| finished_at | Number | Hora de finalización (marca de tiempo en milisegundos) |
| confirm_due_at | Number | Hora límite de confirmación (marca de tiempo en milisegundos) |
| payment_due_at | Number | Hora límite de pago (marca de tiempo en milisegundos) |
| order_side | String | Lado de la orden, BUY o SELL |
| price | String | Precio |
| base_ccy | String | Moneda base |
| base_ccy_amount | String | Monto de la moneda base |
| quote_ccy | String | Moneda cotizada |
| quote_ccy_amount | String | Monto de la moneda cotizada |
| cancel_type | String | Tipos de cancelación, opciones: CONFIRM_TIMEOUT (El comerciante no confirmó dentro del límite de tiempo), MERCHANT_CREATED_CANCEL (El comerciante rechazó la orden), CUSTOMER_CREATED_CANCEL (El usuario canceló antes de aceptar la orden), PAY_TIMEOUT (El comprador no realizó el pago dentro del límite de tiempo), BUYER_CANCEL (El comprador canceló la orden), SERVICE_CANCEL (El soporte al cliente canceló manualmente la orden), SYSTEM_CANCEL (El sistema canceló automáticamente la orden). |
Ejemplo de respuesta
{
"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. Modificación de precios de anuncios P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/modify-ads
- Método de solicitud: POST
- Descripción: Modificar precios de anuncios P2P por lotes
- Permiso: Autenticación requerida
Parámetros de solicitud
Cuerpo de la solicitud
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| ads | Sí | Array | Array de detalles de modificación de anuncios |
Cada elemento en el array ads contiene los siguientes campos:
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| ad_id | Sí | String | ID del anuncio |
| price | Sí | Decimal | Nuevo precio |
Ejemplo de solicitud
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"
}
]
}
Parámetros de respuesta
La respuesta devuelve un array de resultados para cada anuncio modificado. Cada elemento contiene los siguientes campos:
| Parámetro | Tipo | Descripción |
|---|---|---|
| code | Integer | Código de resultado, 0 indica éxito |
| message | String | Mensaje de resultado |
| data | Object | Información actualizada del anuncio en caso de éxito, null en caso de fallo |
Ejemplo de respuesta
{
"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. Datos de profundidad del mercado P2P
Información del punto de conexión
- Ruta URL: /v2/p2p/market/depth
- Método de solicitud: GET
- Descripción: Recuperar datos de profundidad del mercado P2P
- Permiso: Autenticación no requerida
Parámetros de solicitud
Parámetros de consulta
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| base_ccy | Sí | String | Moneda base |
| quote_ccy | Sí | String | Moneda cotizada |
Ejemplo de solicitud
GET /v2/p2p/market/depth?base_ccy=BTC"e_ccy=CNY HTTP/1.1
Host: api.coinex.com
Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| base_ccy | String | Moneda base |
| quote_ccy | String | Moneda cotizada |
| index_price | String | Precio índice |
| depth | Object | Datos de profundidad |
| depth.bids | Array | Datos de profundidad |
| depth.asks | Array | Profundidad de órdenes de venta |
Cada elemento en los arrays de profundidad contiene los siguientes campos:
| Parámetro | Tipo | Descripción |
|---|---|---|
| price | String | Precio |
| amount | String | Monto |
Ejemplo de respuesta
{
"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",
},
]
}
}
}