العودة إلى المدونة

البدءدليل

أول طلب إلى CheapTokens في Hoppscotch: المفتاح في بيئة

أرسل أول إكمال دردشة لك من عميل Hoppscotch على الويب: عنوان URL الأساسي والمفتاح في بيئة، وجسم JSON، وأين تقرأ الرد والاستخدام.

بواسطة CheapTokens Teamنُشر في 4 دقيقة قراءة

طلب Hoppscotch: POST إلى عنوان URL الأساسي من بيئة بمتغير مفتاح Bearer
في هذه الصفحة
  1. ضع عنوان URL الأساسي والمفتاح في بيئة
  2. أنشئ الطلب
  3. اضغط Send واقرأ الرد
  4. كم يكلف طلب اختبار
  5. إذا لم يعمل
  6. إلى أين تذهب بعد ذلك

يمكنك إرسال أول طلب إلى CheapTokens في Hoppscotch دون تثبيت أي شيء أو كتابة أي كود: افتح تطبيق الويب، وضع عنوان URL الأساسي ومفتاحك في بيئة (environment)، وأنشئ طلب POST /chat/completions واحدًا، ثم اضغط Send. تظهر الإجابة وعدد الرموز (tokens) في لوحة الاستجابة.

الشيء الوحيد الذي يستحق العناية هو المفتاح. إذا لصقته مباشرة في الطلب، فسيظهر في كل لقطة شاشة وكل رابط تشاركه. أما متغير البيئة فيبقيه في مكان واحد.

يتبع هذا الدليل وثائق Hoppscotch الرسمية (تم التحقق منها في 9 نوفمبر 2026؛ لا تحمل الصفحات رقم إصدار أو تاريخًا). أما جانب API فهو عنوان URL الأساسي لـ CheapTokens https://api.cheaptokens.dev/v1، الذي يتحدث تنسيق OpenAI Chat Completions. المزيد عن كليهما في وثائق CheapTokens.

ضع عنوان URL الأساسي والمفتاح في بيئة#

لدى Hoppscotch أيقونة Environments في الشريط الجانبي. اضغط عليها، وأنشئ بيئة جديدة، وسمِّها cheaptokens، وأضف متغيرين:

المتغير النوع القيمة
baseURL Regular https://api.cheaptokens.dev/v1
api_key Secret مفتاح CheapTokens الخاص بك

لماذا نوعان؟ وفقًا لوثائق Hoppscotch، يكون المتغير Regular مرئيًا لكل من يمكنه رؤية البيئة، بينما يكون المتغير Secret مُقنَّعًا، ولا تتم مزامنته أو مشاركته أبدًا، ويُستبعد من عمليات التصدير والنسخ. المفتاح ينتمي إلى النوع الثاني: أدخله كقيمة للمتغير. ثم اختر بيئة cheaptokens حتى يتمكن الطلب من رؤيتها.

في الطلبات، يُكتب المتغير على هيئة <<name>>: <<baseURL>> و<<api_key>>. هذه هي الحيلة كلها.

حقول الطلب التي يجب ملؤها في Hoppscotch: URL والترويسة وجسم JSON (رسم تخطيطي، وليس لقطة شاشة)
الطلب كما هو مُعد في هذا الدليل: الطريقة، وURL من البيئة، والترويسة، وجسم JSON.

أنشئ الطلب#

REST هو الوضع النشط عند فتح Hoppscotch. هناك ثلاثة أشياء يجب ضبطها.

الطريقة وURL. اختر POST من القائمة المنسدلة وأدخل:

text
<<baseURL>>/chat/completions

المفتاح. تحتوي علامة التبويب Authorization في Hoppscotch على نوع Bearer ويضيف الرمز إلى الطلب على هيئة Bearer <token>. لا تذكر الوثائق ما إذا كان <<api_key>> يعمل داخل حقل الرمز هذا، لذا استخدم الطريق المضمون: افتح علامة التبويب Headers وأضف ترويسة واحدة.

text
Authorization: Bearer <<api_key>>

لا تستبدل المتغير يدويًا في أي مكان، ولا يظهر المفتاح الحقيقي أبدًا في الطلب الذي تراه على الشاشة.

الجسم. افتح علامة التبويب Body، واختر application/json من القائمة المنسدلة Content Type (تدرجه الوثائق كنوع للمحتوى بصيغة JSON)، والصق:

json
{
  "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
  "messages": [
    {"role": "user", "content": "Explain what a token is in one sentence."}
  ],
  "max_tokens": 200
}

