أسماء منتجات مكررة من كل مورّد؟
أداة توحيد بيانات المنتجات تقرأ اسم المنتج ووصفه كما وردا من مورّد معين، وتُعيد صياغتهما بصيغة موحّدة تتبع أسلوب تسمية ثابت يحدده المتجر، فيختفي التفاوت بين «حذاء رياضي أبيض مقاس 42» و«Sneaker White Size 42» مثلًا. تناسب متجرًا يستقبل منتجات من موردين متعددين بصيغ تسمية مختلفة.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
السعر والتنفيذ
سعر ثابت $0.003 لكل طلب زائد $0.0135 لكل منتج. تعمل الأداة من صفحتها على الويب لمنتج واحد أو دفعة صغيرة، ومتاحة عبر الـAPI لتوحيد كتالوج كامل من آلاف المنتجات فور استيراده من مورّد جديد.
قالب التسمية الموحَّد
يُحدَّد قالب التسمية المطلوب ضمن الطلب — ترتيب العناصر مثل النوع ثم اللون ثم المقاس، ولغة النص العربية أو مزيج مضبوط مع مصطلحات لاتينية للماركة — وتُعيد الأداة صياغة كل اسم منتج وفق هذا القالب تحديدًا، بدل قواعد عامة تُنتج نتائج متفاوتة بين المنتجات.
التعامل مع منتجات مكررة فعليًا
منتج ورد من موردين مختلفين بأسماء متفاوتة قد يكون فعليًا المنتج نفسه؛ توحيد التسمية يجعل هذا التكرار أوضح لفريق إدارة الكتالوج ليقرر دمج المنتجين في بطاقة واحدة أو إبقائهما منفصلين إن اختلفا في تفصيل جوهري كالسعر أو المورّد.
الفرق عن تصنيف المنتجات
هذه الأداة تُعيد صياغة اسم المنتج ووصفه فقط لتوحيد الصيغة، ولا تُحدد فئته ضمن شجرة تصنيف المتجر؛ اختيار الفئة المناسبة يحتاج أداة تصنيف المنتجات المنفصلة، وغالبًا تُستخدم الأداتان معًا على الكتالوج نفسه.
حالات الاستخدام
متجر أحذية يستقبل كتالوجات من موردين متعددين
يستقبل متجر أحذية إلكتروني كتالوجات من ثلاثة موردين بصيغ تسمية مختلفة تمامًا، ويستخدم الأداة عبر الـAPI لتوحيدها في صيغة واحدة قبل نشرها في المتجر.
منصة مقارنة أسعار تجمع منتجات من متاجر متعددة
تجمع منصة مقارنة أسعار منتجات من عشرات المتاجر بأسماء متفاوتة للمنتج نفسه، وتستخدم الأداة لتوحيد الأسماء قبل عرض المقارنة بدقة للمستخدم.
متجر مستحضرات تجميل يوحّد وصف منتجاته
يستقبل متجر مستحضرات تجميل أوصاف منتجات من موردين بأساليب كتابة مختلفة تمامًا، ويستخدم الأداة لصياغتها كلها بأسلوب موحّد قبل نشرها للعملاء.
الأسئلة الشائعة
هل تدمج الأداة المنتجات المكررة تلقائيًا؟
لا، تُوحّد صيغة الاسم والوصف فقط لتُظهر التكرار المحتمل بوضوح؛ قرار دمج بطاقتي منتج في بطاقة واحدة يبقى قرارًا يدويًا لفريق إدارة الكتالوج.
هل يمكن الإبقاء على اسم الماركة كما ورد من المورّد؟
نعم، يُحدَّد ضمن القالب أن يبقى اسم الماركة كما هو دون تعريب أو تعديل، بينما تُوحَّد بقية عناصر التسمية وفق القالب المطلوب.
هل تُحفظ بيانات المنتجات المُرسلة للتوحيد؟
لا، تُستخدم البيانات لإنتاج الصيغة الموحَّدة فقط ولا تُحفظ بعد تسليم النتيجة، ولا حاجة لحساب لاستخدام الأداة.
كم تكلفة توحيد كتالوج من ألفي منتج؟
$0.003 لكل طلب زائد $0.0135 لكل منتج، أي نحو $27 لتوحيد ألفي منتج عبر الـAPI دفعة واحدة.
هل تعمل الأداة مع أسماء منتجات مكتوبة بالإنجليزية بالكامل؟
نعم، تقرأ الأداة الاسم بأي لغة ورد بها، وتُعيد صياغته وفق القالب المطلوب حتى لو كان النص الأصلي بالإنجليزية بالكامل.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/product-normalize \
-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/text/product-normalize", {
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/text/product-normalize",
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/text/product-normalize", 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/text/product-normalize", 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": "text.product_normalize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_tokens | 20000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |