عملية التقديم
لاستخدام Claude Messages API، انتقل أولًا إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقًا.
إذا لم تكن قد سجلت الدخول أو أنشأت حسابًا بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وبعد الإكمال ستعود تلقائيًا إلى الصفحة الحالية.
يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة للتقديم بشكل منفصل لكل خدمة. سيمنحك أول تقديم رصيدًا مجانيًا لتجربة الخدمة مجانًا؛ وعندما يكون الرصيد غير كافٍ، يمكنك شحن الرصيد العام من وحدة التحكم.
📘 الوثائق الكاملة: Claude Messages API →
الاستخدام الأساسي
مسار طلب Claude Messages API هو/v1/messages، وهو متوافق مع Anthropic API الرسمي. نحتاج إلى توفير ثلاثة معلمات إلزامية على الأقل:
model: اختر نموذج Claude المراد استخدامه. لا يتوفرclaude-opus-5-5إلا عبر Messages API، ويدعم سياقًا من مليون Token، وحدًا أقصى للإخراج يبلغ 128K Token، ويُفعّل دائمًا التفكير التكيفي. أحدث نموذج رائد هوclaude-fable-5-1(سياق مليون Token، وحد أقصى للإخراج يبلغ 128K Token)؛ ولا يزالclaude-fable-5السابق محفوظًا للتوافق. انضمclaude-sonnet-5-5إلى واجهة سلسلة Messages الأصلية، ويدعم إدخال الصور والتفكير التكيفي؛ وأسعار المراجع الرسمية للمدخلات والمخرجات وقراءة التخزين المؤقت هي 2 و10 و0.20 دولار لكل مليون Token على التوالي.messages: مصفوفة الرسائل المُدخلة، تحتوي كل رسالة علىrole(الدور) وcontent(المحتوى)، حيث يدعمroleكلاً منuserوassistant.max_tokens: الحد الأقصى لعدد token في الإخراج، ويُستخدم لتقييد طول الرد الواحد.
system: نص التوجيه النظامي، يُستخدم لتعيين سلوك النموذج ودوره.temperature: عشوائية التوليد، بين 0 و1، وكلما زادت القيمة أصبح الرد أكثر تشتتًا.stream: ما إذا كان سيتم استخدام استجابة متدفقة، ويمكن بتعيينه إلىtrueتحقيق تأثير الإرجاع حرفًا بحرف.stop_sequences: تسلسلات إيقاف مخصصة، يتوقف النموذج عن التوليد عند مواجهة هذه النصوص.top_p: معلمة أخذ العينات النوية، وتتحكم مع temperature في عشوائية التوليد.top_k: أخذ العينات من بين أعلى K خيارات احتمالًا فقط.tools: تعريف الأدوات، يُستخدم للسماح للنموذج باستدعاء وظائف خارجية.tool_choice: التحكم في كيفية استخدام النموذج للأدوات المقدمة.cache_control: إنشاء نقطة توقف للتخزين المؤقت تلقائيًا عند آخر كتلة محتوى قابلة للتخزين المؤقت في الطلب؛ ويمكن أيضًا كتابتها على كتلة محتوى محددة.
مثال cURL
مثال Python
id: المعرّف الفريد لهذه الرسالة.type: يكون دائمًاmessage.role: يكون دائمًاassistant.content: مصفوفة محتوى الرد، يحتوي كل عنصر علىtype(مثلtext) والمحتوى المقابل.model: اسم النموذج الذي يعالج الطلب.stop_reason: سبب التوقف. تشمل القيم المستقرةend_turnوmax_tokensوstop_sequenceوtool_useوpause_turn(يمكن إرجاع محتوى assistant الحالي كما هو للمتابعة) وrefusalوmodel_context_window_exceeded.stop_sequence: إذا توقف بسبب تسلسل إيقاف مخصص، يعرض نص تسلسل الإيقاف المطابق.stop_details: عندما يكونstop_reasonهوrefusal، قد يتضمن فئة الرفض ووصفًا.usage: إحصائيات استخدام token. يمثلinput_tokensالمدخلات غير المخزنة مؤقتًا؛ ويمثلcache_creation_input_tokensوcache_read_input_tokensالكتابة إلى التخزين المؤقت والقراءة منه على التوالي؛ ويمثلoutput_tokensإجمالي عدد token في الإخراج. إذا أُعيدoutput_tokens_details.thinking_tokens، فهذه القيمة مجموعة فرعية منoutput_tokens، ولا تُضف مرة أخرى عند حساب الإجمالي أو التكلفة. قد تكون هذه التفاصيلnullأو يتم حذفها عند عدم وجود عدّ موثوق.usage.cache_creation: تفاصيل اختيارية لمدة TTL للكتابة إلى التخزين المؤقت، تشملephemeral_5m_input_tokensوephemeral_1h_input_tokens. عند وجود الكائن، يساوي مجموع القيمتينcache_creation_input_tokens؛ ويعني كون الحقلnullأو محذوفًا عدم وجود تفصيل TTL متاح في الاستجابة الحالية، ولا يمكن تفسيره على أنه0.usage.cost: قد تتضمن الاستجابات غير المتدفقة كائن استهلاك الرصيد المسجل من Ace Data Cloud، حيث يمثلamountالاستهلاك الفعلي لهذه المرة، ويمثلcurrencyوحدة القياس، ويمثلlist_amountالمبلغ قبل الخصم (إن وجد). سعر قراءة التخزين المؤقت الرسمي الأساسي لـ Fable 5.1 هو $0.25/مليون Token، وأسعار الكتابة إلى التخزين المؤقت الأساسية لمدة 5 دقائق وساعة واحدة هي $12.50 و$20/مليون Token على التوالي؛ ويُحتسب السعر الفعلي للمنصة وفق خصم الباقة.
نص التوجيه النظامي
يدعم Claude Messages API تعيين نص التوجيه النظامي عبر حقلsystem، ويُستخدم لتعريف سلوك النموذج ودوره وسياقه.
مثال Python
system، يمكن التحكم بدقة في دور Claude وسلوكه.
الاستجابة المتدفقة
تدعم هذه الواجهة أيضًا الاستجابة المتدفقة؛ ما عليك سوى تعيين المعلمةstream إلى true للحصول على تأثير الإرجاع التدريجي، وهو مناسب جدًا لتنفيذ العرض حرفًا بحرف في صفحات الويب.
مثال Python
event: وdata:. وتشمل أنواع الأحداث المتدفقة:
message_start: بداية الرسالة، وتتضمن المعلومات الأساسية للرسالة واسم النموذج.content_block_start: بداية كتلة المحتوى.content_block_delta: تحديث تزايدي لكتلة المحتوى، ويتضمن جزء النص المُنشأ حديثًا.content_block_stop: نهاية كتلة المحتوى.message_delta: تحديث تزايدي على مستوى الرسالة، ويتضمنstop_reasonومعلوماتusageالنهائية. يجب قراءة القيمة الموثوقة لـoutput_tokens_details.thinking_tokensمن آخرmessage_delta.usageفقط، ولا تجمعها عبر الأحداث.message_stop: نهاية الرسالة.
content_block_delta في الاستجابة المتدفقة يتضمن محتوى النص المُنشأ تدريجيًا، ويمكن الحصول على الرد الكامل عبر دمج جميع text_delta.
مثال JavaScript
محادثات متعددة الجولات
إذا كنت ترغب في ربط وظيفة المحادثات متعددة الجولات، فيجب ترتيب رسائل دورَيuser وassistant بالتناوب في مصفوفة messages، وتمرير سجل المحادثة السابق بالكامل معها.
مثال Python
messages، يستطيع Claude تقديم إجابات دقيقة بالاستناد إلى السياق.
نموذج التفكير العميق
إن thinking وthinking summary لدى Claude مفهومان مختلفان: يمكن للنموذج إجراء استدلال داخلي، لكن واجهة API لن تُرجع سلسلة التفكير الأصلية. عند الحاجة إلى عرض عملية الاستدلال، فإن ما تُرجعه API هو ملخص مُعالَج. يوصى حاليًا باستخدام adaptive thinking، والتحكم في إجمالي جهد الاستدلال عبرoutput_config.effort:
display: "summarized"يعيد ملخصًا مقروءًا للتفكير؛ وهو ليس سلسلة التفكير الأصلية.display: "omitted"يعيدthinking: ""، لكنه يحتفظ بـopaque signatureلدعم المحادثات اللاحقة.display: "updates"هو وضع Anthropic التجريبي (beta)، ويتطلب إرفاقanthropic-beta: thinking-display-updates-2026-08-18. التعريف الرسمي هو إخفاء نص الاستدلال وعرض تحديثات تقدم قصيرة بين استدعاءات الأدوات. تقوم المنصة بتمرير هذا المعامل ورأس beta كما هو، ولن تجبره على التحويل إلىsummarized؛ ويعتمد المحتوى الناتج الفعلي على دعم النموذج المحدد.- يتم تمرير
thinkingوoutput_configوeffort ومعاملات أخذ العينات والحقول الإضافية الجديدة كما هي. لا تحافظ المنصة على تعداد قيم أو قيود تركيبية مشفرة مسبقًا حسب النموذج، ولا تقوم تلقائيًا بتعديل أوضاع thinking؛ وما إذا كانت هذه المعاملات مقبولة يتم تحديده بواسطة النموذج المحدد، وسيتم إرجاع أخطاء المعاملات التي يعيدها النموذج إلى العميل. - القيمة الافتراضية لـ display في Fable 5.1 وFable 5 وOpus 5 وSonnet 5 وOpus 4.8 وOpus 4.7 هي
omitted؛ أما Opus 4.6 وSonnet 4.6 والنماذج الأقدم التي تدعم thinking فتستخدم افتراضيًاsummarized. - يؤثر Display فقط على المحتوى المعاد وزمن الاستجابة في البث، ولا يعطل الاستدلال ولا يقلل من تكلفة رموز thinking.
- ما إذا كان thinking مفعّلًا افتراضيًا وقيمة display الافتراضية هما مسألتان مستقلتان. يقوم Opus 5 وSonnet 5 بتمكين adaptive thinking افتراضيًا؛ بالنسبة إلى Opus 5، فإن حذف
thinkingيعادل adaptive، وحذفoutput_config.effortيعادلhigh. أما Opus 4.8 و4.7 و4.6 فتحتاج إلى تفعيل صريح. - يشترك التفكير والنص النهائي معًا في ميزانية إخراج
max_tokens. عندما تكون الميزانية صغيرة جدًا، قد يستهلك thinking معظم الحصة، مما يجعل النص الأساسي فارغًا أو يتم اقتطاعه؛ يرجى زيادةmax_tokens، أو استخدامlow/mediumeffort للتحكم في استثمار الاستدلال. - بالنسبة للنماذج التي تسمح بإيقاف thinking، يمكن تمرير
thinking: {"type":"disabled"}. تعتمد الأوضاع الجديدة مثلbetween_toolsوتركيبات effort على النموذج المحدد؛ ولا تقوم المنصة بالرفض المسبق بناءً على قواعد النماذج القديمة. - يمكن تمرير ميزانية التفكير الثابتة عبر
budget_tokens؛ وعادةً ما تستخدم النماذج الجديدةthinking.type=adaptiveوoutput_config.effort. يعتمد دعم الميزانية الثابتة أو إيقاف التفكير على القدرات الحالية للنموذج المحدد. - في المحادثات متعددة الجولات واستدعاءات الأدوات، يجب إعادة تمرير كتلة thinking الكاملة التي يعيدها assistant بالإضافة إلى signature كما هي؛ لا تقم بتعديل أو إنشاء signature بشكل ذاتي.
- تمرير المعاملات كما هي لا يعني أن كل نموذج يدعم جميع الوظائف. لا تزال الاستدعاءات عبر البروتوكولات المختلفة تحتاج إلى تحويل، كما أن نطاق دعم
redacted_thinkingوالأخطاء يتم تحديده بواسطة خدمة النموذج التي تعالج الطلب فعليًا.
summarized قيمة thinking_delta؛ بينما لا ينتج omitted قيمة thinking_delta، ويحتفظ فقط بدورة حياة كتلة thinking وsignature_delta.
النماذج المرئية
يدعم Claude الإدخالات متعددة الوسائط، ويمكنه معالجة النصوص والصور في الوقت نفسه. في Messages API، يمكن استخدام القدرات المرئية من خلال ضبطcontent على تنسيق مصفوفة وتمرير كتل محتوى الصور.
استخدام صور بترميز Base64
استخدام صور عبر URL
مثال cURL
image/jpeg، image/png، image/gif، image/webp.
المستندات وPDF
يستخدم PDF كتلة محتوىdocument، ويدعم مصدرين مستقرين هما Base64 وURL. يجب أن يستخدم مصدر Base64 نوع application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. كما يدعم document مصادر text/plain وcontent المكوّنة من كتل text/image؛ وتشمل الحقول الاختيارية title وcontext وcitations. مصدر file_id الخاص بـ Files API هو وظيفة beta مستقلة، ولا يدخل ضمن العقد المستقر لهذه الواجهة.
التخزين المؤقت للتلميحات
يقومcache_control في المستوى الأعلى تلقائيًا بوضع نقطة التخزين المؤقت عند آخر كتلة قابلة للتخزين المؤقت:
cache_control نفسه على كتل محتوى text وimage وdocument وtool_use وtool_result أو على تعريفات الأدوات. يدعم ttl القيمتين 5m (الافتراضية) و1h؛ يرجى تحديد كتابة التخزين المؤقت وإصابته عبر usage.cache_creation_input_tokens وusage.cache_read_input_tokens.
عندما توفّر الاستجابة usage.cache_creation، فإن ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. إذا كانت cache_creation تساوي null أو تم حذفها، فهذا يعني أن هناك فقط إجمالي كتابة التخزين المؤقت، ولا يوجد تقسيم موثوق لـ TTL؛ في هذه الحالة لا تتعامل مع أي bucket على أنه 0 معروف، وتظل الفوترة والإجمالي معتمدين على حقل aggregate.
مثال على النتيجة المُعادة:
استدعاء الأدوات (Tool Use)
تدعم Claude Messages API أصليًا ميزة استدعاء الأدوات، مما يسمح للنموذج باستدعاء أدوات/دوال تقومون بتعريفها مسبقًا عند الحاجة.مثال Python
content في النتيجة المُعادة على كتلة محتوى من نوع tool_use:
stop_reason هو tool_use، مما يشير إلى أن النموذج يحتاج إلى استدعاء الأداة. بعد استلام هذه النتيجة، تحتاجون إلى تنفيذ دالة الأداة وإعادة النتيجة إلى النموذج بصيغة tool_result:
الفرق عن Chat Completion API
يوفّر Ace Data Cloud في الوقت نفسه تنسيقي Claude API، والفروقات الرئيسية بينهما كما يلي: يمثلusage.input_tokens في Messages API الإدخال غير المخزن مؤقتًا فقط، ويُعد cache_read_input_tokens وcache_creation_input_tokens فئات فوترة مستقلة؛ وتُحسب الثلاثة بشكل منفصل وفقًا للأسعار المقابلة.
إذا كان نظامكم قد تكامل بالفعل مع API بتنسيق OpenAI، فيمكنكم استخدام Chat Completion API للتبديل بسلاسة. إذا كنتم تحتاجون إلى استخدام جميع القدرات الأصلية لـ Claude، فيوصى باستخدام Messages API.
معالجة الأخطاء
تستخدم استجابات الأخطاء للواجهة العامة envelope منصة Ace Data Cloud:error.code هو رمز خطأ ثابت، وerror.message هو الوصف، ويُستخدم trace_id لتتبع الطلب. تتضمن حالات HTTP الشائعة ما يلي:
400: معلمات الطلب أو محتوى البروتوكول غير صالح.401: رمز التفويض غير صالح أو مفقود أو منتهي الصلاحية.403: الوصول محظور أو الرصيد غير كافٍ أو الحصة مقيدة.404: API أو النموذج غير موجود.413: جسم الطلب كبير جدًا.429: طلبات كثيرة جدًا.500/503/504: خطأ في الخدمة، أو غير متاحة مؤقتًا، أو انتهت مهلة المعالجة.
مثال على استجابة خطأ
error.code.

