Elune Connections

Partner-API-Dokumentation

Vollständige Referenz zur Integration von Apple Wallet- und Google Wallet-Benachrichtigungen

1

1. Authentifizierung

Alle API-Anfragen müssen Ihren API-Schlüssel im Anfrage-Header enthälten.

Fügen Sie diesen Header jeder API-Anfrage hinzu.
Header
X-API-Key: your_api_key_here
Halten Sie Ihren API-Schlüssel sicher. Exponieren Sie ihn nicht in Frontend-Code oder öffentlichen Repositories.

Wie Sie Ihren API-Schlüssel erhälten

Melden Sie sich im Elune-Dashboard an und gehen Sie zu Einstellungen → API. Dort finden Sie Ihren Schlüssel und können ihn bei Bedarf neu generieren.

2

2. Unternehmensregistrierung

Registrieren Sie ein neues Unternehmen im System. Dies ist der erste Schritt zur Nutzung der API.

POST /register

Erstellt ein neues Unternehmenskonto mit den angegebenen Daten.

Feld Typ Pflichtfeld Beschreibung
namestringJaUnternehmensname
emailstringJaKontakt-E-Mail-Adresse
phonestringNeinKontakttelefonnummer
addressstringNeinPhysische Adresse
Beispielanfrage
{
  "name": "Mi Empresa SL",
  "email": "info@miempresa.com",
  "phone": "+34 600 000 000"
}
Beispielantwort
{
  "id": "emp_a1b2c3d4",
  "api_key": "ek_live_xxxxxxxxxxxxxxxxxxxx",
  "created_at": "2025-01-15T10:30:00Z"
}
Speichern Sie den zurückgegebenen API-Schlüssel — er wird nur einmal angezeigt und kann nicht wiederhergestellt werden.
3

3. Konfiguration

Aktualisieren Sie die visuellen Einstellungen Ihres Unternehmens und die Standardwerte für Benachrichtigungen.

PUT /company/config

Aktualisiert die Unternehmenskonfiguration. Teilaktualisierungen werden unterstützt — senden Sie nur die zu ändernden Felder.

Feld Typ Pflichtfeld Beschreibung
colorstringNeinPrimärfarbe der Marke (hex)
textColorstringNeinTextfarbe (hex)
notificationTitlestringNeinStandard-Benachrichtigungstitel
pointsNamestringNeinBenutzerdefinierter Name für Ihre Punkte (z. B. Sterne, Credits)
rewardsEnabledbooleanNeinPrämienkatalog aktivieren / deaktivieren
Markenfarben werden auf alle vom Unternehmen ausgestellten Karten angewendet, sofern sie nicht auf Kartenmodellebene überschrieben werden.
4

4. Kartenmodelle (Referencias)

Kartenmodelle definieren die visuelle Vorlage für eine Reihe von ausgestellten Karten. Sie können mehrere Modelle haben, jedes mit eigenem Design.

POST /refs

Erstellt ein neues Kartenmodell mit der angegebenen Konfiguration.

Feld Typ Pflichtfeld Beschreibung
namestringJaAnzeigename des Modells
descriptionstringNeinKurze Beschreibung (auf der Karte angezeigt)
colorstringNeinAlternative Primärfarbe (hex)
textColorstringNeinAlternative Textfarbe (hex)
pointsEnabledbooleanNeinTreuepunkte für dieses Modell aktivieren
rewardsEnabledbooleanNeinPrämienkatalog für dieses Modell aktivieren
GET /refs

Gibt alle Kartenmodelle Ihres Unternehmens zurück.

PUT /refs/:refId

Aktualisiert ein bestimmtes Kartenmodell. Teilaktualisierungen werden unterstützt.

DELETE /refs/:refId

Löscht ein Kartenmodell. Bereits ausgestellte Karten sind nicht betroffen.

5

5. Ausgestellte Karten

Ausgestellte Karten sind die eigentlichen digitalen Pässe, die Endnutzer zu Apple Wallet oder Google Wallet hinzufügen.

