Genel bakış

Google Cüzdan Kartları API'si, iş ortaklarının Rotasyon Barkodları Google Cüzdan'a kaydetmelerine imkan tanır. Bu barkodlar yalnızca kısa bir süre için geçerli olup barkod ekran görüntüsü alma riskini azaltmak için ek güvenlik sağlar. Barkodlar, cihazda RFC 6238'e uygun şekilde oluşturulur ve gizli anahtarı iş ortağı sağlar. Bununla birlikte, iş ortağı barkodları kendileri oluşturmayı tercih ederse Google, barkodların Google'a toplu olarak yüklenebilmesi için bir API sağlar. Daha sonra bu barkodlar kullanıcıların telefonlarına aktarılır ve kısa bir süre için Dönen Barkodlar gibi davranır. Bu çözüme, İş Ortağı Tarafından Oluşturulan Rotasyon Barkodları diyoruz.

İş Ortağı Tarafından Oluşturulan Rotating Barcode API

İş Ortağı Tarafından Oluşturulan Rotasyon Barkodları, aynı RotatingBarcode nesnesi kullanılarak oluşturulur. Yalnızca tür gereklidir, ancak isterseniz küçük, başlangıç barkodları oluşturmanızı ve bunları initialRotatingBarcodeValues içinde göndermenizi öneririz. İş ortağı, kullanıcı için her zaman geçerli bir barkodun hazır olmasını sağlamaktan sorumludur ve initialRotatingBarcodeValues, sonraki toplu yükleme çağrısının eşzamansız olmasına izin verir.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Alan Açıklama
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Barkodda kodlanacak değerler. En az bir değer girilmelidir. Bu başlangıç barkodları, kullanıcının pasosunu ilk kez edindiği saat ile sonraki toplu yükleme çağrısının yapıldığı zaman arasındaki boşluğu doldurmayı amaçlar.

type

enum (BarcodeType)

Zorunlu. Bu barkodun türü.

Kabul edilebilir değerler şunlardır:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Alan Açıklama
startDateTime

string

İlk barkodun geçerli olduğu tarih/saat. Barkodlar periodMillis kullanılarak döndürülür.

Bu, ISO 8601 genişletilmiş biçiminde tarih/saat, ofsetli bir tarihtir.

values[]

string

Barkodda kodlanacak değerler. En az bir değer girilmelidir.

Maksimum değer sayısı yoktur ancak istek gövdesinin boyutunun 5 MB'ı aşamayacağını unutmayın.

periodMillis

number

Her bir barkodun geçerli olduğu süre.

Barkod değerlerini toplu güncelleme

RotatingBarcode nesnesi oluşturulduktan sonra, kullanıcının pasosunun süresi dolana kadar her gün bir günlük barkodlar yüklemenizi öneririz. Bu işlem, aşağıdaki REST API uç noktasıyla yapılabilir.

Yöntem: transitobject.uploadrotatingbarcodevalues

Dönen barkod değerlerini, belirtilen nesne kimliği tarafından başvurulan geçiş nesnesine yükler.

HTTP isteği

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

Yol parametreleri

Parametre Açıklama
resourceId

string

Bir nesnenin benzersiz tanımlayıcısıdır.

İstek içeriği

İstek gövdesi (5 MB'ı aşamaz) RotatingBarcodeValues öğesinin bir örneğini içerir.

Yöntem: transitobject.downloadrotatingbarcodevalues

Belirtilen nesne kimliğinin başvurduğu geçiş nesnesi için dönen barkod değerlerini indirir. Bu, iş ortakları en son grubu doğrulamak istediğinde kullanışlıdır.

HTTP isteği

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

Yol parametreleri

Parametre Açıklama
resourceId

string

Bir nesnenin benzersiz tanımlayıcısıdır.

Yedek mekanizmalar

Aksi takdirde geçerli olan RotatingBarkod'da görüntülenecek geçerli barkod yoksa (bu barkodlar henüz yüklenmemiş veya mevcut barkodların tamamı kullanılmışsa) kullanıcıya bir hata mesajı gösterilir.