لماذا يحتاج Punchout إلى طبقة ربط (Mapping)
كل مشترٍ يريد السلة نفسها موصوفة بطريقة مختلفة قليلًا. طبقة الربط تُبقي هذه الاختلافات خارج متجرك.
على الورق، السلة بسيطة: أصناف وكميات وأسعار. عمليًا، يصف كل نظام مشتريات السلة بطريقة تختلف قليلًا عن غيره، وهنا تتباطأ مشاريع Punchout.
ما الذي يختلف عادةً
- وحدات القياس. متجرك يقول «علبة»، والمشتري يتوقع وحدة مشفّرة مثل
BXأوPCE. - التصنيف. يطلب كثير من المشترين رمز سلعة لكل بند، وغالبًا UNSPSC.
- معرّفات الأصناف. رقم صنفك ورقم المادة لدى المشتري ورقم القطعة لدى المُصنّع ثلاثة حقول مختلفة.
- العملة والضريبة. أسعار بالدرهم، أو نسبة ضريبة لكل بند، أو صافٍ مقابل إجمالي.
- الحقول النصية. الحد الأقصى للطول، والمحارف الممنوعة، واللغة.
- الصيغة. cXML لمشترٍ وOCI لآخر.
طريقتان للتعامل معه
داخل المتجر. تضيف إلى متجرك شيفرة خاصة بكل مشترٍ. تنجح مع المشتري الأول. وعند الثالث يصبح المتجر مليئًا بفروع if buyer == ...، وكل تحديث للمتجر قد يكسر اتصال Punchout.
في طبقة ربط. ينتج متجرك سلة داخلية واحدة نظيفة. وتحتفظ طبقة منفصلة بقواعد كل مشترٍ: هذا الحقل يذهب هناك، وهذه الوحدة تصبح ذلك الرمز، وهذه الصيغة هي cXML. إضافة مشترٍ تعني إضافة ربط، لا تعديل المتجر.
ما تمنحك طبقة الربط الجيدة
- مكانًا واحدًا للنظر عندما يبلّغ مشترٍ عن وحدة خاطئة أو حقل ناقص.
- وضع اختبار. يمكنك إعادة تشغيل سلة ورؤية cXML أو OCI الذي سيُعاد بالضبط.
- الاستقلالية. يمكنك استبدال متجرك أو ترقيته دون إعادة كل تكاملات المشترين.
هذه هي فكرة الطبقة الوسيطة لدينا: تحتفظ بمتجرك الحالي، وتعيش الفروق بين المشترين في مكان واحد مُدار.
معلومات عامة وليست استشارة قانونية أو ضريبية. تحقّق من المصادر الرسمية قبل التصرف.