사용자의 다양한 거래 요구를 충족하기 위해 CoinEx는 이제 P2P API 관련 기능을 지원합니다. 세부 내용은 다음과 같습니다:
CoinEx P2P API 사용 가이드
1. 대상 사용자
CoinEx에서 P2P 판매자 ID 인증을 완료한 모든 사용자. 아직 인증된 판매자가 아닌 경우, API 서비스를 사용하기 전에 P2P 페이지에서 P2P 판매자 자격을 신청해야 합니다.
2. 실행 효율성 및 내용
API 서비스를 통해 운영하는 사용자의 경우, 정보 검색 및 요청 실행의 효율성은 CoinEx 인터페이스 내에서의 효율성과 동일합니다. 그러나 필드 제한으로 인해 반환된 내용이 잘릴 수 있습니다.
3. 지원되는 모듈
- P2P 상점 상태 관리
- P2P 광고 관리
- P2P 사용자 광고 목록
- P2P 시장 광고 목록
- P2P 주문 목록
- P2P 광고 가격 수정
- P2P 시장 뎁스 데이터
P2P API 엔드포인트 문서
아래 엔드포인트를 사용하기 전에 CoinEx 공개 API 문서에서 인증을 확인하세요.
1. P2P 상점 상태 관리
엔드포인트 정보
- URL 경로: /v2/p2p/exchange-status
- 요청 방법: POST
- 설명: P2P 상점의 비즈니스 상태 설정(열림 또는 닫힘)
- 권한: 인증 필요
요청 매개변수
요청 본문
| 매개변수 | 필수 | 유형 | 설명 |
| 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",
},
]
}
}
}