لتلبية احتياجات التداول المتنوعة للمستخدمين، تدعم CoinEx الآن وظائف واجهة برمجة التطبيق المتعلقة بـ P2P. التفاصيل كما يلي:
دليل استخدام واجهة برمجة التطبيق CoinEx P2P
1. المستخدمون المستهدفون
أي مستخدم أكمل التحقق من هوية تاجر P2P على CoinEx. إذا لم تكن تاجرًا معتمدًا بعد، فأنت بحاجة إلى التقدم بطلب للحصول على حالة تاجر P2P على صفحة P2P قبل استخدام خدمات واجهة برمجة التطبيق.
2. كفاءة التنفيذ والمحتوى
بالنسبة للمستخدمين الذين يعملون عبر خدمات واجهة برمجة التطبيق، فإن كفاءة استرجاع المعلومات وتنفيذ الطلبات مماثلة لتلك الموجودة في واجهة CoinEx. ومع ذلك، قد يتم اقتطاع المحتوى المُرجع بسبب قيود الحقول.
3. الوحدات المدعومة
إدارة حالة متجر P2P
إدارة إعلانات P2P
قائمة إعلانات مستخدم P2P
قائمة إعلانات سوق P2P
قائمة طلبات P2P
تعديل سعر إعلان P2P
بيانات خريطة العمق لسوق P2P
توثيق نقطة نهاية واجهة برمجة التطبيق P2P
يرجى زيارة توثيق واجهة برمجة التطبيق العامة لـ CoinEx للمصادقة قبل استخدام نقاط النهاية أدناه.
1. إدارة حالة متجر P2P
معلومات نقطة النهاية
مسار URL: /v2/p2p/exchange-status
طريقة الطلب: POST
الوصف: تعيين حالة العمل لمتجر P2P (مفتوح أو مغلق)
الإذن: المصادقة مطلوبة
معلمات الطلب
نص الطلب
| المعلمة | مطلوب | النوع | الوصف |
| status | نعم | سلسلة نصية | حالة المتجر، الخيارات: OPEN أو CLOSED |
مثال الطلب
POST /v2/p2p/exchange-status HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "OPEN"
}
معلمات الاستجابة
| المعلمة | النوع | الوصف |
| status | سلسلة نصية | حالة المتجر المعينة، OPEN أو CLOSED |
مثال الاستجابة
{
"code": 0,
"message": "OK",
"data": {
"status": "OPEN"
}
}
2. إدارة إعلانات P2P
معلومات نقطة النهاية
مسار URL: /v2/p2p/manage-ads
طريقة الطلب: POST
الوصف: إدارة إعلانات P2P بالدفعات (متصل أو غير متصل)
الإذن: المصادقة مطلوبة
معلمات الطلب
نص الطلب
| المعلمة | مطلوب | النوع | الوصف |
| status | نعم | سلسلة نصية | نوع العملية، الخيارات: ONLINE أو OFFLINE |
| ad_ids | لا | مصفوفة[سلسلة نصية] | قائمة معرفات الإعلانات؛ إذا لم يتم توفيرها، سيتم تشغيل جميع الإعلانات المؤهلة |
مثال الطلب
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 | مصفوفة[سلسلة نصية] | قائمة معرفات الإعلانات التي تم تشغيلها بنجاح |
مثال الاستجابة
{
"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 | سلسلة نصية | معرف الإعلان |
| created_at | رقم | وقت الإنشاء (بالمللي ثانية) |
| updated_at | رقم | وقت التحديث (بالمللي ثانية) |
| ad_number | سلسلة نصية | رقم الإعلان |
| ad_side | سلسلة نصية | اتجاه الإعلان، BUY أو SELL |
| base_ccy | سلسلة نصية | العملة الأساسية |
| quote_ccy | سلسلة نصية | العملة المقتبسة |
| price | سلسلة نصية | السعر |
| available_amount | سلسلة نصية | المبلغ المتاح |
| quote_min_limit | سلسلة نصية | الحد الأدني للتداول (العملة المقتبسة) |
| quote_max_limit | سلسلة نصية | الحد الأقصي للتداول (العملة المقتبسة) |
| status | سلسلة نصية | حالة الإعلان، الخيارات: 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 | نعم | سلسلة نصية | العملة الأساسية |
| quote_ccy | نعم | سلسلة نصية | العملة المقتبسة |
| order_side | نعم | سلسلة نصية | جانب الطلب، عكس اتجاه الإعلان، الخيارات: BUY أو SELL |
| target_quote_amount | لا | عشري | مبلغ المعاملة المستهدف (العملة المقتبسة) |
| sort_by | لا | سلسلة نصية | حقل الفرز، الافتراضي هو PRICE، الخيارات: COMPLETION_RATE، DEAL_COUNT، ACCEPTANCE_RATE |
| sort_type | لا | سلسلة نصية | نوع الفرز، ASC (تصاعدي) أو DESC (تنازلي)، الافتراضي هو ASC |
| page | لا | عدد صحيح | رقم الصفحة، الافتراضي هو 1 |
| limit | لا | عدد صحيح | عدد العناصر المعروضة لكل صفحة، الافتراضي هو 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 | مصفوفة | قائمة الإعلانات، كل بنية مماثلة لقائمة إعلانات المستخدم |
| pagination | كائن | معلومات ترقيم الصفحات |
| pagination.total | عدد صحيح | إجمالي عدد السجلات |
| pagination.has_next | منطقي | يشير إلى ما إذا كانت هناك صفحة تالية |
مثال الاستجابة
{
"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 | لا | رقم | وقت البدء (طابع زمني بالمللي ثانية) |
| end_time | لا | رقم | وقت النهاية (طابع زمني بالمللي ثانية) |
| ad_side | لا | سلسلة نصية | جانب الإعلان، BUY أو SELL |
| quote_ccy | لا | سلسلة نصية | العملة المقتبسة |
| status | لا | سلسلة نصية | حالة الطلب |
| page | لا | عدد صحيح | رقم الصفحة، الافتراضي هو 1 |
| limit | لا | عدد صحيح | عدد العناصر المعروضة لكل صفحة، الافتراضي هو 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 | مصفوفة | قائمة الطلبات |
| pagination | كائن | معلومات ترقيم الصفحات |
| pagination.total | عدد صحيح | إجمالي عدد السجلات |
| pagination.has_next | منطقي | يشير إلى ما إذا كانت هناك صفحة تالية |
يحتوي كل كائن طلب على الحقول التالية:
| المعلمة | النوع | الوصف |
| order_id | عدد صحيح | معرف الطلب |
| order_num | سلسلة نصية | رقم الطلب |
| ad_id | سلسلة نصية | معرف الإعلان |
| status | سلسلة نصية | حالة الطلب، الخيارات: CREATED، CONFIRMED، PAID، FINISHED، CANCELED |
| created_at | رقم | وقت الإنشاء (طابع زمني بالمللي ثانية) |
| finished_at | رقم | وقت الإكمال (طابع زمني بالمللي ثانية) |
| confirm_due_at | رقم | وقت استحقاق التأكيد (طابع زمني بالمللي ثانية) |
| payment_due_at | رقم | وقت استحقاق الدفع (طابع زمني بالمللي ثانية) |
| order_side | سلسلة نصية | جانب الطلب، BUY أو SELL |
| price | سلسلة نصية | السعر |
| base_ccy | سلسلة نصية | العملة الأساسية |
| base_ccy_amount | سلسلة نصية | مبلغ العملة الأساسية |
| quote_ccy | سلسلة نصية | العملة المقتبسة |
| quote_ccy_amount | سلسلة نصية | مبلغ العملة المقتبسة |
| cancel_type | سلسلة نصية | أنواع الإلغاء، الخيارات: 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 | نعم | مصفوفة | مصفوفة تفاصيل تعديل الإعلان |
يحتوي كل عنصر في مصفوفة الإعلانات على الحقول التالية:
| المعلمة | مطلوب | النوع | الوصف |
| ad_id | نعم | سلسلة نصية | معرف الإعلان |
| price | نعم | عشري | السعر الجديد |
مثال الطلب
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 | عدد صحيح | رمز النتيجة، 0 يشير إلى النجاح |
| message | سلسلة نصية | رسالة النتيجة |
| data | كائن | معلومات الإعلان المحدثة عند النجاح، 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 | نعم | سلسلة نصية | العملة الأساسية |
| quote_ccy | نعم | سلسلة نصية | العملة المقتبسة |
مثال الطلب
GET /v2/p2p/market/depth?base_ccy=BTC"e_ccy=CNY HTTP/1.1
Host: api.coinex.com
معلمات الاستجابة
| المعلمة | النوع | الوصف |
| base_ccy | سلسلة نصية | العملة الأساسية |
| quote_ccy | سلسلة نصية | العملة المقتبسة |
| index_price | سلسلة نصية | سعر المؤشر |
| depth | كائن | بيانات خريطة العمق |
| depth.bids | مصفوفة | بيانات خريطة العمق |
| depth.asks | مصفوفة | خريطة عمق أوامر البيع |
يحتوي كل عنصر في مصفوفات خريطة العمق على الحقول التالية:
| المعلمة | النوع | الوصف |
| price | سلسلة نصية | السعر |
| amount | سلسلة نصية | حجم الطلب |
مثال الاستجابة
{
"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",
},
]
}
}
}