استخدم المعرّف الكامل deepseek-ai/DeepSeek-V4-Flash-0731. لن يقبل API الاسم المختصر من قائمة الأسعار. يمتلك DeepSeek-V4-Flash سياقًا بحجم 380K وما يصل إلى 32,768 رمز إخراج لكل إجابة، لذا فإن 200 حد صغير متعمد للاختبار. تريد نموذجًا مختلفًا؟ غيّر هذا الحقل الواحد إلى zai-org/GLM-5.3-Flash (سياق 390K، وما يصل إلى 8,192 رمز إخراج) وأرسل مرة أخرى.

قائمة التحقق

قبل الضغط على Send

اضغط Send واقرأ الرد#

اضغط Send. يعرض قسم الاستجابة رمز الحالة والجسم والترويسات وملفات تعريف الارتباط والتوقيت. تريد 200 وجسم JSON على هيئة تنسيق إكمال الدردشة من OpenAI. هناك مكانان مهمان:

  • choices[0].message.content هو إجابة النموذج.
  • usage يحتوي على prompt_tokens (ما أرسلته) وcompletion_tokens (ما كتبه النموذج). هذا ما تُحاسَب عليه، لذا هنا تتحقق من أن الطلب كلّف ما توقعته.

انظر أيضًا إلى choices[0].finish_reason. stop يعني أن النموذج انتهى من تلقاء نفسه. length يعني أن max_tokens الخاص بك قطع الإجابة. إذا رأيت ذلك في سؤال من جملة واحدة، فالحد منخفض جدًا. هناك شرح أطول في هل قُطعت إجابة الذكاء الاصطناعي؟ إصلاح finish_reason "length".

أين تنظر في الاستجابة
الحقول التي يجب قراءتها في جسم الاستجابة. القيم عناصر نائبة، وليست ردًا مسجلًا.

احفظ الطلب في مجموعة (collection) وسيصبح قابلًا لإعادة الاستخدام: غيّر الرسالة، واضغط Send مرة أخرى.

كم يكلف طلب اختبار#

خذ سؤالًا قصيرًا وإجابة قصيرة: لنقل 30 رمزًا إدخالًا و150 إخراجًا. يكلف طلب واحد كهذا $0.000015، ويعد الجدول المباشر أدناه 100 منها مع الإدخال والإخراج معًا، إلى جانب OpenRouter.

النموذج لكل طلب 100 طلبات OpenRouter، 100 طلبات
GLM-5.3-Flash $0.0000066 $0.00066 $0.0013
DeepSeek-V4-Flash $0.000015 $0.0015 $0.0023
MiniMax-M2.7 $0.000024 $0.0024 $0.0288

30 رمز إدخال و150 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.

إجمالًا، مع احتساب الإدخال والإخراج معًا، يكون ذلك أرخص من OpenRouter للنموذج نفسه. ستختلف أرقامك، لذا اسحب أشرطة التمرير على حالتك الخاصة:

حاسبة التكلفة

مئة طلب اختبار مثل الطلب أعلاه

رموز الإدخال لكل طلب: 30 · رموز الإخراج لكل طلب: 150 · الطلبات يوميًا: 100

النموذجيوميًاشهريًا
GLM-5.3-Flash$0.00066$0.0198
DeepSeek-V4-Flash$0.0015$0.0464
MiniMax-M2.7$0.0024$0.072

الأسعار ثابتة لكل نموذج، دون تسعير في ساعات الذروة، ورصيد واحد يغطي جميع النماذج. الأسعار الحالية على صفحة التسعير.

إذا لم يعمل#

معظم إخفاقات الطلب الأول في عميل REST تأتي من ثلاثة حقول. طابق العَرَض مع السبب:

طابق الأزواج

طابق كل عَرَض مع سببه

  • 401 Unauthorizedالمفتاح مفقود أو خاطئ، أو ترويسة Authorization لا تُرسَل
  • 404 Not Foundمسار URL أو معرّف النموذج خاطئ
  • finish_reason هو "length"حد max_tokens قطع الإجابة

بالنسبة للأولين هناك شرح كامل في خطأ API 401 أو 404: مفتاح أو عنوان URL أساسي أو معرّف نموذج خاطئ. إذا لم تكن متأكدًا من المعرّف الذي تستخدمه، اعرض النماذج باستخدام GET /v1/models.

إلى أين تذهب بعد ذلك#

الطلب نفسه يعمل في عملاء آخرين: راجع نسخة Postman أو ملف .http في VS Code. إذا كنت تفضل إبقاء المفاتيح بعيدًا عن الملفات والأصداف (shells) تمامًا، فإن تخزين مفتاح API بأمان يغطي الأساسيات. تُوصف معرّفات النماذج ونقطة النهاية المتوافقة مع OpenAI في الوثائق.