تم إرسال رسالتك.

كيف ترسل feed المنتجات إلى ChatGPT Shopping؟

ChatGPT Shopping لا يقرأ وسمًا في صفحة المنتج. يُرسل الكتالوج ملفًا إلى OpenAI عبر SFTP. لاكتشاف المنتجات تحتاج كل سطر إلى item_id و title و description و url و brand و seller_name و image_url و availability و price.

ما هذا الملف

ChatGPT Shopping هو المنتجات داخل إجابات ChatGPT. في توثيق commerce لدى OpenAI الكتالوج product feed: ملف ترفعه، لا جولة على صفحة التصنيف.

دليل get started فيه أربع خطوات. اقرأ مخطّط الملف. تحقق من الحقول الإلزامية في كل سجل. ارفع الكتالوج عبر SFTP. اكتب فوق الملف نفسه لقطة جديدة. توصي OpenAI بلقطة كاملة مرة في اليوم على الأقل. Discovery و ads و checkout إعدادات منفصلة. قائمة الحقول: https://developers.openai.com/commerce/specs/file-upload/products. تسليم الملف: https://developers.openai.com/commerce/specs/file-upload/overview.

أي ملف تقبله OpenAI

تقول نظرة file upload إن الـ feed يُدفع عبر SFTP. الصيغة المفضّلة parquet. وتُقبل أيضًا jsonl.gz و csv.gz و tsv.gz. الترميز UTF-8.

اسم الملف يبقى ثابتًا وتكتب فوقه. إن قُسّم الكتالوج إلى أجزاء، تبقى أسماء الأجزاء ثابتة. النظرة تذكر حتى 500000 صنف في الجزء وملفات نحو 500 MB. عناوين URL عامة ومطلقة ويفضَّل HTTPS. في CSV تُحاط الخلية التي فيها فاصلة باقتباس.

لا تخمّن مضيف SFTP. نظرة رفع الملف لا تنشره. دليل Ads يعيد المضيف والمنفذ واسم المستخدم من sftp_access لهذا الـ feed. لا يقول إن feed الاكتشاف يستخدم المضيف نفسه.

دليل get-started يقول إن فتح الـ feed حاليًا لـ approved partners: https://developers.openai.com/commerce/guides/get-started. في https://chatgpt.com/merchants/ من قدّم طلبًا موجود في قائمة الانتظار. كتالوجات Shopify و Etsy مربوطة أصلًا. التسوّق متاح لمستخدمي ChatGPT في US.

الحقول التسعة الإلزامية

لصف اكتشاف مفيد تعلّم OpenAI تسعة حقول كإلزامية. الحقل الإلزامي يجب أن يحمل قيمة. الخلية الفارغة ليست صفرًا وليست false. لا ترسل كلمات null أو unknown أو n/a. الاستثناء availability: هناك unknown مسموح.

item_id سلسلة ثابتة، فريدة لكل صنف أو متغيّر. لا تُعاد لصنف آخر. الاسمان id و sku مقبولان، لكن item_id يغلب إن وُجدا معًا. أبقِ القيمة نصًا كي لا يسقط الصفر في البداية.

title اسم المنتج، مع المتغيّر حين يهم ذلك. الهدف 150 حرفًا على الأكثر. description نص عادي. الهدف 5000 حرف على الأكثر. url صفحة المنتج، مع اختيار المتغيّر في العنوان حين يمكن.

brand العلامة كما في الصفحة. seller_name بائع هذا العرض. image_url ملف صورة مباشر لهذا المتغيّر، لا صفحة HTML.

availability واحدة من in_stock أو out_of_stock أو pre_order أو backorder أو unknown. القيمة الفارغة أو غير المعروفة ترفض الصف. unknown لا يعني أن الصنف متوفّر. تُستخدم فقط حين لا يوجد وضع مخزون فعلًا.

price السعر العادي بالوحدات الكبرى: مبلغ ثم مسافة ثم رمز ISO 4217 بحروف كبيرة، مثل 79.99 USD. نقطة عشرية، بلا فاصل آلاف وبلا رمز عملة. لـ USD منزلتان. لا تقرّب السعر إلى مبلغ آخر يُدفع.

المتغيّرات والمعرّفات وسعر التخفيض

صف واحد لكل متغيّر يمكن شراؤه. الصفوف تشترك في group_id ولكل منها item_id. listing_has_variations تُضبط true، و variant_dict خريطة مثل color و size. group_id يختلف عن item_id. لكل صف price و availability و url وصورة خاصة.

gtin اختياري: 8 أو 12 أو 13 أو 14 رقمًا مع رقم تحقق، بلا مسافات. لا تخترعه. mpn رقم القطعة لدى المصنّع ويُرسل مع brand.

sale_price اختياري. أكبر من صفر وأصغر من price وبالعملة نفسها. التخفيض يبدأ وينتهي حين تحدّث الملف. يقول المخطّط إن التواريخ في الملف لا تجدوِل تغيّر السعر.

الصفحة نفسها تقول إن الرفع القياسي يستهدف US حاليًا. عمود target_countries وحده لا يغيّر ذلك. سوق أخرى تحتاج تأكيد التكامل.

