نظرة عامة

تتيح واجهة برمجة التطبيقات Google Wallet Passes API للشركاء حفظ الرموز الشريطية التي يتم تبديلها باستمرار في "محفظة Google". تكون هذه الرموز الشريطية صالحة لفترة زمنية قصيرة فقط، ما يوفر أمانًا إضافيًا للحد من خطر التقاط لقطات شاشة للرموز الشريطية. يتم إنشاء رموزها الترميزية على الجهاز وفقًا لـ RFC 6238، ويقدّم الشريك المفتاح السري. ومع ذلك، إذا كان الشريك يفضّل إنشاء الرموز الشريطية بنفسه، توفّر Google واجهة برمجة تطبيقات تتيح تحميل الرموز الشريطية بشكل مجمّع إلى Google. بعد ذلك، سيتم تمرير هذه الرموز الشريطية إلى هواتف المستخدمين، حيث ستؤدي وظيفتها تمامًا مثل الرموز الشريطية المتغيّرة، وستظهر لفترة قصيرة. نشير إلى هذا الحلّ باسم "رموز الاستجابة السريعة المتغيّرة التي ينشئها الشركاء".

واجهة برمجة التطبيقات لرمز الاستجابة السريعة المتغيّر الذي ينشئه الشريك

يتم إنشاء الرموز الشريطية المتغيّرة التي ينشئها الشركاء باستخدام عنصر RotatingBarcode نفسه. لا يُشترط سوى إدخال النوع، ولكننا ننصحك أيضًا بإنشاء مجموعة صغيرة من الرموز الشريطية (تستغرق 10 دقائق تقريبًا) وإرسالها في initialRotatingBarcodeValues. يتحمّل الشريك مسؤولية التأكّد من توفّر رمز شريطي صالح دائمًا للمستخدم، وinitialRotatingBarcodeValues يسمح بإجراء طلب التحميل المجمّع اللاحق بشكل غير متزامن.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
الحقل الوصف
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

القيم المطلوب ترميزها في الرمز الشريطي يجب إضافة قيمة واحدة على الأقل. تهدف هذه الرموز الشريطية الأولية إلى سد الفجوة بين وقت حصول المستخدم على البطاقة لأول مرة و وقت إجراء طلب التحميل المجمّع اللاحق.

type

enum (BarcodeType)

مطلوب. نوع هذا الرمز الشريطي

القيم المقبولة هي:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
الحقل الوصف
startDateTime

string

التاريخ أو الوقت الذي يصبح فيه الرمز الشريطي الأول صالحًا سيتم تدوير الرموز الشريطية من خلال استخدام periodMillis.

هذا هو التاريخ/الوقت بتنسيق ISO 8601 الموسّع، مع إضافة مدة.

values[]

string

القيم المطلوب ترميزها في الرمز الشريطي يجب إضافة قيمة واحدة على الأقل.

ما مِن حدّ أقصى لعدد القيم، ولكن يُرجى العِلم أنّ حجم ملف الطلب لا يمكن أن يتجاوز 5 ميغابايت.

periodMillis

number

المدة التي يكون فيها كل رمز شريطي صالحًا

تعديل قيم الرموز الشريطية بشكل مجمّع

بعد إنشاء عنصر RotatingBarcode، ننصحك بتحميل رموز باركو لمدة يوم واحد كل يوم إلى أن تنتهي صلاحية بطاقة المستخدم. ويمكن إجراء ذلك باستخدام نقطة نهاية واجهة برمجة التطبيقات REST التالية.

الطريقة: transitobject.uploadrotatingbarcodevalues

تُحمِّل قيم الرموز الشريطية المتغيّرة إلى عنصر النقل الذي يشير إليه رقم تعريف العنصر المحدّد.

طلب HTTP

POST https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc eId}/uploadRotatingBarcodeValues

مَعلمات المسار

المَعلمة الوصف
resourceId

string

المعرّف الفريد للعنصر

نص الطلب

يحتوي نص الطلب (الذي لا يمكن أن يتجاوز 5 ميغابايت) على مثيل RotatingBarcodeValues.

الطريقة: transitobject.downloadrotatingbarcodevalues

تنزيل قيم الرموز الشريطية المتغيّرة للكائن المعنيّ بالنقل العام والمُشار إليه من خلال معرّف الكائن المُعطى يكون هذا مفيدًا إذا أراد الشركاء التحقّق من أحدث دفعة.

طلب HTTP

GET https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do wnloadRotatingBarcodeValues?alt=media

مَعلمات المسار

المَعلمة الوصف
resourceId

string

المعرّف الفريد للعنصر

آليات النسخ الاحتياطي

يُرجى العِلم أنّه إذا لم يكن لدى عنصر RotatingBarcode صالح رمزَي استجابة ضوئية صالحَين لعرضهما (لم يتم تحميلهما بعد أو تم استخدام جميع الرموز الحالية)، ستظهر رسالة خطأ للمستخدم.