Prečo peňaženka a nie aplikácia
Vernostný program stojí a padá s tým, či si ho zákazník vôbec zaobstará. Inštalácia aplikácie je pri kaviarni alebo kaderníctve prekážka, na ktorej veľa ľudí skončí. Kartu možno v bežnom scenári pridať do podporovanej peňaženky bez inštalácie samostatnej aplikácie. Konkrétny postup závisí od platformy a spôsobu vydania. Presne na tom stojí Walio.
Cenou je, že pravidlá určuje Apple a Google. A nie sú to rovnaké pravidlá: Apple Wallet a Google Wallet vyzerajú pre zákazníka podobne, technicky však fungujú odlišne. Inak sa karta vydáva, inak sa aktualizuje a inak sa riadia upozornenia. Preto ich nižšie opisujeme každú zvlášť.
Čo karta v peňaženke vie
Na oboch platformách karta zvládne rovnaký základ:
- Niesť stav: počet pečiatok, body, zostávajúce návštevy. Údaje sa dajú po vydaní meniť na diaľku.
- Zobraziť QR alebo čiarový kód, ktorý obsluha načíta.
- Ukázať zákazníkovi zmenu, napríklad nový stav pečiatok. Či a ako sa zmena ohlási upozornením, určuje platforma a nastavenie telefónu.
- Ponúknuť sa v relevantnej chvíli, napríklad blízko prevádzky. Podmienky sa medzi platformami líšia a závisia od polohy a nastavenia telefónu.
- Niesť vzhľad značky: farby, logo, popisky polí.
Apple Wallet: podpísaný pas a registrácia zariadenia
Súbor .pkpass podpísaný certifikátom
Karta v Apple Wallet je pas, teda súbor .pkpass. Je to balík s údajmi karty, obrázkami a podpisom. Každý pas musí byť podpísaný certifikátom, ktorý vydavateľ získa cez vývojársky účet u Apple. Bez platného podpisu peňaženka pas neprijme. Certifikát má obmedzenú platnosť, takže jeho obnovu treba strážiť.
Aktualizácie cez registráciu zariadenia
Keď si zákazník pas pridá, telefón sa zaregistruje na serveri vydavateľa. Registrácia znamená, že server vie, ktorým zariadeniam má dať vedieť o zmene. Pri zmene server pošle telefónu signál, telefón si stiahne novú verziu pasu a peňaženka ju zobrazí. Server teda musí bežať a odpovedať, kým sú karty v obehu.
Relevantné zobrazenie
Pas môže niesť informáciu, kedy alebo kde je užitočný, napríklad miesto prevádzky. Systém ho potom môže zákazníkovi ponúknuť. Je to ponuka systému, nie zaručené zobrazenie: o tom, či a kedy sa pas objaví, rozhoduje telefón a jeho nastavenie vrátane povolenia polohy.
Upozornenie na zmenu (change message)
Pri poli karty sa dá nastaviť text zmeny, tzv. changeMessage. Keď sa hodnota poľa zmení, telefón zákazníkovi zobrazí upozornenie, napríklad „Máte 7 pečiatok z 10“. Apple odporúča používať changeMessage pre časovo dôležité zmeny a výslovne uvádza, že nemá slúžiť na marketingové ani iné nekritické správy. Zákazník si navyše môže upozornenia pri konkrétnej karte vypnúť.
Google Wallet: triedy, objekty a API
Trieda a objekt
Google Wallet pracuje s dvoma vrstvami. Trieda (Class) opisuje program ako celok: názov, logo a údaje spoločné pre všetky karty. Objekt (Object) je konkrétna karta jedného zákazníka s jeho stavom a kódom. K jednej triede tak patria karty všetkých zákazníkov programu.
Účet vydavateľa, service account a JWT
Google používa iný model vydávania než Apple. Vydavateľ má u Googlu účet vydavateľa (issuer) a jeho server sa ku Google Wallet API prihlasuje cez service account, teda technický účet určený na komunikáciu medzi servermi. Karta sa zákazníkovi odovzdáva cez odkaz alebo tlačidlo „Pridať do Google Wallet“, ktoré nesie podpísaný JWT. To je krátky podpísaný token s údajmi karty, podľa ktorého Google kartu uloží. Nepodpisuje sa teda súbor certifikátom ako pri Apple, ale požiadavky a tokeny kľúčom service accountu.
Aktualizácia objektu
Zmena stavu karty znamená úpravu objektu cez API. Server vydavateľa neposiela nič priamo do telefónu, mení dáta u Googlu a Google kartu v peňaženke aktualizuje. Čo platí pre celý program, sa upravuje v triede.
Správy a podmienky upozornení
K objektu alebo triede sa dá pridať správa (message), ktorá sa zobrazí pri karte. Aby o nej zákazník dostal upozornenie, musí mať príslušné notifikácie povolené. Pri funkciách viazaných na blízkosť prevádzky sú podmienky spojené s polohou a nastavením telefónu.
Čo naopak nevie a prekvapí to
Čo sa dá po vydaní zmeniť a čo nie
Pri Apple Wallet sa podľa dokumentácie dá aktualizovať obsah pasu, zatiaľ čo niektoré identifikačné údaje zostávajú nemenné. Konkrétne obmedzenia závisia od typu pasu a spôsobu aktualizácie. Typ pasu zároveň určuje, koľko polí sa kam zmestí. Pri Google Wallet sa mení objekt konkrétnej karty a rozloženie určuje hlavne trieda. Rozloženie preto navrhujeme s rezervou, aby neskorší údaj nemusel nič vytlačiť.
Aktualizácie karty nie sú marketingové správy
Aktualizácie karty vedia zákazníkovi ukázať zmenu, napríklad nový stav pečiatok alebo blížiacu sa odmenu. Nie sú to však marketingové push správy. Apple ich určuje pre časovo dôležité zmeny, pri Google musí mať používateľ notifikácie povolené a na oboch platformách si ich zákazník môže vypnúť. Kto kartu používa ako reklamný kanál, riskuje, že zákazník upozornenia vypne alebo kartu zmaže.
Karta nie je doklad totožnosti
Kód na karte sa dá odfotiť a poslať ďalej. Pri bodoch to nevadí. Pri vstupenke alebo odmene vyššej hodnoty musí systém strážiť, že sa uplatní raz, a to sa rieši na serveri, nie na karte.


