Documentación de la Partner API

Referencia completa para integrar notificaciones Apple Wallet y Google Wallet

URL Base
https://api.eluneconnections.com/v1
Autenticación
API Key en cabecera
Postman
1

1. Autenticación

Todas las peticiones a la API deben incluir tu API Key en la cabecera de la petición.

Incluye esta cabecera en todas las peticiones a la API.
Cabecera
X-API-Key: your_api_key_here
Mantén tu API Key segura. No la expongas en código de frontend ni en repositorios públicos.

Inicia sesión en el panel de Elune y ve a Configuración → API. Allí encontrarás tu clave y podrás regenerarla si es necesario.

2

2. Registro de empresa

Registra una nueva empresa en el sistema. Este es el primer paso para comenzar a usar la API.

POST /register

Crea una nueva cuenta de empresa con los datos proporcionados.

Campo Tipo Obligatorio Descripción
namestringNombre de la empresa
emailstringCorreo electrónico de contacto
phonestringNoTeléfono de contacto
addressstringNoDirección física
Ejemplo de petición
{
  "name": "Mi Empresa SL",
  "email": "info@miempresa.com",
  "phone": "+34 600 000 000"
}
Ejemplo de respuesta
{
  "id": "emp_a1b2c3d4",
  "api_key": "ek_live_xxxxxxxxxxxxxxxxxxxx",
  "created_at": "2025-01-15T10:30:00Z"
}
Guarda la API key devuelta — se muestra una sola vez y no puede recuperarse.
3

3. Configuración

Actualiza los ajustes visuales de tu empresa y los valores por defecto de las notificaciones.

PUT /company/config

Actualiza la configuración de la empresa. Se aceptan actualizaciones parciales.

Campo Tipo Obligatorio Descripción
colorstringNoColor primario de marca (hex)
textColorstringNoColor del texto (hex)
notificationTitlestringNoTítulo de notificación por defecto
pointsNamestringNoNombre personalizado para los puntos
rewardsEnabledbooleanNoActivar/desactivar catálogo de recompensas
Los colores de marca se aplican a todas las tarjetas emitidas por tu empresa salvo que se sobreescriban a nivel de modelo.
4

4. Modelos de tarjeta

Los modelos de tarjeta definen la plantilla visual para un conjunto de tarjetas emitidas.

POST /refs

Crea un nuevo modelo de tarjeta con la configuración indicada.

Campo Tipo Obligatorio Descripción
namestringNombre del modelo
descriptionstringNoDescripción corta (visible en la tarjeta)
colorstringNoColor primario alternativo (hex)
textColorstringNoColor del texto alternativo (hex)
pointsEnabledbooleanNoActivar puntos de fidelidad para este modelo
rewardsEnabledbooleanNoActivar catálogo de recompensas para este modelo
GET /refs

Devuelve todos los modelos de tarjeta de tu empresa.

PUT /refs/:refId

Actualiza un modelo de tarjeta específico. Se aceptan actualizaciones parciales.

DELETE /refs/:refId

Elimina un modelo de tarjeta. Las tarjetas ya emitidas no se ven afectadas.

5

5. Tarjetas emitidas

Las tarjetas emitidas son los passos digitales reales que los usuarios finales añaden a Apple Wallet o Google Wallet.

POST /cards

Crea una nueva tarjeta para un usuario final. Devuelve la URL del pase para compartir o incrustar en un QR.

Campo Tipo Obligatorio Descripción
refIdstringID del modelo de tarjeta
userNamestringNombre completo del usuario
userEmailstringNoCorreo electrónico del usuario
userPhonestringNoTeléfono del usuario
customFieldsobjectNoObjeto clave-valor con campos extra
Ejemplo de respuesta
{
  "cardId": "card_x9y8z7w6",
  "passUrl": "https://wallet.eluneconnections.com/pass/card_x9y8z7w6",
  "qrCode": "data:image/png;base64,..."
}
GET /cards/:cardId

Obtiene el estado actual de una tarjeta específica.

GET /cards

Lista todas las tarjetas emitidas por tu empresa o un modelo específico.

DELETE /cards/:cardId

Desactiva una tarjeta. El usuario dejará de recibir notificaciones.

6

6. Notificaciones

Envía notificaciones push directamente a la pantalla de bloqueo de los usuarios que tienen tu tarjeta.

POST /notifications/bulk

Envía una notificación a todas las tarjetas, o filtra por valores de campo.

Campo Tipo Obligatorio Descripción
titlestringTítulo de la notificación (máx. 40 chars)
bodystringCuerpo de la notificación (máx. 120 chars)
filtersarrayNoArray de filtros para segmentar destinatarios
Cada objeto de filtro tiene tres claves: field (string), operator (eq / neq / contains / gt / lt) y value.
Ejemplo de petición
{
  "title": "¡Oferta especial!",
  "body": "2x1 en cafés hoy hasta las 18h ☕",
  "filters": [
    { "field": "city", "operator": "eq", "value": "Barcelona" }
  ]
}
POST /notifications/single

