إذا كنت تدير مقهى متخصصاً يضم 32 مقعداً في بروكلين باستخدام Square Terminal وقائمة thMenu QR، فإن الحفاظ على تزامن الأسعار يصبح كابوساً تشغيلياً. الباريستا يغيّر اللاتيه من 5.50 إلى 5.75 USD، لكن قائمة QR لا تزال تعرض السعر القديم. هذه المقالة تشرح بنية هجينة: webhook أولاً، polling كشبكة أمان.
Webhook كقناة رئيسية
حدث Square catalog.version.updated يُطلق عند أي تعديل لـ item أو variation أو modifier. وجّهه إلى Worker thMenu على /api/integrations/square/webhook: تحقق من توقيع HMAC-SHA256، استخرج object_id، ثم استدعِ /v2/catalog/object/{id}.
يحوّل Worker الرد إلى D1_MENU: variations[0].price_money.amount بالسنتات (575) يصبح products.price = 5.75 USD. عمود square_object_id يضمن upsert. SLA يضمن 99.2% خلال 15 دقيقة.
Polling وحد المعدل
عند انقطاع الشبكة أو تأخيرات نادرة من Square (5+ دقائق)، يقوم cron كل 30 دقيقة باستعلام /v2/catalog/search مع فلتر آخر 35 دقيقة.
حد Square هو 10 طلبات/ثانية. لـ 500 منتج: 100 لكل batch_retrieve ثم توقف ثانية واحدة.
تعيين الضرائب: US مقابل SA
بروكلين يفرض 8.875% ضريبة مبيعات؛ فرع في الرياض يفرض 15% ضريبة قيمة مضافة. أضف tax_us_pct وtax_sa_pct في products.
الأسئلة الشائعة
ماذا لو فشل webhook؟ Polling يغطي الفجوة خلال 30 دقيقة.
هل يزامن المخزون؟ لا، فقط الكتالوج.
أي خطة؟ Pro وPlatinum.
هل وجدت هذا مفيداً؟ شاركه.
مقالات ذات صلة
ما هي قائمة QR؟ الدليل الشامل للمطاعم
تتيح قائمة QR للعملاء الوصول الفوري إلى قائمة طعامك عبر هواتفهم الذكية — دون تطب…
التحول من قائمة الطعام الورقية إلى قائمة QR الرقمية: دليل خطوة بخطوة
هل تريد اعتماد قوائم QR لكنك لا تعرف من أين تبدأ؟ يغطي هذا الدليل التصوير والمحت…
قوائم QR مستهدفة جغرافياً: تقديم لغات مختلفة حسب IP الزائر
كيف يوجّه منتجع شامل من 180 مقعداً في أنطاليا نفس QR إلى قوائم تركية أو ألمانية …