Kto karty vydáva, ten určuje cenu
Vydávanie kariet si podnik môže zabezpečiť cez službu tretej strany, ktorá zaňho podpisuje pasy pre Apple Wallet a komunikuje s Google Wallet API. Takéto služby si obvykle účtujú za každú vydanú kartu alebo za aktívneho zákazníka mesačne. Pri programe s tisíckami kariet je to položka, ktorá rastie práve vtedy, keď sa programu darí.
Walio podpisuje pasy na vlastnej infraštruktúre, nie cez cudziu službu. Vydávanie kariet tak máme pod kontrolou sami a na nás zostáva aj stráženie certifikátov. Je to práca navyše, ale predvídateľná.
Terminál je polovica úspechu
Karta je len jedna strana. Druhá je obsluha, ktorá má troch ľudí v rade. Keď načítanie kódu a pripísanie bodu trvá viac než dve ťuknutia alebo sa čaká na server, obsluha to po týždni prestane robiť a program umrie. Terminál musí fungovať aj pri slabom signáli a nesmie vyžadovať pokladničný systém.
Toto je vec, ktorá sa nedá vyriešiť neskôr. Keď sa navrhuje karta, navrhuje sa zároveň to, čo robí človek za barom. Rovnako pristupujeme ku všetkým aplikáciám na mieru: začína sa u toho, kto s tým bude pracovať denne.


