SocialHub.AI
แหล่งข้อมูล · ศูนย์นักพัฒนา

กระเป๋าเงิน (Apple & Google)

ออกบัตรสมาชิกที่มีแบรนด์โดยตรงไปที่ Apple Wallet หรือ Google Wallet — ฝั่งเซิร์ฟเวอร์ที่ลงนามแล้ว ไม่ต้องใช้แอป การ์ด Apple จะอัปเดตตัวเองทันทีที่คะแนนหรือระดับของสมาชิกเปลี่ยนแปลง

การออกบัตรสำหรับ ทั้งสองแพลตฟอร์ม และบริการเว็บอัปเดต Apple PassKit แบบเต็มรูปแบบ ใช้งานได้จริงในโค้ดแล้ววันนี้ จำเป็นต้องใช้ข้อมูลประจำตัวกระเป๋าเงินของคุณ (Apple รหัสประเภทบัตรผ่าน + ใบรับรองการลงนาม; Google ผู้ออกบัตร + บัญชีบริการ) ที่กำหนดค่าไว้กับทีม SocialHub

สิ่งที่คุณได้รับ

การออกฝั่งเซิร์ฟเวอร์สด

.pkpass ที่ลงนามจะถูกสร้างขึ้นฝั่งเซิร์ฟเวอร์และสตรีมไปยังสมาชิก — ไม่มีรหัสการลงนามผ่านแบบเนทีฟในแอปของคุณ และไม่มีการเปิดตัวแอปเพื่อเปลี่ยนการออกแบบการ์ด

การอัปเดตบัตรอัตโนมัติสด

คะแนนหรือการเปลี่ยนระดับ → การอัปเดต APN แบบเงียบถูกผลัก → อุปกรณ์ดึงข้อมูลบัตรผ่านอีกครั้ง บัตรสมาชิกยังคงอยู่โดยไม่มีรหัสแอปเป็นศูนย์

วงจรชีวิตที่สะอาดสด

หมายเลขซีเรียลบัตรสมาชิกที่ถูกลบจะส่งคืน 410 Gone ดังนั้น Wallet จึงลบบัตรที่หมดอายุอย่างนุ่มนวล Cron จะตรวจสอบวันหมดอายุของใบรับรองการลงนามของคุณ

Apple + Googleสด

ทั้งสองแพลตฟอร์มออกบัตรจากปลายทางเดียวในปัจจุบัน: Apple ส่งคืน .pkpass ที่ลงชื่อแล้ว; Google ส่งคืนลิงก์บันทึก (การอัปเดตอัตโนมัติแบบเงียบคือ Apple PassKit; Google บัตรจะรีเฟรชเมื่อเปิด)

ออกบัตร สด

เรียกใช้ฟังก์ชันนี้จากภายใน WebView ของสมาชิกที่ลงชื่อเข้าใช้แล้ว — ดูคู่มือ Member Portal Embed สำหรับขั้นตอนการใช้งาน

// The signed-in member's app requests their card. teamId + memberId come from the
// consumer SESSION (never the body) — the body only selects the platform.
POST https://flash.socialhub.ai/api/consumer/wallet/issue
Content-Type: application/json
{ "platform": "apple" }          // "apple" | "google"

// Apple → 200  Content-Type: application/vnd.apple.pkpass
//              Content-Disposition: attachment; filename="loyalty-<serial>.pkpass"
//              (the response body IS the signed .pkpass — hand it to "Add to Apple Wallet")
// Google → 200 { "saveUrl": "https://pay.google.com/gp/v/save/…" }
//              (redirect the member to saveUrl → "Save to Google Wallet")
//
// Wallet not configured for that platform → DomainError WALLET_NOT_CONFIGURED.

การอัปเดตจะเกิดขึ้นโดยอัตโนมัติ สด

// You do NOT write update code. SocialHub hosts the standard Apple PassKit update
// web service, so the card stays current on its own:
//
//   1. The pass registers the device when added to Wallet
//        POST /api/wallet/apple/v1/devices/{deviceId}/registrations/{passTypeId}/{serial}
//   2. A points / tier change enqueues a silent APNs push to the device
//   3. The device re-fetches the latest pass
//        GET  /api/wallet/apple/v1/passes/{passTypeId}/{serial}
//
// These endpoints are called by Apple's device, not by your app — listed here for
// transparency. A removed / unenrolled member's serial returns 410 Gone (not 500),
// so Wallet cleanly drops a stale card.

ก่อนที่คุณจะเปิดใช้งานจริง

Apple รหัสประเภทรหัสผ่าน

ลงทะเบียนรหัสประเภทบัตรในบัญชีนักพัฒนา Apple ของคุณ (ตัวระบุ → รหัสประเภทบัตร) และแบ่งปันกับทีม SocialHub ของคุณ

ผ่านใบรับรองการลงนาม

สร้างใบรับรองการลงนามรหัสผ่านสำหรับ Pass Type ID นั้น .pkpass แต่ละอันมีการเซ็นชื่อด้วยฝั่งเซิร์ฟเวอร์ cron เฝ้าดูการหมดอายุของมัน ดังนั้นมันจึงไม่เคยผ่านไปอย่างเงียบ ๆ

รหัสการตรวจสอบสิทธิ์ APN (.p8)

ระบุคีย์การตรวจสอบสิทธิ์ APN (รหัสคีย์ + รหัสทีม) เพื่อให้ SocialHub สามารถส่งการแจ้งเตือนการอัปเดตแบบเงียบที่ทำให้การ์ด Apple เป็นปัจจุบัน

ผู้ออก Google Wallet

สำหรับการ์ด Google ให้ระบุรหัสผู้ออก Google Wallet และรหัสบัญชีบริการ SocialHub สร้างลิงก์บันทึกฝั่งเซิร์ฟเวอร์ที่ลงนามแล้ว

หมายเหตุ: ต้องใช้บัญชีนักพัฒนา Apple ในโปรแกรมนักพัฒนา Apple แบบชำระเงินเพื่อสร้างรหัสประเภทรหัสผ่านและใบรับรองการลงนามผ่าน

รายการตรวจสอบการยอมรับ

บัตร .pkpass จริงที่ออกโดย POST /wallet/issue (แพลตฟอร์ม: Apple) จะติดตั้งบนอุปกรณ์และแสดงคะแนน/ระดับปัจจุบันของสมาชิก

แพลตฟอร์มที่ร้องขอ: Google ส่งคืน saveUrl ที่เพิ่มการ์ดไปที่ Google Wallet

การเปลี่ยนคะแนนของสมาชิกจะรีเฟรชการ์ด Apple ที่ติดตั้งภายในไม่กี่วินาที โดยไม่มีการโต้ตอบกับแอป

การออกแพลตฟอร์มที่ไม่มีข้อมูลรับรองที่กำหนดค่าจะส่งคืน WALLET_NOT_CONFIGURED ไม่ใช่ไฟล์ที่เสียหาย

หมายเลขซีเรียลของบัตร Apple ของสมาชิกที่ถูกลบจะส่งคืน 410 Gone และ Wallet จะยกเลิกบัตร — ไม่ใช่ 500

การตั้งค่าบัตร Wallet?

พูดคุยกับวิศวกรเกี่ยวกับ Apple รหัสประเภทบัตรผ่าน, ใบรับรองการลงนาม, คีย์ APN หรือ Google Wallet การตั้งค่าผู้ออกบัตร

คุยกับวิศวะ