Aller au contenu principal

Créer une communication

POST

https://api-v2.test.eldowallet.fr/communications

Crée une communication (offre) affichée sur la carte de fidélité de tous les porteurs du wallet : un visuel strip remplace la bannière de la carte et la description s'ajoute au verso. Elle est publiée tout de suite avec instant: true, sinon à startDate, et dure jusqu'à endDate ou sans fin avec unlimited: true. Renvoie la communication créée.

À retenir
  • Corps en multipart/form-data : les objets imbriqués (colors, security, locations…) s'envoient en chaîne JSON, les booléens en "true"/"false". Images : PNG ou JPEG, 1 Ko à 5 Mo.
  • startDate est obligatoire si instant est absent ou false.
  • endDate est obligatoire si unlimited est absent ou false.
  • Une seule communication peut être en ligne à la fois : une période qui chevauche une communication PENDING ou ACTIVE renvoie 409:OVERLAPPING_COMMUNICATIONS, et une seconde communication unlimited renvoie UNLIMITED_COMMUNICATION_ALREADY_EXISTS. Les porteurs d'une carte de fidélité active sont notifiés par push, e-mail et SMS selon les règles de communication du wallet et les préférences de chaque client ; le crédit est vérifié par canal avant toute création : INSUFFICIENT_CREDIT si aucun canal ne couvre tous les clients, 409:INSUFFICIENT_CREDIT_PARTIAL si seuls certains le peuvent, sauf avec acceptPartialDelivery: true pour n'envoyer que sur les canaux couverts. À la fin de la communication, la carte retrouve son visuel d'origine et le champ de verso disparaît.

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 multipart/form-data required
  • strip string <binary> required
  • instant boolean
  • unlimited boolean
  • description string required
  • startDate string <date-time>
  • endDate string <date-time>
  • minPoints number
  • maxPoints number

Réponses​

Schéma application/json
  • strip string required
    URL de l'image du bandeau.
  • 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
  • storeCard oneOf
    • StoreCard
      • 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
      • cardType string requiredenum: STORE_CARD, MEMBER_CARD
      • displayIdentifiant boolean required
      • displayWalletName boolean
      • strip string required
      • passBuilderPassTemplateId string
      • programName string
      • keysHasChanged string[]
      • startRow stringenum: CREATION_DATE, EXPIRATION_DATE, BIRTHDATE, GAIN, CLUB, ASSOCIATION, ORGANISATION, ENTREPRISE, N_LICENCE, N_ADHERENT, N_MEMBER, MEMBER, N_IMMATRICULATION, INACTIVE, ADMISSION_DATE
      • middleRow stringenum: CREATION_DATE, EXPIRATION_DATE, BIRTHDATE, GAIN, CLUB, ASSOCIATION, ORGANISATION, ENTREPRISE, N_LICENCE, N_ADHERENT, N_MEMBER, MEMBER, N_IMMATRICULATION, INACTIVE, ADMISSION_DATE
      • endRow stringenum: CREATION_DATE, EXPIRATION_DATE, BIRTHDATE, GAIN, CLUB, ASSOCIATION, ORGANISATION, ENTREPRISE, N_LICENCE, N_ADHERENT, N_MEMBER, MEMBER, N_IMMATRICULATION, INACTIVE, ADMISSION_DATE
      • iosHeader object
        • labelEnum string requiredenum: TYPE, GAIN, FULLNAME, CUSTOM_TEXT, INACTIVE
        • valueEnum string requiredenum: TYPE, GAIN, FULLNAME, CUSTOM_TEXT, INACTIVE
        • customLabel string
        • customValue string
      • barcodeType string requiredenum: AZTEC, CODE_128, PDF_417, QR_CODE, NONE
      • descriptions object[] required
        • title string required
        • value string required
      • openingHours string required
      • colors object required
        • labelColor string required
        • backgroundColor string required
        • foregroundColor string required
      • oneTimeToUse boolean required
      • sharingProhibited boolean required
      • sharingProhibitedAndroid boolean required
      • validity object required
        • expirationType string requiredenum: NO_EXPIRATION, AT_DATETIME, AFTER_PERIOD
        • expirationDate string <date-time>
        • expirationAfterPeriod string
        • expirationPeriodType stringenum: YEARS, MONTHS, WEEKS
        • expirationOption stringenum: AT_CREATION_DATE, END_OF_MONTH
      • gainLabel string requiredenum: GAIN, GAINS, CAGNOTE, POINTS
      • gainUnit string requiredenum: NONE, EURO, USD, MAD, POINTS
      • offerLabel string required
      • enableDisplayIdentifiant boolean required
      • gainFormatMigrated boolean required
        Indique si le modèle PassBuilder et tous les passes existants ont été migrés vers le nouveau format de gain, où le symbole de l'unité est intégré à la valeur de l'attribut du pass (par exemple « 50 Pts ») plutôt qu'au champ du modèle. `false` (ou absent) signifie que l'ancien format est toujours utilisé.
      • _id string required
      • createdAt string <date-time> required
      • updatedAt string <date-time> required
    • option 2
  • description string required
    Description de la communication.
  • startDate string <date-time>
    Date de début de la communication.
  • endDate string <date-time>
    Date de fin de la communication.
  • minPoints number
    Nombre minimal de points requis.
    min: 0
  • maxPoints number
    Nombre maximal de points autorisés.
    min: 0
  • status string required
    Statut de la communication.
    enum: PENDING, ACTIVE, INACTIF, EXPIREDdefault: "PENDING"
  • instant boolean required
  • unlimited boolean required
  • _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