ওয়ালেট পাস API দিয়ে আপনার backend প্রতিটি কাস্টমারের জন্য আলাদা পাস তৈরি করতে পারে, তার নিজের নাম, ব্যালান্স, বারকোড আর লোকেশনসহ, তারপর আপনার ডেটা বদলালেই পাসটা আপডেট করতে পারে। আপনি একবার টেমপ্লেট ডিজাইন করেন, প্রতিটি ইউজারের পার্সোনাল ভ্যালু পাঠান, আর ফেরত পান Google Wallet-এর save link বা Apple Wallet-এর install link। মোবাইল মার্কেটিং অটোমেশনে এভাবেই পাস পুশ ও ইমেইলের মতো স্বয়ংক্রিয় চ্যানেল হয়ে ওঠে।

API কী, সহজ ভাষায়? API হলো দুটি সফটওয়্যারের মধ্যে কথা বলার নিয়ম। এখানে আপনার সিস্টেম, যেমন একটি ই-কমার্স অ্যাপের অর্ডার ডেটাবেস বা একটি FinTech অ্যাপের রিওয়ার্ড হিসাব, Pushwoosh-কে বলে দেয় কোন কাস্টমারের পাসে কী লেখা থাকবে।

সব টিমের API লাগে না। উদাহরণগুলো Pushwoosh Wallet passes API থেকে, যেখানে প্রতিটি পাস একটি User ID-র সাথে যুক্ত, আর সেই একই User ID আপনার পুশ, ইমেইল ও জার্নি চালায়।

কখন API builder-এর চেয়ে ভালো

পাস ডিজাইন করা আর ছোট বা একবারের পাঠানোর জন্য builder-ই সঠিক টুল। আপনার নিজের সিস্টেমে থাকা ডেটার উপর পাস নির্ভর করলে API দায়িত্ব নেয়।

কাজBuilderAPIJourney ধাপ
টেমপ্লেট ডিজাইনহ্যাঁহ্যাঁনা
1 জন কাস্টমারকে পাস ইস্যুহ্যাঁহ্যাঁহ্যাঁ
হাজারো কাস্টমারকে নিজস্ব ভ্যালুসহ পাস ইস্যুনাহ্যাঁহ্যাঁ
POS বা বুকিং সিস্টেম থেকে রিয়েল-টাইমে আপডেটনাহ্যাঁনা
প্রতি কাস্টমারের কাছের 10টি দোকান বেছে নেওয়ানাহ্যাঁনা

কোড লেখার আগে journey কলামটা দেখুন। ট্রিগার যদি এমন কোনো কাস্টমার অ্যাকশন হয় যা Pushwoosh আগে থেকেই ট্র্যাক করে, তাহলে Customer Journey-র Issue Wallet Pass ধাপেই প্রায়ই কাস্টম কোডের দরকার পড়ে না। যেমন, একটি EdTech অ্যাপে কোর্সে ভর্তির ইভেন্ট থেকেই স্টুডেন্ট কার্ড ইস্যু করা যায়।

টেমপ্লেট ও পার্সোনাল ভ্যালু

দুই প্ল্যাটফর্মেই প্যাটার্ন একই। টেমপ্লেটে থাকে লেআউট, ব্র্যান্ডিং আর field-এর কাঠামো। ইস্যুর সময় প্রতিটি ইউজারের ভ্যালু তাতে বসে।

পার্সোনাল ভ্যালু হলো যা এক কাস্টমার থেকে আরেকজনে বদলায়: নাম, মেম্বার নম্বর, পয়েন্ট, টিয়ার, বারকোড ভ্যালু, মেয়াদ, কাছের দোকান। বাকি সব আসে টেমপ্লেট থেকে, তাই ডিজাইন বদলালে আপনার ইন্টিগ্রেশন না ছুঁয়েই প্রতিটি নতুন পাসে সেটা প্রযোজ্য হয়।

সহজ করে ভাবুন: টেমপ্লেট হলো ছাপানো একটা ফর্ম, আর পার্সোনাল ভ্যালু হলো সেই ফর্মে প্রত্যেক কাস্টমারের নিজের তথ্যের ঘর। একটি ই-কমার্স অ্যাপের লয়্যালটি কার্ডে ফর্মটা সবার জন্য এক, কিন্তু ঘরে বসে প্রত্যেকের নাম, পয়েন্ট আর মেম্বার নম্বর। ফর্ম আপনি 1 বার ডিজাইন করেন, ঘর পূরণ হয় প্রতিটি ইস্যুতে।

Pushwoosh Google Wallet pass builder-এ লয়্যালটি পাসের field আর পার্সোনাল ভ্যালু বসানোর Insert a tag ডায়ালগ

