تحقق الشرط؟ اسلك مسارًا
flow.conditional يترك للأتمتة قرار المسار: بحسب نتيجة خطوة سابقة، يسلك التدفق طريقًا أو آخر. إن كان المستند فاتورة ضريبية، استخرج بياناتها؛ وإن لم يكن، أرسله للمراجعة. قاعدة «إن كان كذا فافعل كذا» دون شيفرة وصل تكتبها بنفسك. القدرة في مرحلة تجريبية حاليًا.
القرار الذي كان يعيش في الشيفرة
دون تفرّع، كل تدفق خط مستقيم: افعل أ، ثم ب، ثم ج، دائمًا بالطريقة نفسها. لكن العمل الحقيقي مليء بمفترقات: إن تجاوز المبلغ حدًا معينًا، اطلب موافقة؛ إن وصل الملف فارغًا، نبّه أحدًا. عادة يعيش هذا القرار في قطعة شيفرة تصيّنها بنفسك بين أداة وأخرى. يحمل التفرع الشرطي هذا المفترق إلى داخل الأتمتة نفسها: تصبح القاعدة معلَنة، لا مخبأة داخل نص برمجي.
كيف يُعلَن التفرّع
تحدّد الشرط على نتيجة خطوة سابقة — يساوي، أكبر من، يحتوي، فارغ — وتحدد ما يُشغَّل عند كل احتمال. يقيّم التدفق الشرط ويتبع الفرع المطابق فقط؛ الفرع الآخر لا يعمل إطلاقًا ولا يترك أي أثر في النتيجة النهائية. يمكن تداخل القرارات وتغطية أكثر من مسارين، لكن التصميم الجيد كما هو دائمًا: تفرّعات قليلة وواضحة أفضل من شبكة معقدة يصعب فهمها لاحقًا حتى على من كتبها بنفسه.
مرحلة تجريبية، بوضوح تام
flow.conditional في مرحلة تجريبية: أشكال الشروط الأكثر شيوعًا تعمل الآن ويمكن بناء تفرّعات اليوم، لكننا لا نزال نوسّع أنواع القواعد المدعومة ونضبط السلوك في الحالات الحدّية. عمليًا، ممتازة للتجربة وللتدفقات الداخلية؛ لما لا يحتمل الخطأ، اختبرها جيدًا وتابعها. تُحدَّث هذه الصفحة كلما نضجت المرحلة التجريبية، والسعر المعلن هو ما تدفعه فعلًا، دون تغيير مفاجئ في القواعد بعد أن يعتمد عليها تدفقك.
تكلفة التفرّع
الحساب مطابق للتدفقات الأخرى: تدفع مجموع الخطوات التي عملت فعليًا زائد 20% مقابل التنسيق. بما أن فرعًا واحدًا فقط يُنفَّذ في كل تفرّع، لا تدفع مقابل المسار الذي لم يُسلَك — الخطوة التي لم تعمل لا تدخل الحساب. الدفع مقابل الاستخدام، والسعر معلن، دون رسم ثابت على الطلب ودون اشتراك، مهما زاد عدد التفرّعات المصمَّمة داخل التدفق الواحد من البداية.
حالات الاستخدام
مسار مختلف لكل نوع ملف
تستلم مؤسسة النخيل للمقاولات ملفات متنوعة. يفحص التدفق: إن كان فاتورة ضريبية، يستخرج بياناتها ويؤرشفها؛ إن كان مستندًا آخر، يرسله لطابور مراجعة محمد الحربي. مسار لكل نوع، دون فرز يدوي.
موافقة حسب قيمة الطلب
يوافق متجر على الطلبات حسب قيمتها: إن تجاوزت $1,000، يُطلق التدفق طلب موافقة؛ إن كانت أقل، يمضي مباشرة إلى الشحن. القاعدة التي كانت في ذهن المدير أصبحت جزءًا من الأتمتة.
حقل فارغ يعود للتصحيح
يعالج عبدالله المنصوري نماذج مُدخَلة: إن جاء حقل الرقم الوطني فارغًا، يعيد التدفق النموذج للتصحيح؛ إن كان مكتملًا، يمضي للتسجيل. يُوقَف الخطأ عند المدخل، لا بعد ثلاث خطوات.
إيصال واضح أو إعادة إرسال
تعالج شركة الخليج الرقمية إيصالات التسليم: إن كانت الصورة واضحة، يستخرج التدفق بياناتها؛ إن كانت ضبابية، يوجّهها لإعادة الإرسال. لا تنظر فاطمة الزهراني إلا في الحالات التي تحتاج فعلًا شخصًا حقيقيًا.
الأسئلة الشائعة
ما أنواع الشروط التي يمكن استخدامها؟
المقارنات الشائعة — يساوي، أكبر أو أصغر من، يحتوي، فارغ — على نتيجة خطوة سابقة. نوسّع الأنواع المدعومة تدريجيًا خلال المرحلة التجريبية، وتعكس هذه الصفحة ما هو متاح.
هل أدفع مقابل المسار الذي لم يُسلَك؟
لا. يعمل فقط الفرع المطابق للشرط، وتدفع الخطوات التي نُفِّذت فعلًا زائد 20% تنسيق. المسار غير المسلوك لا يدخل الحساب.
هل يمكن أن يكون هناك أكثر من مسارين؟
نعم، يمكن تداخل القرارات وتغطية عدة حالات. لكن اليد الخفيفة أفضل: تفرّعات قليلة وواضحة تظل أسهل فهمًا لاحقًا من شبكة معقدة.
هل جاهزة للاستخدام الجاد؟
في مرحلة تجريبية: الشروط الأكثر شيوعًا تعمل الآن؛ للتدفقات التي لا تحتمل الخطأ، اختبرها جيدًا وتابعها. ممتازة للتجربة وللأتمتة الداخلية.
كم تكلفة تدفق يحمل قرارًا؟
مجموع الخطوات التي عملت زائد 20% تنسيق، دون رسم ثابت على الطلب. بما أن فرعًا واحدًا فقط يُنفَّذ، يتبع الحساب المسار المسلوك فعلًا.
هل تُحفَظ البيانات التي يُقيَّم عليها الشرط؟
تُقرأ لتحديد المسار فقط وهذا غرضها الوحيد. لا يُحتفَظ بشيء من التفرّع لدينا؛ ما يحتاج بقاءً يعيش في نظامك.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/flow/conditional \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/flow/conditional", {
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/flow/conditional",
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/flow/conditional", 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/flow/conditional", 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": "flow.conditional",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |