بررسی اجمالی

Google Wallet Passes API این امکان را برای شرکا فراهم می کند تا بارکدهای چرخشی را در Google Wallet ذخیره کنند. این بارکدها فقط برای مدت کوتاهی معتبر هستند و امنیت بیشتری را برای کاهش خطر اسکرین شات بارکد فراهم می کنند. بارکدها بر روی دستگاه مطابق با RFC 6238 تولید می شوند و شریک کلید مخفی را ارائه می دهد. با این حال، اگر شریکی ترجیح می‌دهد خود بارکدها را تولید کند، Google یک API ارائه می‌کند که بارکدها را می‌توان دسته‌ای در Google آپلود کرد. سپس این بارکدها به تلفن های کاربران منتقل می شوند، جایی که دقیقاً مانند بارکدهای چرخشی عمل می کنند و برای مدت کوتاهی نمایش داده می شوند. ما به این راه حل به عنوان بارکدهای چرخشی شریک تولید شده اشاره می کنیم.

API بارکد چرخشی ایجاد شده توسط شریک

بارکدهای چرخشی ایجاد شده توسط شریک با استفاده از همان شیء RotatingBarcode ایجاد می شوند. فقط نوع مورد نیاز است، اگرچه ما همچنین توصیه می‌کنیم مجموعه‌ای از بارکدهای شروع کوچک (حدود 10 دقیقه) ایجاد کنید و آن‌ها را در initialRotatingBarcodeValues ​​ارسال کنید. شریک مسئول اطمینان از این است که همیشه یک بارکد معتبر برای کاربر آماده است، و initialRotatingBarcodeValues ​​اجازه می دهد تا تماس آپلود دسته ای بعدی ناهمزمان باشد.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
رشته شرح
initialRotatingBarcodeValues

object ( RotatingBarcodeValues )

مقادیری که باید در بارکد رمزگذاری شوند. حداقل یک مقدار مورد نیاز است. این بارکدهای اولیه برای پر کردن فاصله بین زمانی که کاربر برای اولین بار پاس خود را دریافت می کند و زمانی که تماس آپلود دسته ای بعدی برقرار می شود، ایجاد شده است.

type

enum ( BarcodeType )

ضروری. نوع این بارکد

مقادیر قابل قبول عبارتند از:

  • QR_CODE
  • PDF_417

چرخش بارکد مقادیر
رشته شرح
startDateTime

string

تاریخ/زمانی که اولین بارکد از آن معتبر است. بارکدها از طریق periodMillis چرخانده می شوند.

این یک تاریخ/زمان با فرمت توسعه‌یافته ISO 8601، با یک افست است.

values[]

string

مقادیری که باید در بارکد رمزگذاری شوند. حداقل یک مقدار مورد نیاز است.

حداکثر تعداد مقادیر وجود ندارد، اما توجه داشته باشید که اندازه بدنه درخواست نمی تواند بیش از 5 مگابایت باشد.

periodMillis

number

مدت زمانی که هر بارکد برای آن معتبر است.

به روز رسانی دسته ای مقادیر بارکد

پس از ایجاد شی RotatingBarcode، توصیه می کنیم هر روز بارکدهای یک روز را بارگذاری کنید تا زمانی که مجوز کاربر منقضی شود. این را می توان با نقطه پایانی REST API زیر انجام داد.

روش: 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

شناسه منحصر به فرد برای یک شی.

مکانیسم های بازگشتی

توجه داشته باشید که اگر یک بارکد چرخشی که در غیر این صورت معتبر است، بارکد معتبری برای نمایش نداشته باشد (هنوز آپلود نشده است، یا از همه بارکدهای فعلی استفاده شده است)، یک پیام خطا به کاربر نشان داده می شود.