জার্নিতে Issue Wallet Pass ধাপ নেয় Google ও Apple পাস ক্যাম্পেইন (google_campaign_id, apple_campaign_id) আর পূরণ করার জন্য personal_values। 1টি ধাপ একই User ID-তে দুটো ভার্সনই ইস্যু করতে পারে, তাই Android আর iPhone দুই ধরনের কাস্টমারই কভার হয়।

Pushwoosh Customer Journey ক্যানভাস, চ্যানেল তালিকায় Issue wallet pass ধাপসহ

Apple Wallet ফ্লো

Apple pass builder যা করে, তার সবকিছু Apple Wallet PassKit API-তেও পাওয়া যায়: পাস তৈরি, আপডেট, তালিকা, ডাউনলোড ও ডিলিট।

একটি সাধারণ ইন্টিগ্রেশনে 4টি ধাপ।

  1. Validate (যাচাই)

    কিছু তৈরির আগে Apple-এর শর্ত অনুযায়ী পাসের ডেটা যাচাই করুন। ভুল field এখানে ধরা কাস্টমারের ওয়ালেটে ধরার চেয়ে অনেক সস্তা।

  2. Create (তৈরি)

    একটি User ID-র জন্য তার পার্সোনাল ভ্যালুসহ পাস তৈরি করুন। Pushwoosh পাস জেনারেট করে আপনার Pass Type ID সার্টিফিকেট দিয়ে সাইন করে।

  3. Share (শেয়ার)

    ইমেইল, SMS, পুশ বা QR দিয়ে install link শেয়ার করুন।

  4. Update (আপডেট)

    আপনার ডেটা বদলালে পাস আপডেট করুন। Pushwoosh রেজিস্টার্ড ডিভাইসগুলোকে জানায়, আর iOS ব্যাকগ্রাউন্ডে নতুন ভার্সন নিয়ে আসে।

প্রতিটি application-এর জন্য একটি Pass Type ID সার্টিফিকেট (.p12) আর একটি Apple Developer অ্যাকাউন্ট (বছরে $99) লাগে। সেটআপ আছে iOS Wallet pass configuration docs-এ।

Google Wallet ফ্লো

Google Wallet API Google পাসের জন্য একই জীবনচক্র কভার করে। বাংলাদেশ ও পশ্চিমবঙ্গে বেশিরভাগ কাস্টমার Android ব্যবহার করেন, তাই অনেক টিমের জন্য এটাই প্রধান ফ্লো।

  1. Create (তৈরি)

    একটি User ID-র জন্য তার পার্সোনাল ভ্যালুসহ পাস অবজেক্ট তৈরি করুন।

  2. Save link নিন

    save link নিন, যা pay.google.com/gp/v/save/ দিয়ে শুরু হওয়া একটি URL, আর সেটা শেয়ার করুন।

  3. Update (আপডেট)

    পাস আপডেট করুন। পাস যেখানে সেভ আছে, প্রতিটি ডিভাইসে Google পরিবর্তন sync করে দেয়।

  4. State বদলান

    দরকার হলে state বদলান: invalidate, আবার activate বা delete।

Google Pay & Wallet Console থেকে একটি Issuer ID লাগে, আর আপনার issuer-এ Pushwoosh service account invite করতে হয়। এটা প্রতিটি application-এর জন্য একবারের কাজ। সেটআপ আছে Google Wallet configuration docs-এ।

See Pushwoosh in action
Request a demo

বড় স্কেলে আপডেট

API-র আসল মূল্য আপডেটে। পয়েন্টের হিসাব বা বুকিং সিস্টেম ভ্যালু বদলানোর মুহূর্তেই পাস আপডেট করতে পারে, তাই কাস্টমারের ওয়ালেটের কার্ড আপনার মূল ডেটার সাথে মিলে থাকে। ঈদ বা ১১.১১ সেলের মতো ব্যস্ত সময়ে এটা বিশেষ কাজে আসে, যখন একসাথে অনেক কাস্টমারের ব্যালান্স বদলায়।

FinTech অ্যাপে এটা আরও জরুরি। bKash, Nagad জাতীয় মোবাইল ফাইনান্সিয়াল সার্ভিসের দেশে ওয়ালেটের কার্ডে ভুল ব্যালান্স দেখানো শুধু অসুবিধা নয়, আস্থার প্রশ্ন। ট্রানজ্যাকশনাল নোটিফিকেশন আর পাস আপডেট একই User ID আর একই ডেটা থেকে চালালে দুই জায়গায় দুই রকম সংখ্যা দেখানোর ঝুঁকি কমে।