الصيغة 79.99 PLN تطابق شكل السعر: عدد عشري ومسافة ورمز ISO 4217. لا تختار بولندا.

{"item_id":"MUG-350-BLUE","title":"Ceramic mug, 350 ml, blue","description":"Glazed ceramic mug with a handle. Dishwasher safe.","url":"https://example.com/products/mug-blue","brand":"Northline","seller_name":"Northline Home","image_url":"https://example.com/images/mug-blue.jpg","price":"18.00 USD","availability":"in_stock"}

Shopify و WooCommerce وكتالوج خاص

لا عمود في المخطّط باسم المنصّة. تنقل كتالوجك إلى هذه الحقول.

في Shopify خذ معرّف المتغيّر الثابت كـ item_id ولا تُعد استخدامه. title والنص بلا HTML وعنوان المتغيّر و vendor واسم المتجر تصبح title و description و url و brand و seller_name. الصورة عنوان ملف مباشر. الكمية فوق صفر هي in_stock. السعر وحدات كبرى زائد العملة، لا سنتات. التصدير هو Admin API أو CSV للمنتجات، وصف عناوينه ليس مخطّط OpenAI.

في WooCommerce الـ SKU الفريد هو item_id. إن تكرّر SKU فخذ معرّف التنويعة. permalink هو url. السعر العادي هو price. instock تصبح in_stock، و outofstock تصبح out_of_stock، و onbackorder تصبح backorder. تكتب OpenAI الطلب المسبق pre_order. يكتبه Google Merchant‏ preorder. نسخ feed من Google من دون هذا التغيير يرفض تلك الصفوف.

المتجر الخاص يصدّر الأعمدة نفسها من قاعدة البيانات التي تغذّي البطاقة. يُبنى الملف على الخادم. سعر الملف وسعر HTML رقم واحد وعملة واحدة.

كيف تعرف أن الصف قُبل

ابدأ بـ 100 صنف وكل الحقول الإلزامية مملوءة، ثم راجع اللقطة الأولى واكتب فوق اسم الملف نفسه.

اكتمال نقل SFTP ليس صفًا مقبولًا.

لـ feeds الإعلانات توثّق OpenAI حالات الرفع: scanning و received و processing و completed و completed_with_errors و skipped و failed. من الرموز missing_required_column و invalid_value و unsupported_file_type و invalid_sftp_directory_layout. الملفات في جذر SFTP. الصفحة: https://developers.openai.com/ads/product-feeds.

دليل رفع الملف لا يسمّي شاشة للصفوف المقبولة والمرفوضة. اقرأ المنتجات عبر commerce API: https://developers.openai.com/commerce/specs/api/overview. هذه ليست Ads. حالة Ads ليست نتيجة الاكتشاف.

ما الذي يرفض الصف

سعر مكتوب 79,99 أو 79.99PLN أو $79.99 ليس الشكل الموثَّق. availability بقيمة preorder أو in stock أو خلية فارغة ليست في القائمة. image_url يشير إلى صفحة HTML ليس صورة مباشرة. عنوان URL غير عام يخفق في قاعدة الوصول.

إعادة item_id لصنف جديد تكسر قاعدة الهوية. صفوف المتغيّرات التي تشترك في item_id أو يكون group_id فيها مساويًا لـ item_id لا تكوّن مجموعة. HTML داخل description يكسر قاعدة النص العادي.

  • صف واحد لكل متغيّر، مع item_id ثابت لا يُعاد استخدامه.
  • في كل صف title و description و url و brand و seller_name و image_url مباشر.
  • availability هي in_stock أو out_of_stock أو pre_order أو backorder أو unknown.
  • price بالشكل 18.00 USD: نقطة ومسافة ورمز عملة ISO.
  • الملف parquet أو jsonl.gz أو csv.gz أو tsv.gz، بترميز UTF-8، ويكتب فوق الاسم نفسه.
  • سعر الملف يطابق سعر HTML في الصفحة.
هل أرسل feed من Google Merchant كما هو؟

لا كنسخة عمياء. بعض الأسماء تختلف. Google تستخدم id و link و image_link. OpenAI تستخدم item_id و url و image_url، وتلزم seller_name. preorder لدى Google تصبح pre_order. لبعض الأسماء القديمة أسماء بديلة، و item_id يغلب id.

هل يحل JSON-LD في البطاقة محل الملف؟

لا. الملف هو ما تستقبله OpenAI لـ ChatGPT Shopping. schema.org Product و Offer يصفان الحقائق نفسها في الصفحة. يجب أن يتطابقا. أحدهما لا يملأ الآخر.

كل كم يُستبدل الملف؟

يوصي get started بلقطة كاملة مرة في اليوم على الأقل، فوق الاسم نفسه. حدّث price و availability حين يتغيّران. يقول المخطّط إن التواريخ في الرفع لا تجدوِل ذلك عنك.

ماذا إن نفد المتغيّر من المخزون؟

أبقِ الصف مع availability بقيمة out_of_stock والسعر الحالي. حذف الصف يخفي المتغيّر. unknown فقط حين لا يوجد وضع، وهو لا يعني متوفّرًا.