POST /cards

Erstellt eine neue Karte für einen Endnutzer. Gibt die Pass-URL zurück, die geteilt oder in einen QR-Code eingebettet werden kann.

Feld Typ Pflichtfeld Beschreibung
refIdstringJaID des Kartenmodells
userNamestringJaVollständiger Name des Nutzers
userEmailstringNeinE-Mail-Adresse des Nutzers
userPhonestringNeinTelefonnummer des Nutzers
customFieldsobjectNeinSchlüssel-Wert-Objekt mit zusätzlichen Nutzerfeldern
Beispielantwort
{
  "cardId": "card_x9y8z7w6",
  "passUrl": "https://wallet.eluneconnections.com/pass/card_x9y8z7w6",
  "qrCode": "data:image/png;base64,..."
}
GET /cards/:cardId

Ruft den aktuellen Status einer bestimmten Karte ab.

GET /cards

Listet alle vom Unternehmen oder einem bestimmten Modell ausgestellten Karten auf.

DELETE /cards/:cardId

Deaktiviert eine Karte. Der Nutzer erhält keine Benachrichtigungen mehr.

6

6. Benachrichtigungen

Senden Sie Push-Benachrichtigungen direkt auf den Sperrbildschirm der Nutzer, die Ihre Karte haben.

POST /notifications/bulk

Sendet eine Benachrichtigung an alle Karten oder filtert nach Feldwerten.

Feld Typ Pflichtfeld Beschreibung
titlestringJaBenachrichtigungstitel (max. 40 Zeichen)
bodystringJaBenachrichtigungstext (max. 120 Zeichen)
filtersarrayNeinArray von Filterobjekten zur Zielgruppenauswahl
Jedes Filterobjekt hat drei Schlüssel: field (string), operator (eq / neq / contains / gt / lt) und value.
Beispielanfrage
{
  "title": "¡Oferta especial!",
  "body": "2x1 en cafés hoy hasta las 18h ☕",
  "filters": [
    { "field": "city", "operator": "eq", "value": "Barcelona" }
  ]
}
POST /notifications/single

Sendet eine Benachrichtigung an eine bestimmte Karte anhand ihrer ID.

Feld Typ Pflichtfeld Beschreibung
cardIdstringJaID der Zielkarte
titlestringJaBenachrichtigungstitel (max. 40 Zeichen)
bodystringJaBenachrichtigungstext (max. 120 Zeichen)
7

7. Punkte & Prämien

Verwalten Sie Treuepunkte und einen einlösbaren Prämienkatalog.

POST /points/add

Fügt einer oder mehreren Karten Punkte hinzu (Massen- oder Einzelaktion).

Feld Typ Pflichtfeld Beschreibung
pointsnumberJaAnzahl der hinzuzufügenden oder abzuziehenden Punkte
conceptstringNeinTransaktionsbezeichnung im Verlauf
cardIdstringNeinID der Zielkarte
filtersarrayNeinArray von Filterobjekten zur Zielgruppenauswahl
POST /points/subtract

Zieht Punkte von einer oder mehreren Karten ab.

GET /points/balance/:cardId

Ruft das aktuelle Punkteguthaben einer Karte ab.

GET /points/history/:cardId

Ruft den vollständigen Transaktionsverlauf einer Karte ab.

POST /rewards/redeem

Löst eine Prämie für eine Karte ein.

Feld Typ Pflichtfeld Beschreibung
cardIdstringJaID der Zielkarte
rewardIdstringJaID der einzulösenden Prämie
GET /rewards

Listet alle Prämien in Ihrem Katalog auf.

8

8. Webhooks

Registrieren Sie einen HTTPS-Endpunkt, um Echtzeit-Ereignisse von Elune zu empfangen.

POST /webhooks

Registriert eine Webhook-URL für einen bestimmten Ereignistyp.