বড় আপডেট নিরাপদ রাখার 3টি নিয়ম:

  • বর্তমান পাস থেকে শুরু করুন। Apple-এর আপডেট পুরো পাস অবজেক্ট নেয়, তাই পাসটা নিয়ে এসে শুধু বদলানো ভ্যালুগুলো পাল্টান। Google-এর আপডেট অবজেক্টকে patch করে।
  • অ্যালার্ট field ধরে ঠিক করুন। Google-এ notifyOnUpdate Google-এর নিজের অ্যালার্ট চায়, যা শুধু loyalty, event ticket ও flight পাসে যায়, প্রতি পাসে 24 ঘণ্টায় সর্বোচ্চ 3টি। notifyMessage যেকোনো পাস টাইপে আপনার নিজের Android notification টেক্সট পাঠায়। Apple-এ শুধু change message থাকা field লক-স্ক্রিন অ্যালার্ট দেখায়।
  • অ্যালার্ট পাস নিয়েই রাখুন। Apple আর Google পাস সম্পর্কিত notification-এর অনুমতি দেয়, প্রমোশনের নয়।

কোড উদাহরণ

দুটো API-ই বেস URL https://apple-passkit.svc-nue.pushwoosh.com ব্যবহার করে, আর Authorization: Token <api-token> header-এ আপনার Pushwoosh API access token। নিচের request body-গুলো API রেফারেন্সের উদাহরণ।

Apple Wallet পাস তৈরি: POST /api/pass/create। Response-এ পাসের serialNumber আসে।

{
"applicationCode": "XXXXX-XXXXX",
"userId": "user-123",
"pass": {
"description": "Acme loyalty card",
"logoText": "Acme",
"backgroundColor": "rgb(60, 65, 76)",
"foregroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(255, 255, 255)",
"storeCard": {
"primaryFields": [
{ "key": "balance", "label": "BALANCE", "value": "1200 pts" }
],
"secondaryFields": [
{ "key": "member", "label": "MEMBER", "value": "Jane Doe" }
]
},
"barcodes": [
{
"format": "PKBarcodeFormatQR",
"message": "1234567890",
"messageEncoding": "iso-8859-1"
}
]
},
"images": [
{ "imageType": "icon", "data": "<base64>", "contentType": "image/png" },
{ "imageType": "logo", "data": "<base64>", "contentType": "image/png" }
]
}

Google Wallet পাস তৈরি: POST /api/google/pass/create। Response-এ serialNumber আর একটি saveLink আসে।

{
"applicationCode": "XXXXX-XXXXX",
"userId": "user-123",
"pass": {
"hexBackgroundColor": "#3c414c",
"logoUrl": "https://cdn.acme.com/logo.png",
"loyalty": {
"programName": "Acme Rewards",
"accountName": "Jane Doe",
"accountId": "1234567890",
"pointsLabel": "Points",
"pointsBalance": "1200",
"rewardsTier": "Gold"
},
"barcode": {
"format": "QR_CODE",
"value": "1234567890"
}
}
}

আপডেট করতে serial number-সহ নতুন কন্টেন্ট পাঠান: Apple-এর জন্য POST /api/pass/update/{serialNumber}, Google-এর জন্য POST /api/google/pass/update/{serialNumber}।

Builder, API নাকি journey: সহজ নিয়ম

ডিজাইন ও টেস্টের জন্য builder ব্যবহার করুন। ট্রিগার যখন Pushwoosh-এ আগে থেকেই থাকা কোনো কাস্টমার ইভেন্ট, যেমন সাইনআপ বা প্রথম কেনাকাটা, তখন journey ধাপ। ট্রিগার বা ডেটা যখন আপনার backend-এ, তখন API।

বেশিরভাগ টিম শেষ পর্যন্ত 3টিই ব্যবহার করে, আর সেটাই ঠিক: ডিজাইনের জন্য builder, জীবনচক্রের মুহূর্তের জন্য জার্নি, রিয়েল-টাইম ব্যালান্স ও স্ট্যাটাসের জন্য API। ভুল হলো 1টি টুলকে দিয়ে বাকিদের কাজ জোর করে করানো।

Pushwoosh দিয়ে প্রতিটি পাস বড় স্কেলে পার্সোনালাইজ করুন

Pushwoosh নেটিভ Apple ও Google Wallet পাসের জন্য দেয় ভিজ্যুয়াল builder, একটি journey ধাপ আর একটি API, মাঝখানে আলাদা কোনো পাস ভেন্ডর ছাড়াই। প্রতিটি পাস আপনার পুশ, ইন-অ্যাপ, ইমেইল ও SMS-এর সাথে একই User ID শেয়ার করে, তাই 1 সেট ডেটা প্রতিটি চ্যানেল চালায়।

বড় স্কেলে পার্সোনালাইজেশন মানে বেশি টেমপ্লেট নয়। মানে 1টি নির্ভরযোগ্য ডেটার উৎস, যার প্রতিফলন প্রতিটি ওয়ালেটের প্রতিটি কার্ডে।

Wallet passes ডেমো বুক করুন
Wallet passes ডেমো বুক করুন

FAQ


Pushwoosh Team
Content Team এ Pushwoosh
শেয়ার করুন

সম্পর্কিত আর্টিকেল

সব দেখুন