رقم تحقق UPC-A
رقم المنتج 01234567890 يحصل على رقم التحقق 5، فيصبح رمز UPC-A الكامل 012345678905. والصق رمزًا كاملًا من اثني عشر رقمًا وصلك من شريك أو قارئ باركود لتعرف هل آخر رقم فيه صحيح. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- العدد
- 01234567890
- وضع الحساب
- Compute
- المُدخَل
- 01234567890
- رقم التحقق
- 5
- مع رقم التحقق
- 012345678905
تُنفّذ هذه القدرة قاعدة GTIN-12 mod-10 القياسية المستخدمة على كل UPC-A من اثني عشر رقماً: المواضع الفردية من اليسار تُوزَّن بثلاثة، والزوجية بواحد، ورقم التحقق هو المقدار اللازم للوصول إلى مضاعف العشرة التالي. استخدم وضع compute عندما تملك فقط رقم المنتج ذي الأحد عشر رقماً وتحتاج الرقم لملصق أو قاعدة بيانات أو مولّد باركود؛ واستخدم وضع validate عندما يُرسل شريك أو ماسح أو نموذج رمزاً كاملاً من اثني عشر رقماً وتحتاج مؤشّر valid واضحاً مع الرقم المتوقع لرسائل الخطأ.
كيف يُبنى رقم UPC-A
يتكون رمز UPC-A دائمًا من اثني عشر رقمًا. الأحد عشر الأولى هي رقم المنتج، وعادة ما تكون بادئة الشركة من GS1 يليها مرجع الصنف، والثاني عشر هو رقم التحقق. وُجد هذا الرقم الأخير حتى يجعل خطأ رقم واحد، سواء في الكتابة أو المسح، الرمز كله غير صالح بدل أن يشير إلى منتج آخر. تعطي القاعدة الأرقام في المواضع الفردية وزن ثلاثة وفي المواضع الزوجية وزن واحد، ثم تجمعها وتختار الرقم الذي يكمل المجموع إلى مضاعف للعشرة. ومن الجهة الأخرى يكون الرمز الكامل صالحًا عندما يكون مجموعه الموزون، مع رقم التحقق، مضاعفًا للعشرة أصلًا.
متى تحسب ومتى تتحقق
احسب عندما يكون لديك رقم المنتج المكوّن من أحد عشر رقمًا فقط وتحتاج إلى الرقم الأخير لملصق أو سجل في قاعدة بيانات أو مولد باركود. وتحقق عندما يسلمك شريك أو قارئ باركود أو نموذج على الويب الأرقام الاثني عشر كلها، فتحصل على حكم واضح ومعه الرقم المتوقع. وكثيرًا ما تمرر فرق الكتالوج كل رموز UPC في ملف التصدير عبر هذا الفحص وتعزل الصفوف التي تفشل. وأكثر الأخطاء شيوعًا إدخال اثني عشر رقمًا عند الحساب، أو ترك شرطة أو مسافة في الرمز، أو لصق رمز EAN من ثلاثة عشر رقمًا لا تتعامل معه هذه الأداة.
كيف يُحسب رقم تحقق UPC-A
رمز UPC-A يتكون دائماً من اثني عشر رقماً. الأحد عشر الأولى تُشكّل رقم المنتج (غالباً بادئة شركة GS1 مع مرجع الصنف)؛ والثاني عشر هو رقم التحقق. وبصورة مكافئة، يجب أن تكون السلسلة الكاملة ذات الاثني عشر رقماً بما فيها رقم التحقق ذات مجموع مرجَّح مضاعف للعشرة تحت أوزان المواضع نفسها.
هذه عائلة قواعد mod-10 المستخدمة عبر GTIN-8 وGTIN-12 وGTIN-13 وGTIN-14؛ وUPC-A تحديداً هو الشكل ذو الاثني عشر رقماً الشائع على تغليف الولايات المتحدة وكندا. الخوارزمية حتمية ومحلية: بلا استعلام كتالوج، بلا نداء شبكة، وبلا ساعة. مقارنةً بمدققي الباركود متعددة الرموز، نية البحث هنا ضيقة: من يحتاج حاسبة رقم تحقق UPC-A لحمولات أحد عشر رقماً، لا مدققاً عاماً ل EAN أو ISBN.
حالات الاستخدام
تدقيق أعمدة UPC في صادرات الكتالوج
تحققوا دفعةً من كل UPC ذي اثني عشر رقماً في CSV ل PIM أو شريك، واعزلوا الصفوف التي لم يعد رقم تحققها يطابق القيمة المتوقعة المعاد حسابها.
الأسئلة الشائعة
ما رقم تحقق UPC-A؟
هو الرقم الثاني عشر من رمز UPC-A، يُحسب بمجموع مرجَّح mod-10 حتى تُكتشف أخطاء الرقم الواحد عند الكتابة أو المسح عادةً قبل تخزين الرمز أو طباعته.
كيف يُحسب رقم التحقق في UPC-A؟
اقرأ الأرقام الأحد عشر من اليسار، واضرب الأرقام في المواضع الفردية في 3 والأرقام في المواضع الزوجية في 1، ثم اجمع الكل. رقم التحقق هو ما يوصل المجموع إلى مضاعف العشرة التالي، أو 0 إن كان مضاعفًا بالفعل.
كيف أتحقق من رمز UPC كامل من اثني عشر رقمًا؟
اختر التحقق وأدخل الأرقام الاثني عشر كلها. ستحصل على إجابة واضحة بأن الرمز صالح أو غير صالح، ومعها رقم التحقق المتوقع، وهو مفيد لكتابة رسالة خطأ مفهومة.
هل UPC-A هو نفسه EAN-13؟
ينتميان إلى عائلة قواعد التحقق نفسها، لكن UPC-A هو الشكل المكوّن من اثني عشر رقمًا، ويُسمى أيضًا GTIN-12، والشائع على العبوات في الولايات المتحدة وكندا. ولا تتعامل هذه الأداة إلا مع هذا الشكل، لا مع EAN-13 ولا ISBN.
هل يمكنني إدخال رمز UPC بمسافات أو شرطات؟
لا. لا تُقبل إلا الأرقام من 0 إلى 9، ولا يُحذف شيء بصمت حتى لا يُحفظ رمز نصف منظف. وعند الطول الخاطئ توضح الرسالة هل المطلوب أحد عشر رقمًا أم اثنا عشر.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/upc-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"01234567890"}'const res = await fetch("https://api.kit.forhosting.com/enc/upc-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "01234567890"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/upc-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "01234567890"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/upc-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"01234567890"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"01234567890"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/upc-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"number": "01234567890"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.upc_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أرقام منتجات التجزئة في أمريكا الشمالية تنتهي تقريباً دائماً برقم تحقق UPC-A: أحد عشر رقماً من الحمولة تُعرّف المُصنّع والصنف، إضافة إلى رقم ختامي يُثبت أن السلسلة كاملة كُتبت أو مُسحت دون خطأ في رقم واحد. المدخلات غير الرقمية والأطوال الخاطئة تفشل ب invalid_input بدل التطهير الصامت، فلا تُخزَّن رمزاً منقوصاً. الحساب نفسه النقي يعمل مجاناً في المتصفح وبسعر API المنشور.
كيف يُحسب رقم تحقق UPC-A
لحسابه، امشِ على أحد عشر رقم حمولة من اليسار إلى اليمين بمواضع تبدأ من 1: اضرب كل رقم في موضع فردي في ثلاثة وكل رقم في موضع زوجي في واحد، اجمع تلك النواتج، ثم خذ رقم التحقق ك (10 ناقص تلك المجموع modulo 10) modulo 10. يعني ذلك أن ودجت المتصفح المجاني ومسار API يتفقان دائماً على الرقم نفسه لنفس المدخل، وهذا مهم عند اختبار مسارات الملصقات ونماذج التسجيل باختبارات ذهبية. هذه الأداة لا توسّع UPC-E، ولا تختلق بادئات دول EAN-13، ولا تزعم أن checksum صالحاً يعني ترخيص البيع؛ بل تُثبت فقط أن سلسلة الأرقام سليمة الشكل وفق قاعدة UPC-A.
عقد الإدخال والأوضاع وسلوك الخطأ
أرسل حقل number يحتوي فقط على الأحرف من صفر إلى تسعة. الطول الخاطئ خطأ صريح يُسمّي الوضع والطول المُرسل — أحد عشر ل compute واثني عشر ل validate — حتى تُظهر نماذج العميل «يلزم أحد عشر رقماً» دون تخمين. السلاسل الفارغة وnumber المفقود وقيم mode غير الصالحة تفشل قبل أي مجموع مرجَّح ولا تُفوتر. فضّلوا compute عند إنشاء أرقام المنتج أو إكمالها؛ وفضّلوا validate عندما تربطون بحثاً أو استيراداً برمز كامل من مستخدم أو ملف شريك. المسافات والشرطات والحروف والنقاط العشرية تُرفض كمدخل غير رقمي ب invalid_input حتى لا يصل قيمة مُقتطعة بصمت إلى التخزين. وضع compute هو الافتراضي: المحرك يطلب أحد عشر رقماً بالضبط، ويُعيد check_digit كسلسلة من حرف واحد، وwith_check ك UPC-A من اثني عشر رقماً يمكنكم طباعته أو حفظه. وضع validate يطلب اثني عشر رقماً بالضبط؛ والاستجابة تُبلغ valid true عندما يطابق الرقم الختامي expected_check_digit المُعاد حسابه، وتشمل دائماً payload (الأحد عشر الأولى)، وcheck_digit، وexpected_check_digit، وlength اثني عشر. تُقبل أسماء بديلة مثل digits وupc وcode لنفس حقل الحمولة حتى لا تحتاج التكاملات التي تتحدث أصلاً ب «upc» إلى إعادة تسمية. لأن المسار parse نقي بلا ساعة ولا مصدر عشوائي ولا شبكة، فإن جسم JSON نفسه يُنتج دائماً نتيجة JSON نفسها على أداة المتصفح المجانية وعلى API بسعر $0.002 لكل طلب ناجح.
أين يناسب رقم تحقق UPC-A سير العمل الحقيقي
فرق الكتالوج وPIM تتلقى أرقام منتج داخلية من أحد عشر رقماً ويجب أن تُلحق رقم تحقق UPC-A الرسمي قبل طباعة ملصقات الرف أو النشر في أسواق ترفض GTIN غير الصالح. ماسحات المستودع وتطبيقات الاستلام تتحقق من رموز اثني عشر رقماً عند الرصيف حتى لا يُنشئ تبديل واحد SKU شبحاً أو اختلافاً في المخزون. مهام جودة البيانات تمر على كل عمود UPC في تصدير CSV، وتستدعي وضع validate، وتعزل الصفوف حيث valid هو false — فتصطاد تعديلات بشرية وأخطاء مولّدات بمقدار واحد. نماذج تسجيل التجارة الإلكترونية يمكنها إعادة حساب expected_check_digit وإظهار تصويب ودّي عندما يلصق البائع رمزاً بآخر رقم خاطئ. اختبارات التكامل تُثبّت with_check لعيّنات معروفة مثل 012345678905 حتى لا تنحرف مكتبات الباركود وهذه API. في كل سير عمل العقد واحد: أرقام فقط، طول ثابت لكل وضع، JSON منظّم يمكن اختباره بذهبية، سلوك متطابق بين متصفح مجاني وAPI مسبقة الدفع، وinvalid_input صادق عندما لا تكون السلسلة تسلسل أرقام خالصاً بالطول الصحيح. لا تعاملوا اجتياز فحص UPC-A كدليل ملكية علامة أو تسجيل GS1؛ فهو يُثبت فقط أن رقم mod-10 متسق مع الحمولة تحت الأوزان القياسية.
حالات التكامل
إكمال رقم منتج من 11 رقماً للملصقات
استدعوا وضع compute بحمولة أحد عشر رقماً، واحفظوا with_check، وأرسلوا UPC-A ذا الاثني عشر رقماً إلى طابعة الباركود أو إعلان السوق.
التحقق من UPC-A ممسوح أو مكتوب عند الإدخال
عندما يُرسل ماسح أو نموذج اثني عشر رقماً، استدعوا وضع validate وامنعوا البحث إذا كان valid هو false، مع إظهار expected_check_digit لتصحيح خطأ رقم واحد.
أسئلة تقنية
كيف أحسب رقم تحقق UPC-A بهذه API؟
أرسلوا POST مع number مضبوطاً على أحد عشر رقماً بالضبط وmode compute (أو احذفوا mode). تتضمن الاستجابة check_digit وwith_check (UPC-A الكامل من اثني عشر رقماً).
كيف أتحقق من UPC-A كامل من اثني عشر رقماً؟
أرسلوا POST بالسلسلة ذات الاثني عشر رقماً وmode validate. تتضمن الاستجابة valid وcheck_digit وexpected_check_digit وpayload (الأرقام دون الأخير).
ماذا يحدث مع طول خاطئ أو حروف أو شرطات؟
المدخلات غير الرقمية والأطوال غير أحد عشر (compute) أو اثني عشر (validate) تُرفض ب invalid_input. مهام التحقق الفاشلة لا تُفوتر.
هل أداة رقم تحقق UPC-A مجانية؟
أداة المتصفح مجانية وتعمل محلياً. استدعاءات API تستخدم رصيد KIT المدفوع مسبقاً بالسعر الأساسي المنشور $0.002؛ والمدخل غير الصالح لا يُحتسب أبداً.