Feld Typ Pflichtfeld Beschreibung
urlstringJaIhre HTTPS-Endpunkt-URL
eventstringJaEreignistyp, den Sie abonnieren möchten

Verfügbare Ereignistypen

card.addedEine neue Karte wurde zu einem Wallet hinzugefügt
card.deletedEine Karte wurde aus einem Wallet gelöscht
points.addedPunkte wurden einer Karte hinzugefügt
reward.redeemedEin Nutzer hat eine Prämie eingelöst
Webhook-Payloads sind mit HMAC-SHA256 signiert. Überprüfen Sie den X-Elune-Signature-Header, um die Authentizität sicherzustellen.
Wenn Ihr Endpunkt einen Nicht-2xx-Status zurückgibt, versucht Elune es bis zu 3 Mal mit exponentiellem Backoff erneut.
GET /webhooks

Listet alle registrierten Webhooks Ihres Unternehmens auf.

DELETE /webhooks/:webhookId

Löscht eine Webhook-Registrierung.

9

9. Bilder

Laden Sie Logos und Banner für Ihr Unternehmen oder bestimmte Kartenmodelle hoch.

POST /images/logo

Upload per URL Geben Sie eine öffentlich zugängliche Bild-URL an.

Upload per Datei Laden Sie die Bilddatei direkt hoch.

POST /images/banner

Geben Sie eine öffentlich zugängliche Bild-URL an.

Banner-Auflösungsreihenfolge
  1. Modell-Banner
  2. Unternehmens-Banner
  3. Standard-Banner

Legen Sie ein Banner auf Unternehmensebene als Fallback fest und überschreiben Sie es pro Kartenmodell.

10

10. Fehlerbehandlung

Alle Fehlerantworten folgen einem einheitlichen Format.

Beispielantwort
{
  "error": "invalid_api_key",
  "message": "The provided API key is missing or invalid.",
  "statusCode": 401
}
Häufige HTTP-Statuscodes Beschreibung
200Anfrage erfolgreich
201Ressource erstellt
202Für asynchrone Verarbeitung akzeptiert
400Ungültige Anfrage
401Fehlender oder ungültiger API-Schlüssel
403Kontingent überschritten
404Ressource nicht gefunden
500Interner Serverfehler
11

Schnellreferenz — Alle Endpunkte

Methode Pfad Auth Beschreibung
POST/registerKeineUnternehmen registrieren
PUT/company/configAPI KeyKonfiguration aktualisieren
POST/images/bannerAPI KeyBanner hochladen
POST/images/logoAPI KeyLogo hochladen
POST/refsAPI KeyKartenmodell erstellen
GET/refsAPI KeyModelle auflisten
PUT/refs/:refIdAPI KeyModell aktualisieren
DELETE/refs/:refIdAPI KeyModell löschen
POST/cardsAPI KeyKarte erstellen
GET/cards/:cardIdAPI KeyKartenstatus
GET/cardsAPI KeyKarten auflisten
DELETE/cards/:cardIdAPI KeyKarte deaktivieren
POST/notifications/bulkAPI KeyMassenbenachrichtigung
POST/notifications/singleAPI KeyEinzelbenachrichtigung
POST/points/addAPI KeyPunkte hinzufügen
POST/points/subtractAPI KeyPunkte abziehen
GET/points/balance/:idAPI KeyGuthaben
GET/points/history/:idAPI KeyVerlauf
POST/rewards/redeemAPI KeyEinlösen
GET/rewardsAPI KeyPrämien
POST/webhooksAPI KeyUnternehmen registrieren
GET/webhooksAPI KeyModelle auflisten
DELETE/webhooks/:idAPI KeyModell löschen
POST/register
Unternehmen registrieren
PUT/company/config
Konfiguration aktualisieren
POST/refs
Kartenmodell erstellen
POST/cards
Karte erstellen
POST/notifications/bulk
Massenbenachrichtigung
POST/notifications/single
Einzelbenachrichtigung
POST/points/add
Punkte hinzufügen
POST/rewards/redeem
Einlösen