Envía una notificación a una tarjeta específica por su ID.

Campo Tipo Obligatorio Descripción
cardIdstringID de la tarjeta destinataria
titlestringTítulo de la notificación
bodystringCuerpo de la notificación
7

7. Puntos y recompensas

Gestiona puntos de fidelidad y un catálogo de recompensas canjeables.

POST /points/add

Añade puntos a una o más tarjetas (masivo o individual).

Campo Tipo Obligatorio Descripción
pointsnumberNúmero de puntos a añadir
conceptstringNoEtiqueta de transacción para el historial
cardIdstringNoID de tarjeta (omitir para masivo con filtros)
filtersarrayNoFiltros para seleccionar destinatarios
POST /points/subtract

Resta puntos de una o más tarjetas.

GET /points/balance/:cardId

Obtiene el saldo de puntos actual de una tarjeta.

GET /points/history/:cardId

Obtiene el historial completo de transacciones de una tarjeta.

POST /rewards/redeem

Canjea una recompensa para una tarjeta.

Campo Tipo Obligatorio Descripción
cardIdstringID de la tarjeta
rewardIdstringID de la recompensa a canjear
GET /rewards

Lista todas las recompensas del catálogo de tu empresa.

8

8. Webhooks

Registra un endpoint HTTPS para recibir eventos en tiempo real de Elune.

POST /webhooks

Registra una URL de webhook para un tipo de evento específico.

Campo Tipo Obligatorio Descripción
urlstringTu URL de endpoint HTTPS
eventstringTipo de evento al que suscribirse

Tipos de eventos disponibles

card.addedSe añadió una nueva tarjeta a un wallet
card.deletedSe eliminó una tarjeta de un wallet
points.addedSe añadieron puntos a una tarjeta
reward.redeemedUn usuario canjeó una recompensa
Los payloads de webhook están firmados con HMAC-SHA256. Verifica la cabecera X-Elune-Signature para garantizar la autenticidad.
Si tu endpoint devuelve un estado distinto de 2xx, Elune reintentará hasta 3 veces con retroceso exponencial.
GET /webhooks

Lista todos los webhooks registrados de tu empresa.

DELETE /webhooks/:webhookId

Elimina un registro de webhook.

9

9. Imágenes

Sube logotipos y banners para tu empresa o modelos de tarjeta específicos.

POST /images/logo

Por URL: Proporciona una URL de imagen accesible públicamente.

Por archivo: Sube el archivo de imagen directamente (multipart/form-data).

POST /images/banner

Proporciona una URL de imagen accesible públicamente o sube el archivo directamente.

Orden de resolución del banner:
  1. Banner de la referencia
  2. Banner de la empresa
  3. Banner por defecto

Puedes fijar un banner a nivel de empresa como fallback y sobreescribirlo por modelo de tarjeta.

10

10. Gestión de errores

Todas las respuestas de error siguen un formato consistente.

Formato de error
{
  "error": "invalid_api_key",
  "message": "The provided API key is missing or invalid.",
  "statusCode": 401
}
Código HTTP Descripción
200Petición correcta
201Recurso creado
202Aceptado para procesamiento asíncrono
400Petición inválida
401API Key faltante o inválida
403Cuota excedida
404Recurso no encontrado
500Error interno del servidor

Referencia rápida — Todos los endpoints

Método Ruta Auth Descripción
POST/registerNingunaRegistrar empresa
PUT/company/configAPI KeyActualizar configuración
POST/images/bannerAPI KeySubir banner
POST/images/logoAPI KeySubir logo
POST/refsAPI KeyCrear modelo de tarjeta
GET/refsAPI KeyListar modelos
PUT/refs/:refIdAPI KeyActualizar modelo
DELETE/refs/:refIdAPI KeyEliminar modelo
POST/cardsAPI KeyCrear tarjeta
GET/cards/:cardIdAPI KeyEstado de tarjeta
GET/cardsAPI KeyListar tarjetas
DELETE/cards/:cardIdAPI KeyDesactivar tarjeta
POST/notifications/bulkAPI KeyNotificación masiva
POST/notifications/singleAPI KeyNotificación individual
POST/points/addAPI KeyAñadir puntos
POST/points/subtractAPI KeyRestar puntos
GET/points/balance/:idAPI KeySaldo
GET/points/history/:idAPI KeyHistorial
POST/rewards/redeemAPI KeyCanjear
GET/rewardsAPI KeyRecompensas
POST/webhooksAPI KeyRegistrar webhook
GET/webhooksAPI KeyListar webhooks
DELETE/webhooks/:idAPI KeyEliminar webhook
POST/register
Registrar empresa
PUT/company/config
Actualizar configuración
POST/refs
Crear modelo
POST/cards
Crear tarjeta
POST/notifications/bulk
Notificación masiva
POST/notifications/single
Notificación individual
POST/points/add
Añadir puntos
POST/rewards/redeem
Canjear recompensa