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