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. startDateest obligatoire siinstantest absent oufalse.endDateest obligatoire siunlimitedest absent oufalse.- Une seule communication peut être en ligne à la fois : une période qui chevauche une communication
PENDINGouACTIVErenvoie409:OVERLAPPING_COMMUNICATIONS, et une seconde communicationunlimitedrenvoieUNLIMITED_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_CREDITsi aucun canal ne couvre tous les clients,409:INSUFFICIENT_CREDIT_PARTIALsi seuls certains le peuvent, sauf avecacceptPartialDelivery: truepour 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-langstringLangue des messages d'erreur et des textes renvoyés : `fr` ou `en`.enum:en,frdefault:"en"
Body
multipart/form-data requiredstripstring <binary> requiredinstantbooleanunlimitedbooleandescriptionstring requiredstartDatestring <date-time>endDatestring <date-time>minPointsnumbermaxPointsnumber
Réponses
- 201
- 400
- 401
- 403
- 404
- 409
- 415
- 500
Schéma
application/jsonstripstring requiredURL de l'image du bandeau.walletoneOf required- Wallet
namestring requiredlogostring requirediconstring requiredandroidLogostringdisplayIdentifiantboolean requiredpassBuilderPassTemplateIdstringpassBuilderBusinessIdstringpassBuilderTokenstringidentifierstring requiredidentifierQrstring requiredaddressstringwebsitestring requiredservicePhonestring requiredbusinessPhonestring requiredsocialMediaobject requiredlinkedinstringfacebookstringinstagramstringtiktokstringtwitterstringyoutubestringsnapchatstringpintereststringredditstringwhatsappstringtelegramstring
additionalContactsobject[] requiredtitlestring requiredvaluestring requiredkindstring requiredenum:URL,PHONE,EMAIL
termsAndConditionsobject requiredtypestring requiredenum:PDF,URL,NONEcustomUrlstringpdfUrlstring
webHookUrlstring requiredrootDomainstring requiredtimezonestringallowedPassesstring[] requiredenum:ALL,EVENT_TICKET,TRANSIT,CINEMA,BOARDING_PASS,COUPON,GENERIC,STORE_CARD,OFFER,HOTELexpiredCleanupEnabledboolean required_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Wallet
storeCardoneOf- StoreCard
walletoneOf required- Wallet
namestring requiredlogostring requirediconstring requiredandroidLogostringdisplayIdentifiantboolean requiredpassBuilderPassTemplateIdstringpassBuilderBusinessIdstringpassBuilderTokenstringidentifierstring requiredidentifierQrstring requiredaddressstringwebsitestring requiredservicePhonestring requiredbusinessPhonestring requiredsocialMediaobject requiredlinkedinstringfacebookstringinstagramstringtiktokstringtwitterstringyoutubestringsnapchatstringpintereststringredditstringwhatsappstringtelegramstring
additionalContactsobject[] requiredtitlestring requiredvaluestring requiredkindstring requiredenum:URL,PHONE,EMAIL
termsAndConditionsobject requiredtypestring requiredenum:PDF,URL,NONEcustomUrlstringpdfUrlstring
webHookUrlstring requiredrootDomainstring requiredtimezonestringallowedPassesstring[] requiredenum:ALL,EVENT_TICKET,TRANSIT,CINEMA,BOARDING_PASS,COUPON,GENERIC,STORE_CARD,OFFER,HOTELexpiredCleanupEnabledboolean required_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Wallet
cardTypestring requiredenum:STORE_CARD,MEMBER_CARDdisplayIdentifiantboolean requireddisplayWalletNamebooleanstripstring requiredpassBuilderPassTemplateIdstringprogramNamestringkeysHasChangedstring[]startRowstringenum:CREATION_DATE,EXPIRATION_DATE,BIRTHDATE,GAIN,CLUB,ASSOCIATION,ORGANISATION,ENTREPRISE,N_LICENCE,N_ADHERENT,N_MEMBER,MEMBER,N_IMMATRICULATION,INACTIVE,ADMISSION_DATEmiddleRowstringenum:CREATION_DATE,EXPIRATION_DATE,BIRTHDATE,GAIN,CLUB,ASSOCIATION,ORGANISATION,ENTREPRISE,N_LICENCE,N_ADHERENT,N_MEMBER,MEMBER,N_IMMATRICULATION,INACTIVE,ADMISSION_DATEendRowstringenum:CREATION_DATE,EXPIRATION_DATE,BIRTHDATE,GAIN,CLUB,ASSOCIATION,ORGANISATION,ENTREPRISE,N_LICENCE,N_ADHERENT,N_MEMBER,MEMBER,N_IMMATRICULATION,INACTIVE,ADMISSION_DATEiosHeaderobjectlabelEnumstring requiredenum:TYPE,GAIN,FULLNAME,CUSTOM_TEXT,INACTIVEvalueEnumstring requiredenum:TYPE,GAIN,FULLNAME,CUSTOM_TEXT,INACTIVEcustomLabelstringcustomValuestring
barcodeTypestring requiredenum:AZTEC,CODE_128,PDF_417,QR_CODE,NONEdescriptionsobject[] requiredtitlestring requiredvaluestring required
openingHoursstring requiredcolorsobject requiredlabelColorstring requiredbackgroundColorstring requiredforegroundColorstring required
oneTimeToUseboolean requiredsharingProhibitedboolean requiredsharingProhibitedAndroidboolean requiredvalidityobject requiredexpirationTypestring requiredenum:NO_EXPIRATION,AT_DATETIME,AFTER_PERIODexpirationDatestring <date-time>expirationAfterPeriodstringexpirationPeriodTypestringenum:YEARS,MONTHS,WEEKSexpirationOptionstringenum:AT_CREATION_DATE,END_OF_MONTH
gainLabelstring requiredenum:GAIN,GAINS,CAGNOTE,POINTSgainUnitstring requiredenum:NONE,EURO,USD,MAD,POINTSofferLabelstring requiredenableDisplayIdentifiantboolean requiredgainFormatMigratedboolean requiredIndique 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é._idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- StoreCard
descriptionstring requiredDescription de la communication.startDatestring <date-time>Date de début de la communication.endDatestring <date-time>Date de fin de la communication.minPointsnumberNombre minimal de points requis.min: 0maxPointsnumberNombre maximal de points autorisés.min: 0statusstring requiredStatut de la communication.enum:PENDING,ACTIVE,INACTIF,EXPIREDdefault:"PENDING"instantboolean requiredunlimitedboolean required_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
VALIDATION_ERROR · INVALID_JSON · INVALID_MULTIPART · UNLIMITED_COMMUNICATION_ALREADY_EXISTS · INSUFFICIENT_CREDIT
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
UNAUTHORIZED
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
FORBIDDEN
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
MODEL_NOT_FOUND
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
OVERLAPPING_COMMUNICATIONS · INSUFFICIENT_CREDIT_PARTIAL
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
UNSUPPORTED_MEDIA_TYPE
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email
UNKNOWN_ERROR
Schéma
application/jsonmessagestring requiredexample:Promo code already existserrorCodestring requiredexample:400:PROMO_CODE_ALREADY_EXISTSpathstring requiredexample:/couponsdatestring <date-time> requireddetailsobjectvalidationErrorsobject[]fieldstringexample:emailmessagestringexample:email must be an email