Documentation de la Partner API
Référence complète pour intégrer les notifications Apple Wallet et Google Wallet
1. Authentification
Toutes les requêtes à l'API doivent inclure votre API Key dans l'en-tête de la requête.
X-API-Key: your_api_key_here
Comment obtenir votre API Key
Connectez-vous au tableau de bord Elune et allez dans Paramètres → API. Vous y trouverez votre clé et pourrez la régénérer si nécessaire.
2. Enregistrement d'entreprise
Enregistrez une nouvelle entreprise dans le système. C'est la première étape pour commencer à utiliser l'API.
Crée un nouveau compte d'entreprise avec les informations fournies.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | Oui | Nom de l'entreprise |
email | string | Oui | Adresse e-mail de contact |
phone | string | Non | Numéro de téléphone de contact |
address | string | Non | Adresse physique |
{
"name": "Mi Empresa SL",
"email": "info@miempresa.com",
"phone": "+34 600 000 000"
}{
"id": "emp_a1b2c3d4",
"api_key": "ek_live_xxxxxxxxxxxxxxxxxxxx",
"created_at": "2025-01-15T10:30:00Z"
}3. Configuration
Mettez à jour les paramètres visuels de votre entreprise et les valeurs par défaut des notifications.
Met à jour la configuration de l'entreprise. Les mises à jour partielles sont acceptées — envoyez uniquement les champs à modifier.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
color | string | Non | Couleur principale de la marque (hex) |
textColor | string | Non | Couleur du texte (hex) |
notificationTitle | string | Non | Titre de notification par défaut |
pointsName | string | Non | Nom personnalisé pour vos points (ex. Étoiles, Crédits) |
rewardsEnabled | boolean | Non | Activer / désactiver le catalogue de récompenses |
4. Modèles de carte (Referencias)
Les modèles de carte définissent le modèle visuel pour un ensemble de cartes émises. Vous pouvez avoir plusieurs modèles, chacun avec son propre design.
Crée un nouveau modèle de carte avec la configuration indiquée.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | Oui | Nom d'affichage du modèle |
description | string | Non | Description courte (affichée sur la carte) |
color | string | Non | Couleur principale alternative (hex) |
textColor | string | Non | Couleur du texte alternative (hex) |
pointsEnabled | boolean | Non | Activer les points de fidélité pour ce modèle |
rewardsEnabled | boolean | Non | Activer le catalogue de récompenses pour ce modèle |
Renvoie tous les modèles de carte de votre entreprise.
Met à jour un modèle de carte spécifique. Mises à jour partielles acceptées.
Supprime un modèle de carte. Les cartes déjà émises ne sont pas affectées.
5. Cartes émises
Les cartes émises sont les passes numériques réels ajoutés à Apple Wallet ou Google Wallet par les utilisateurs finaux.
Crée une nouvelle carte pour un utilisateur final. Renvoie l'URL du pass à partager ou intégrer dans un QR code.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
refId | string | Oui | ID du modèle de carte |
userName | string | Oui | Nom complet de l'utilisateur |
userEmail | string | Non | Adresse e-mail de l'utilisateur |
userPhone | string | Non | Numéro de téléphone de l'utilisateur |
customFields | object | Non | Objet clé-valeur avec des champs utilisateur supplémentaires |
{
"cardId": "card_x9y8z7w6",
"passUrl": "https://wallet.eluneconnections.com/pass/card_x9y8z7w6",
"qrCode": "data:image/png;base64,..."
}Obtient l'état actuel d'une carte spécifique.
Liste toutes les cartes émises par votre entreprise ou un modèle spécifique.
Désactive une carte. L'utilisateur ne recevra plus de notifications.
6. Notifications
Envoyez des notifications push directement sur l'écran verrouillé des utilisateurs qui ont votre carte.
Envoie une notification à toutes les cartes, ou filtre par valeurs de champ.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
title | string | Oui | Titre de la notification (max 40 caractères) |
body | string | Oui | Corps de la notification (max 120 caractères) |
filters | array | Non | Tableau d'objets de filtre pour cibler un sous-ensemble de cartes |
{
"title": "¡Oferta especial!",
"body": "2x1 en cafés hoy hasta las 18h ☕",
"filters": [
{ "field": "city", "operator": "eq", "value": "Barcelona" }
]
}Envoie une notification à une carte spécifique par son ID.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
cardId | string | Oui | ID de la carte destinataire |
title | string | Oui | Titre de la notification (max 40 caractères) |
body | string | Oui | Corps de la notification (max 120 caractères) |
7. Points et récompenses
Gérez les points de fidélité et un catalogue de récompenses échangeables.
Ajoute des points à une ou plusieurs cartes (en masse ou individuel).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
points | number | Oui | Nombre de points à ajouter ou retirer |
concept | string | Non | Étiquette de transaction affichée dans l'historique |
cardId | string | Non | ID de la carte destinataire |
filters | array | Non | Tableau d'objets de filtre pour cibler un sous-ensemble de cartes |
Retire des points d'une ou plusieurs cartes.
Obtient le solde de points actuel d'une carte.
Obtient l'historique complet des transactions d'une carte.
Échange une récompense pour une carte.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
cardId | string | Oui | ID de la carte destinataire |
rewardId | string | Oui | ID de la récompense à échanger |
Liste toutes les récompenses de votre catalogue.
8. Webhooks
Enregistrez un endpoint HTTPS pour recevoir des événements en temps réel d'Elune.
Enregistre une URL de webhook pour un type d'événement spécifique.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
url | string | Oui | Votre URL d'endpoint HTTPS |
event | string | Oui | Type d'événement auquel s'abonner |
Types d'événements disponibles
card.added | Une nouvelle carte a été ajoutée à un wallet |
card.deleted | Une carte a été supprimée d'un wallet |
points.added | Des points ont été ajoutés à une carte |
reward.redeemed | Un utilisateur a échangé une récompense |
Liste tous les webhooks enregistrés pour votre entreprise.
Supprime un enregistrement de webhook.
9. Images
Téléchargez des logos et des bannières pour votre entreprise ou des modèles de carte spécifiques.
Téléchargement par URL Fournissez une URL d'image accèssible publiquement.
Téléchargement par fichier Téléchargez le fichier image directement.
Fournissez une URL d'image accèssible publiquement.
- Bannière du modèle
- Bannière de l'entreprise
- Bannière par défaut
Définissez une bannière au niveau de l'entreprise comme fallback et remplacez-la par modèle de carte.
10. Gestion des erreurs
Toutes les réponses d'erreur suivent un format cohérent.
{
"error": "invalid_api_key",
"message": "The provided API key is missing or invalid.",
"statusCode": 401
}| Codes HTTP courants | Description |
|---|---|
200 | Requête réussie |
201 | Ressource créée |
202 | Accepté pour traitement asynchrone |
400 | Requête invalide |
401 | API Key absente ou invalide |
403 | Quota dépassé |
404 | Ressource introuvable |
500 | Erreur interne du serveur |
Référence rapide — Tous les endpoints
| Méthode | Chemin | Auth | Description |
|---|---|---|---|
| POST | /register | Aucune | Enregistrer entreprise |
| PUT | /company/config | API Key | Mettre à jour la configuration |
| POST | /images/banner | API Key | Télécharger bannière |
| POST | /images/logo | API Key | Télécharger logo |
| POST | /refs | API Key | Créer modèle de carte |
| GET | /refs | API Key | Lister les modèles |
| PUT | /refs/:refId | API Key | Mettre à jour le modèle |
| DELETE | /refs/:refId | API Key | Supprimer le modèle |
| POST | /cards | API Key | Créer une carte |
| GET | /cards/:cardId | API Key | Statut de la carte |
| GET | /cards | API Key | Lister les cartes |
| DELETE | /cards/:cardId | API Key | Désactiver la carte |
| POST | /notifications/bulk | API Key | Notification en masse |
| POST | /notifications/single | API Key | Notification individuelle |
| POST | /points/add | API Key | Ajouter des points |
| POST | /points/subtract | API Key | Retirer des points |
| GET | /points/balance/:id | API Key | Solde |
| GET | /points/history/:id | API Key | Historique |
| POST | /rewards/redeem | API Key | Échanger |
| GET | /rewards | API Key | Récompenses |
| POST | /webhooks | API Key | Enregistrer entreprise |
| GET | /webhooks | API Key | Lister les modèles |
| DELETE | /webhooks/:id | API Key | Supprimer le modèle |