أرسل مئات طلبات HTTP في نداء واحد
أداة إرسال دفعة طلبات HTTP تأخذ قائمة من عناوين وروابط API وترسلها جميعًا نيابة عنك، ثم تعيد النتائج مجمّعة في استجابة واحدة منظمة. تناسب من يحتاج استدعاء نقاط API متعددة أو فحص عشرات الروابط دون بناء نظام معالجة متوازية خاص به، وتُستدعى عبر API فقط.
من قائمة روابط إلى نتائج مجمّعة
تُرسل قائمة الطلبات — كل طلب بعنوانه وطريقته (GET أو POST) وبياناته إن وُجدت — في استدعاء واحد للأداة، فتتولى هي إرسال كل طلب على حدة وتجميع النتائج في استجابة منظمة واحدة: رمز الحالة والمحتوى لكل طلب على حدة. يوفر هذا كتابة كود لحلقة تكرار وإدارة أخطاء الاتصال والمهلات لكل طلب يدويًا، خصوصًا عند التعامل مع عشرات الروابط في وقت واحد.
التعامل مع الطلبات التي تفشل
ليست كل الطلبات ضمن الدفعة تنجح دائمًا — رابط معطّل، خادم بطيء، أو استجابة خطأ من الطرف الآخر — وتوثّق النتيجة المجمّعة حالة كل طلب على حدة بدل إيقاف الدفعة كلها عند أول فشل. هذا يعني أن فشل رابط واحد من بين خمسين لا يمنعك من الحصول على نتائج التسعة والأربعين الأخرى، ويمكنك بعدها إعادة محاولة الروابط الفاشلة فقط بدل الدفعة كلها من جديد.
السعر الثابت للدفعة
$0.002 لكل عملية إرسال دفعة، بصرف النظر عن عدد الطلبات داخلها — دفعة من خمسة طلبات ودفعة من مئة طلب بالسعر نفسه. هذا يجعلها اقتصادية خصوصًا عند تجميع عدد كبير من الاستدعاءات في دفعة واحدة بدل عدة طلبات منفصلة. الدفع عبر PayPal، والتواصل المباشر عبر واتساب أو البريد متاح لمن يحتاج توضيحًا إضافيًا حول حدود الحجم. دون اشتراك شهري ودون حد أدنى لعدد الدفعات المرسلة يوميًا، فيمكن تجربة الأداة بدفعة صغيرة أولًا قبل الاعتماد عليها في مسار إنتاج حقيقي.
استخدام عملي عبر API
تُستدعى الأداة عبر الـAPI فقط، فتناسب مسارات آلية جاهزة أكثر من الاستخدام اليدوي لمرة واحدة: فحص حالة عشرات مواقع فروع لشركة واحدة كل صباح، تحديث بيانات منتجات في عدة أنظمة مرتبطة دفعة واحدة، أو استدعاء نقاط API لخدمات متعددة ضمن خطوة واحدة من خط أتمتة أوسع بدل تكرار نفس منطق الإرسال في كل مكان يحتاجه. هذا التصميم يناسب فرقًا صغيرة لا تريد بناء نظام معالجة متوازية معقّد فقط لمهمة دورية بسيطة كفحص روابط أو تحديث بيانات.
حالات الاستخدام
فحص حالة فروع متعددة صباحًا
شركة الواحة للتجارة المحدودة تفحص حالة روابط أنظمة فروعها العشرين كل صباح في استدعاء واحد بدل عشرين طلبًا منفصلًا.
تحديث بيانات في عدة أنظمة
فريق تقني يحدّث بيانات منتج واحد في خمسة أنظمة مرتبطة عبر دفعة طلبات واحدة، فتصل التحديثات في وقت متقارب بدل تسلسل بطيء.
استدعاء عدة نقاط API لخط أتمتة
مطوّر يبني خط أتمتة يحتاج استدعاء ثلاث خدمات خارجية مختلفة لكل عملية، فيجمعها في دفعة واحدة بدل ثلاثة استدعاءات منفصلة متتالية.
الأسئلة الشائعة
هل يمكن استخدام الأداة من الموقع مباشرة؟
لا، تُستدعى عبر API فقط؛ هي أداة موجهة لمسارات آلية أكثر من الاستخدام اليدوي المباشر.
كم سعر إرسال دفعة كبيرة من الطلبات؟
$0.002 لكل عملية إرسال دفعة، ثابت بصرف النظر عن عدد الطلبات داخلها.
ماذا يحدث إذا فشل أحد الطلبات داخل الدفعة؟
تظهر حالة كل طلب على حدة في النتيجة؛ فشل طلب واحد لا يوقف باقي الدفعة ولا يمنعك من استلام نتائجها.
ما أقصى عدد طلبات في الدفعة الواحدة؟
هناك حد أقصى لعدد الطلبات داخل الدفعة الواحدة يُوضَّح في توثيق الـAPI، لضمان استجابة سريعة لكل دفعة.
هل تُحفظ بيانات الطلبات المرسلة؟
لا، تُستخدم لإرسال الطلبات وتجميع النتائج فقط ولا تُحفظ بعد اكتمال الدفعة.
هل تدعم الأداة طرق HTTP المختلفة؟
نعم، يمكن تحديد الطريقة (GET أو POST أو غيرها) لكل طلب داخل الدفعة على حدة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/http-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/http-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/http-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/http-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/http-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.http_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |