Aller au contenu principal

Créer une notification push

POST

https://api-v2.test.eldowallet.fr/push-notifications

Crée une notification push envoyée sur les cartes de fidélité installées, à tous les porteurs (target: ALL) ou à une liste de clients (target: SPECIFIC), immédiatement (INSTANT) ou à scheduleAt (SCHEDULED). Les destinataires sont résolus à la création et enregistrés dans clients. Renvoie la notification créée.

À retenir
  • scheduleAt est obligatoire si type vaut SCHEDULED.
  • Les destinataires sont les porteurs d'une carte de fidélité active et installée : tous avec target: ALL, ou ceux listés dans clients avec target: SPECIFIC (title/message par client remplacent defaultTitle/defaultMessage). Renseignez toujours target : sans lui, aucun destinataire n'est retenu. category (COMMERCIAL ou INFORMATIVE) est confrontée au consentement de chaque client (pushCommercialEnabled, pushInformativeEnabled) à la création puis à l'envoi, ainsi qu'aux règles de communication du wallet. Un crédit PUSH est consommé par destinataire (INSUFFICIENT_CREDIT s'il manque), et deux notifications programmées target: ALL doivent être espacées d'au moins 10 secondes (409:PUSH_NOTIFICATION_SCHEDULE_CONFLICT).

Requête​

header parameters
  • x-lang string
    Langue des messages d'erreur et des textes renvoyés : `fr` ou `en`.
    enum: en, frdefault: "en"
Body application/json required
  • defaultTitle string required
  • defaultMessage string required
  • target string requiredenum: ALL, SPECIFIC
  • type string requiredenum: INSTANT, SCHEDULED
  • category string required
    Informative vs. commercial classification — required so the client's consent (pushInformativeEnabled/pushCommercialEnabled) can be checked at send time.
    enum: INFORMATIVE, COMMERCIAL
  • clients object[]
    • id string required
    • title string
    • message string
  • scheduleAt string <date-time>

Réponses​

Schéma application/json
  • wallet oneOf required
    • Wallet
      • name string required
      • logo string required
      • icon string required
      • androidLogo string
      • displayIdentifiant boolean required
      • passBuilderPassTemplateId string
      • passBuilderBusinessId string
      • passBuilderToken string
      • identifier string required
      • identifierQr string required
      • address string
      • website string required
      • servicePhone string required
      • businessPhone string required
      • socialMedia object required
        • linkedin string
        • facebook string
        • instagram string
        • tiktok string
        • twitter string
        • youtube string
        • snapchat string
        • pinterest string
        • reddit string
        • whatsapp string
        • telegram string
      • additionalContacts object[] required
        • title string required
        • value string required
        • kind string requiredenum: URL, PHONE, EMAIL
      • termsAndConditions object required
        • type string requiredenum: PDF, URL, NONE
        • customUrl string
        • pdfUrl string
      • webHookUrl string required
      • rootDomain string required
      • timezone string
      • allowedPasses string[] requiredenum: ALL, EVENT_TICKET, TRANSIT, CINEMA, BOARDING_PASS, COUPON, GENERIC, STORE_CARD, OFFER, HOTEL
      • expiredCleanupEnabled boolean required
      • _id string required
      • createdAt string <date-time> required
      • updatedAt string <date-time> required
    • option 2
  • defaultTitle string required
  • defaultMessage string required
  • target string requiredenum: ALL, SPECIFIC
  • type string requiredenum: INSTANT, SCHEDULED
  • clients object[] required
    • id oneOf required
      • Client
        • wallet string
        • clientType oneOf
          • ClientType
            • storeCard oneOf required
            • name string required
            • isDefault boolean required
            • _id string required
            • createdAt string <date-time> required
            • updatedAt string <date-time> required
          • option 2
        • source string requiredenum: CRM, INTERNAL, EXTERNAL
        • barcode string
        • firstName string required
        • lastName string required
        • email string
        • companyName string
        • renewalDate string <date-time>
        • phoneNumber string
        • birthDate string <date-time>
        • admissionDate string <date-time>
        • gain number
        • gainHistory object[]
          • gain number required
          • date string <date-time> required
        • communicationPreferences object[]
          Préférences de communication de ce client, par événement et par canal, qui priment sur les règles du wallet (gestion des consentements RGPD). Même structure que `WalletSetting.communicationRules`. L'absence d'entrée pour un `notificationType` donné signifie que la communication est activée, comme pour `isCommunicationRuleEnabled`. L'historique des modifications n'est volontairement pas inclus ici (voir `CommunicationPreferenceLog`), afin de garder ce document, très souvent lu, léger.
          • notificationType string requiredenum: NEW_LOYALTY, UPDATE_LOYALTY, REMINDER_LOYALTY, EARNINGS_UPDATE, NEW_COMMUNICATION, EXPIRED_COMMUNICATION, NEW_EVENT, UPDATE_EVENT, NEW_COUPON, UPDATE_COUPON, WELCOME_INTERNAL_CLIENTS, WELCOME_CRM_CLIENTS, WELCOME_EXTERNAL_CLIENTS, WELCOME_COUPON, EXPIRED_COUPON, TRANSIT_TICKET, UPDATE_TRANSIT, HOTEL_RESERVATION, UPDATE_HOTEL_RESERVATION, CINEMA_TICKET
          • sms boolean required
          • email boolean required
          • notification boolean required
        • pushInformativeEnabled boolean
          Désinscription des campagnes de notifications push « standard » créées par un gestionnaire et classées comme informatives.
        • pushCommercialEnabled boolean
          Désinscription des campagnes de notifications push « standard » créées par un gestionnaire et classées comme commerciales.
        • _id string required
        • createdAt string <date-time> required
        • updatedAt string <date-time> required
      • option 2
    • passBuilderPassId string
    • title string
    • message string
  • category string
    Informative/commercial classification, used to gate against the recipient's `Client.pushInformativeEnabled`/`pushCommercialEnabled`.
    enum: INFORMATIVE, COMMERCIAL
  • scheduleAt string <date-time>
  • sentAt string <date-time>
  • _id string required
  • createdAt string <date-time> required
  • updatedAt string <date-time> required

Les nouveautés de l'API, une fois par mois

Nouveaux endpoints, changements à prévoir, guides et cas d'usage. Pas de spam, désinscription en un clic.

Signaler un problème technique

Une erreur de l’API, un pass qui ne se met pas à jour, un e-mail qui n’arrive pas ? Décrivez le problème : notre équipe technique vous répond.

Pour une réponse rapide, indiquez :

  • La méthode et l’endpoint (ex. POST /clients)
  • Le code d’erreur renvoyé (errorCode) et le corps envoyé
  • La date et l’heure de l’appel
  • Les identifiants concernés (client, modèle, pass)

N’y mettez jamais de jeton d’API ni de mot de passe.

Assistant IA

Beta

Chargement…

Réponses générées par IA (Claude) : vérifiez les points importants.

Connectez-vous pour utiliser l'assistant