SocialHub.AI
Recursos · Centro para desarrolladores

Cartera (Apple y Google)

Emita una tarjeta de membresía personalizada directamente a Apple Wallet o Google Wallet, firmada en el servidor, sin necesidad de una aplicación. Las tarjetas Apple se actualizan automáticamente en cuanto cambian los puntos o el nivel del miembro.

La emisión para ambas plataformas y el servicio web completo de actualización de Apple PassKit ya están disponibles en el código. Requieren las credenciales de tu monedero (Apple ID de tipo de pase + certificado de firma; Google emisor + cuenta de servicio) configuradas con el equipo de SocialHub.

¿Qué obtienes?

Emisión del lado del servidorEn vivo

Un .pkpass firmado se genera en el servidor y se transmite al miembro: no hay código de firma de pase nativo en su aplicación ni ninguna versión de la aplicación para cambiar el diseño de la tarjeta.

Actualizaciones automáticas de tarjetasEn vivo

Cambio de puntos o nivel → se envía una actualización silenciosa de APNs → el dispositivo vuelve a obtener el pase. La tarjeta de membresía permanece activa sin código de aplicación.

Ciclo de vida limpioEn vivo

El número de serie del pase de un miembro eliminado devuelve 410 (Gone), por lo que Wallet descarta la tarjeta caducada sin problemas. Un cron supervisa la caducidad de su certificado de firma.

Apple + GoogleEn vivo

Ambas plataformas emiten actualmente desde un único punto final: Apple devuelve un archivo .pkpass firmado; Google devuelve un enlace para guardar. (Actualización automática silenciosa: Apple PassKit; Google las tarjetas se actualizan al abrirlas).

Emitir una tarjeta En vivo

Acceda a esta función desde la WebView del miembro registrado. Consulte la guía Insertar portal del miembro para ver el flujo de la sesión.

// 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.

Las actualizaciones se producen por sí solas. En vivo

// 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.

Antes de la puesta en marcha

Apple ID de tipo de pase

Registre un ID de tipo de pase en su Apple cuenta de desarrollador (Identificadores → ID de tipo de pase) y compártalo con su equipo de SocialHub.

Pase el certificado de firma

Genere el certificado de firma de pase para ese ID de tipo de pase. Cada .pkpass está firmado en el lado del servidor; un cron vigila su vencimiento para que nunca caduque silenciosamente.

Clave de autenticación de APNs (.p8)

Proporcione una clave de autenticación de APN (ID de clave + ID de equipo) para que SocialHub pueda enviar las notificaciones de actualización silenciosas que mantienen actualizada la tarjeta Apple.

Google Wallet emisor

Para las tarjetas Google, proporcione su ID de emisor Google Wallet y una clave de cuenta de servicio. SocialHub crea el enlace de guardado firmado en el lado del servidor.

Nota: se requiere una cuenta de desarrollador Apple en el programa de desarrollador Apple pago para crear un ID de tipo de pase y un certificado de firma de pase.

Lista de verificación de aceptación

Un archivo .pkpass real emitido desde POST /wallet/issue (plataforma: apple) se instala en un dispositivo y muestra los puntos/nivel actuales del miembro.

Plataforma solicitante: google devuelve una saveUrl que agrega la tarjeta a Google Wallet.

Cambiar los puntos del miembro actualiza la tarjeta Apple instalada en segundos, sin interacción con la aplicación.

Al intentar acceder a una plataforma sin credenciales configuradas, se devuelve WALLET_NOT_CONFIGURED, no un archivo dañado.

El número de serie del pase Apple de un miembro eliminado devuelve 410 Gone, y Wallet descarta la tarjeta; nunca un 500.

¿Configurando tarjetas Wallet?

Consulta con un ingeniero sobre los ID de tipo de pase Apple, los certificados de firma, las claves APNs o la configuración del emisor Google Wallet.

hablar con ingenieria