HTTP API
يقدم Asset Core واجهات برمجة التطبيقات HTTP من خلال خادمين: خادم الكتابة للالتزامات وخادم القراءة للاستعلامات.
نظرة عامة
واجهة برمجة التطبيقات (API) تعتمد على REST مع حمولات JSON. كلا الخادمين (daemons) يوفران نقاط نهاية صحية للمراقبة، وتشتمل الاستجابات على بيانات تعريف عن الحداثة حيثما كان ذلك مناسبًا.
المواصفات الكاملة متاحة في openapi.json في حزمة التوزيع.
الهيكل
إرشادات إضافية:
النبرة: رسمية
السجل: تقني
السياق:
- المجال: بنية تحتية للبلوكشين
- الجمهور: مهندسو الأمن وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: RTL
القيود:
- استخدام لغة محايدة للجنس
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم مناسبة للاتجاه RTL
- الحفاظ على أسماء العلامات التجارية والمصطلحات في القاموس دون ترجمة
الحفاظ على دون ترجمة:
- code_blocks
- inline_code
- الروابط
- glossary_terms
- الملاحظات الرياضية
إرشادات القاموس:
الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core، Asset‑Core، CSP، API، Docker، ECS، daemon، L1، L2، L3، OpenGraph، GitHub، Astro، TypeScript، JavaScript، ℤ، ℤ²، ℤ³، ℝ²، ℝ³، 0D، 1D، 2D، 3D
نقاط نهاية Daemon
| الطريقة | المسار | الوصف |
|---|---|---|
| POST | /v1/commit | تقديم معاملة |
| POST | /v1/register/class | تسجيل فئة أصل جديدة |
| POST | /v1/register/class-shape | تسجيل شكل لفئة |
| GET | /v1/health | فحص الصحة مع حالة سجل الالتزام |
| GET | /v1/metrics | مقاييس بروميثيوس |
نقاط نهاية Daemon قراءة
| الطريقة | المسار | الوصف |
|---|---|---|
| GET | /v1/read/container/{id} | الحصول على بيانات التعريف للحاوية |
| GET | /v1/read/container/{id}/balances | الحصول على أرصدة الحاوية |
| GET | /v1/read/container/{id}/slots | الحصول على فتحات الحاوية |
| GET | /v1/read/container/{id}/grid | الحصول على شبكة الحاوية |
| GET | /v1/read/class/{id} | الحصول على تفاصيل الفئة |
| GET | /v1/read/classes | قائمة بالفئات المسجلة |
| GET | /v1/read/class/{id}/shapes | الحصول على أشكال الفئة |
| GET | /v1/read/class/{id}/stats | الحصول على إحصائيات الفئة |
| GET | /v1/read/freshness | الحصول على بيانات التعريف للانتعاش |
| GET | /v1/health | فحص الصحة |
الحقول
رؤوس الطلبات
| العنوان | مطلوب | الوصف |
|---|---|---|
Content-Type | نعم | يجب أن يكون application/json لطلبات POST |
X-Idempotency-Key | لا | بديل لحقل جسم الطلب |
رؤوس الاستجابة
| العنوان | الوصف |
|---|---|
X-Asset-Idempotency | hit إذا كانت الاستجابة مخزنة |
Content-Type | دائمًا application/json |
حقول الاستجابة الشائعة
استجابات النجاح تشمل:
{
"global_seq": 42,
"batch_seq": 1,
"minted_instances": [9001, 9002],
"metadata": { ... }
}
استجابات الاستعلام تشمل الحداثة:
إرشادات إضافية:
{
"data": { ... },
"freshness": {
"checkpoint_seq": 42,
"commit_log_seq": 45
}
}
أمثلة
إرشادات إضافية:
النبرة: رسمية السجل: تقني
السياق:
- المجال: بنية تحتية للبلوك تشين
- الجمهور: مهندسو الأمان وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: من اليمين إلى اليسار
القيود:
- استخدام لغة محايدة للجنس
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم مناسبة من حيث الاتجاه
- الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة
الحفاظ على دون ترجمة:
- code_blocks
- inline_code
- links
- glossary_terms
- mathematical_notation
إرشادات المصطلحات:
الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D
تقديم معاملة
curl -X POST http://localhost:8080/v1/commit \
-H "Content-Type: application/json" \
-d '{
"operations": [
{
"op": "CreateContainer",
"args": {
"container_id": 1001,
"kind": "Standard",
"owner": null
}
}
],
"idempotency_key": "create-container-1001"
}'
استجابة:
إرشادات إضافية:
النبرة: رسمية السجل: تقني
السياق:
- المجال: بنية تحتية للبلوك تشين
- الجمهور: مهندسو الأمن وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: من اليمين إلى اليسار
القيود:
- استخدام لغة محايدة جنسياً
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم ملائمة من حيث الاتجاه
- الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة
الحفاظ على دون ترجمة:
- code_blocks
- inline_code
- links
- glossary_terms
- mathematical_notation
إرشادات المصطلحات:
الحفاظ على هذه المصطلحات كما هي (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D
{
"global_seq": 1,
"batch_seq": 1,
"minted_instances": [],
"metadata": {
"idempotency_key": "create-container-1001"
}
}
استعلام عن أرصدة الحاويات
curl http://localhost:8081/v1/read/container/1001/balances
استجابة:
إرشادات إضافية:
النبرة: رسمية السجل: تقني
السياق:
- المجال: بنية تحتية للبلوك تشين
- الجمهور: مهندسو الأمن وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: من اليمين إلى اليسار
القيود:
- استخدام لغة محايدة جنسياً
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم ملائمة من حيث الاتجاه
- الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة
الحفاظ على دون ترجمة:
- code_blocks
- inline_code
- links
- glossary_terms
- mathematical_notation
إرشادات المصطلحات:
الحفاظ على هذه المصطلحات كما هي (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D
{
"container_id": 1001,
"balances": [
{
"class_id": 100,
"key": 1,
"quantity": 500
}
],
"freshness": {
"checkpoint_seq": 1,
"commit_log_seq": 1
}
}
تحقق من الصحة
curl http://localhost:8080/v1/health
استجابة:
إرشادات إضافية:
النبرة: رسمية السجل: تقني
السياق:
- المجال: بنية تحتية للبلوك تشين
- الجمهور: مهندسو الأمن وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: من اليمين إلى اليسار
القيود:
- استخدام لغة محايدة جنسياً
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم ملائمة من حيث الاتجاه
- الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة
الحفاظ على دون ترجمة:
- code_blocks
- inline_code
- links
- glossary_terms
- mathematical_notation
إرشادات المصطلحات:
الحفاظ على هذه المصطلحات كما هي (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D
{
"status": "healthy",
"commit_log": {
"end_seq": 100,
"checkpoint_seq": 100,
"lag": 0,
"driver": {
"name": "file",
"path": "/var/lib/assetcore/commit_log.log"
}
}
}
المراجع ذات الصلة
- المعاملات - هيكل جسم الطلب
- نموذج الخطأ - رموز الحالة واستجابات الخطأ
- OpenAPI Specification - المواصفات الكاملة لواجهة برمجة التطبيقات