وثائق API Hop
واجهة Claude Messages
واجهة API أصلية متوافقة مع Claude Messages. تستخدم نقطة النهاية هذه تنسيقات طلبات Anthropic Messages واستجاباتها، بما فيها استدعاءات الأدوات وأحداث Anthropic SSE.
https://api.apihop.ai/anthropic/v1/messagesواجهة API أصلية متوافقة مع Claude Messages. تستخدم نقطة النهاية هذه تنسيقات طلبات Anthropic Messages واستجاباتها، بما فيها استدعاءات الأدوات وأحداث Anthropic SSE.
يدعم المزود Claude Sonnet 4.6 (claude-sonnet-4-6)، لكنه غير منشور حاليا على API Hop. وليس خيار تكامل افتراضيا نشطا. قبل استدعاء أي نموذج، أكد الوصول من خلال استجابة GET https://api.apihop.ai/v1/models الخاصة بك.
POST https://api.apihop.ai/anthropic/v1/messagesالمصادقة
تتطلب جميع الطلبات مفتاح API من API Hop. تستخدم حزم Anthropic SDK وClaude Code والعملاء المتوافقون عادةً x-api-key؛ ويمكن لعملاء HTTP العاديين استخدام المصادقة برمز Bearer أيضًا.
x-api-key: YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01Authorization: Bearer YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01نص الطلب
modelstringمطلوبالقيمة الافتراضية: claude-sonnet-5-5معرّفات نماذج Claude المدعومة.
claude-fable-5claude-fable-5-1claude-opus-4-6claude-opus-4-7claude-opus-4-8claude-opus-5claude-opus-5-5claude-sonnet-5claude-sonnet-5-5
استخدم GET https://api.apihop.ai/v1/models لمعرفة النماذج المتاحة حاليًا لمفتاح API الخاص بك.
max_tokensintegerمطلوبالحد الأقصى لرموز الإخراج، كعدد صحيح موجب ضمن النطاق الآمن. تشمل هذه الميزانية رموز التفكير والنص النهائي معًا. تؤدي القيم المفقودة أو الصفرية أو السالبة أو الكسرية أو النصية أو الأعداد الصحيحة خارج النطاق الآمن إلى HTTP 400 مع invalid_request_error قبل التوليد أو الفوترة. وقد يفرض النموذج حدًا أقصى أقل.
في النماذج التي تنتج محتوى تفكير، قد تسفر ميزانية صغيرة مثل 128 عن كتل تفكير فقط قبل الانتهاء بحالة stop_reason: "max_tokens"، دون إخراج نصي. حدد ميزانية صريحة تناسب المهمة والنموذج المختار، مع إتاحة مساحة للتفكير والإجابة النهائية. القيم في الأمثلة مخصصات قابلة للتعديل، وليست القيم الافتراضية لدى المزوّد أو حدود النموذج؛ وقد تزيد المخصصات الأكبر استخدام الإخراج وتكلفته.
messagesobject[]مطلوبرسائل المحادثة. تحتوي كل رسالة على role وcontent.
يدعم role القيمتين user وassistant. ويمكن أن يكون content سلسلة نصية أو مصفوفة من كتل المحتوى.
systemstring | object[]تعليمة النظام. تستخدم Anthropic Messages حقل system على المستوى الأعلى بدلًا من دور system داخل messages.
streambooleanالقيمة الافتراضية: falseما إذا كانت الاستجابة تعيد أحداث Anthropic SSE.
temperaturenumberدرجة حرارة أخذ العينات. تختلف القيم المقبولة وتأثيراتها باختلاف النموذج المختار.
top_pnumberمعامل أخذ العينات النووية. قبول المعامل لا يضمن تغييره لسلوك التوليد.
top_kintegerمعامل أخذ العينات Top-k. يعتمد دعمه على النموذج المختار.
stop_sequencesstring[]تسلسلات الإيقاف.
تتجنب الطلبات ذات تسلسلات الإيقاف غير الفارغة خدمات النماذج المعروف أنها لا تدعمها؛ وإذا لم تتوفر خدمة متوافقة، يعيد الطلب 400 قبل التوليد أو الفوترة.
toolsobject[]تعريفات أدوات Anthropic. تتضمن أدوات الدوال عادةً name وdescription وinput_schema.
tool_choiceobjectسياسة اختيار الأدوات، مثل { "type": "auto" } أو { "type": "tool", "name": "..." }.
thinkingobjectإعداد التفكير الأصلي في Anthropic، وفقًا لدعم النموذج والمزوّد المختارين. يستخدم Claude 4.5 الإعداد { "type": "enabled", "budget_tokens": 1024 }؛ ويدعم Claude Sonnet/Opus 4.6 التفكير التكيفي أيضًا. لا تطبق ميزانية يدوية على كل إصدار من النماذج. عند متابعة استدعاءات الأدوات، أعد محتوى المساعد كاملًا بترتيبه دون تغيير، بما فيه thinking وsignature وredacted_thinking وtool_use. حافظ على اتساق إعداد التفكير وترويسات anthropic-beta المطلوبة طوال دورة الأداة. في SSE، صِل أجزاء signature_delta.signature الخاصة بكتلة المحتوى نفسها؛ فملخص التفكير الفارغ لا يعني جواز حذف توقيعه. رفض الوصول لحساب المزوّد إخفاق لدى المزوّد، وليس دليلًا على توقيع غير صالح. تعيد حالات رفض الوصول المعروفة لحسابات Bedrock الرمز HTTP 502 مع api_error؛ بينما تحتفظ أخطاء التحقق العادية من طلب العميل بالرمز HTTP 400. ويظل القبول مشروطًا بوجود حساب مفعّل لدى المزوّد.
metadataobjectالبيانات الوصفية للطلب.
التخزين المؤقت للتعليمات
أضف cache_control: { "type": "ephemeral" } إلى كتلة محتوى system أو رسالة. قد يشمل استخدام التخزين المؤقت cache_creation_input_tokens وcache_read_input_tokens وفئات الإنشاء المدعومة لمدة 5 دقائق أو 1 ساعة. وتتطلب مدة صلاحية قدرها 1 ساعة ترويسة anthropic-beta المقابلة أيضًا.
أمثلة الطلبات
دون تدفق
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, introduce yourself in one sentence."
}
],
"stream": false
}التدفق
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Reply exactly OK."
}
],
"stream": true
}الاستجابة
تحتفظ الاستجابات غير المتدفقة بتنسيق Anthropic Message.
idstringمعرّف الاستجابة، مثل msg_....
typestringنوع الكائن، ويكون عادةً message.
rolestringعادةً assistant.
modelstringنموذج Claude المستخدم فعليًا.
contentobject[]كتل محتوى الإخراج الأصلية، ومنها text وtool_use وthinking عند استخدامها.
stop_reasonstringسبب الإيقاف، مثل end_turn أو max_tokens أو stop_sequence أو tool_use.
usageobjectاستخدام الرموز، بما فيه input_tokens وoutput_tokens. تُدرج حقول رموز التخزين المؤقت عند وجودها.
مثال على النجاح
{
"id": "msg_01...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{
"type": "text",
"text": "Hello, I am Claude and can help with writing, coding, and analysis tasks."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 18,
"output_tokens": 24
}
}الاستجابة المتدفقة
عند ضبط stream: true، تعيد نقطة النهاية أحداث Anthropic SSE. تشمل الأحداث الشائعة:
message_startcontent_block_startcontent_block_deltacontent_block_stoppingmessage_deltamessage_stop
استجابة الخطأ
راجع رموز الأخطاء واستكشاف المشكلات للاطلاع على مرجع الرموز الكامل والفروق بين البروتوكولات وخطوات التشخيص.
تستخدم استجابات الأخطاء تنسيق Anthropic:
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid credentials or API key has expired."
}
}