Créer un pass d'événement
POST
https://api-v2.test.eldowallet.fr/events/:id/passes
Crée un billet pour un événement, soit pour un client existant (clientId), soit pour un porteur qui n'est pas client (firstName, lastName, email). Renvoie le pass créé, avec son lien court d'installation.
À retenir
- Envoyez
clientIdpour un client existant, sinonfirstName,lastNameetemail. Chaque rangée (leftRow,centerRow,rightRow) est obligatoire tant que l'événement n'a pas réglé l'alignement correspondant (PKTextAlignmentLeft,PKTextAlignmentCenter,PKTextAlignmentRight) surINACTIVE(LEFT_ROW_IS_REQUIRED,CENTER_ROW_IS_REQUIRED,RIGHT_ROW_IS_REQUIRED).barcodedoit être unique au sein de l'événement (BARCODE_ALREADY_EXISTS) ; le billet est ensuite envoyé au porteur selon les réglages d'envoi du wallet.
Requête
path parameters
idstring requiredIdentifiant de l'événement (ID MongoDB de 24 caractères hexadécimaux).
header parameters
x-langstringLangue des messages d'erreur et des textes renvoyés : `fr` ou `en`.enum:en,frdefault:"en"
Body
application/json requiredfirstNamestring requiredlastNamestring requiredemailstring <email> requiredphoneNumberstringbarcodestringleftRowstringcenterRowstringrightRowstringclientIdstring
Réponses
- 201
- 400
- 401
- 403
- 404
- 409
- 500
- 503
Schéma
application/jsonhoteloneOf required- Hotel
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
titlestring requiredhotelNamestringdescriptionstringstripstringcodestringadvantagesstring[] requiredcolorsobjectlabelColorstring requiredbackgroundColorstring requiredforegroundColorstring required
barcodeFormatstringenum:AZTEC,CODE_128,PDF_417,QR_CODE,NONEpassBuilderPassTemplateIdstringlocationobjectlongitudenumberlatitudenumberrelevantNamestringrelevantAddressstring
_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Hotel
clientoneOf- Client
walletstringclientTypeoneOf- ClientType
storeCardoneOf required- StoreCard
- option 2
namestring requiredisDefaultboolean required_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- ClientType
sourcestring requiredenum:CRM,INTERNAL,EXTERNALbarcodestringfirstNamestring requiredlastNamestring requiredemailstringcompanyNamestringrenewalDatestring <date-time>phoneNumberstringbirthDatestring <date-time>admissionDatestring <date-time>gainnumbergainHistoryobject[]gainnumber requireddatestring <date-time> required
communicationPreferencesobject[]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.notificationTypestring 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_TICKETsmsboolean requiredemailboolean requirednotificationboolean required
pushInformativeEnabledbooleanDésinscription des campagnes de notifications push « standard » créées par un gestionnaire et classées comme informatives.pushCommercialEnabledbooleanDésinscription des campagnes de notifications push « standard » créées par un gestionnaire et classées comme commerciales._idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Client
transitoneOf- Transit
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
barcodeFormatstring requiredenum:AZTEC,CODE_128,PDF_417,QR_CODE,NONEtermsstring requiredemailSubscriptionMessagestringsubscriptionMessagestringlocationsobject[]longitudenumberlatitudenumberrelevantNamestringrelevantAddressstring
colorsobject requiredlabelColorstring requiredbackgroundColorstring requiredforegroundColorstring required
stripstringcustomerServiceNumberstringoriginStationCodestring requiredoriginNamestring requireddestinationStationCodestring requireddestinationNamestring requireddepartureTimestring requiredarrivalTimestring requiredtarifstringdetailsstring requirednumberstring requiredtypestring requiredenum:Bus,Boat,Train,Air,Generic,TramgateNamestringenum:N_CABINE,N_VOYAGE,PLAQUEseatNamestringenum:N_CABINE,N_VOYAGE,PLAQUEsecurityobjectenableOneTimeUsebooleandisableIOSPassSharingbooleandisablePassLinkSharingbooleandisableMultipleHoldersbooleanenableSecurityAnimationbooleanenableRotatingBarcodeboolean
passBuilderPassTemplateIdstringcustomBackFieldsstring[]Définitions des champs de verso au niveau du modèle (clé, libellé et type). Les valeurs propres à chaque pass sont stockées sur le pass.displayOptionsobjecthideTarifbooleanhideStationCodesbooleanhideTripNumberboolean
iosHeaderobjectlabelEnumstring requiredenum:FULLNAME,CUSTOM_TEXT,TRIP_NUMBER,INACTIVEvalueEnumstring requiredenum:FULLNAME,CUSTOM_TEXT,TRIP_NUMBER,INACTIVEcustomLabelstringcustomValuestring
_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Transit
eventoneOf- Event
statusstring requiredenum:PENDING,ACTIF,ENDEDdefault:"PENDING"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
barcodeTypestring requiredenum:AZTEC,CODE_128,PDF_417,QR_CODE,NONEnamestring requiredlocationsobject[] requiredlongitudenumberlatitudenumberaddressstringlocationNamestring
dateobjectstartDatestring <date-time>endDatestring <date-time>doorOpeningHourstring <date-time>
pricenumbergainUnitstringenum:NONE,EURO,USD,MAD,POINTSdescriptionstringtermsstringsubscriptionMessagestring requiredemailSubscriptionMessagestring requiredcontactPhonestringemailstringwebsitestringcolorsobject requiredlabelColorstring requiredbackgroundColorstring requiredforegroundColorstring required
securityobjectenableOneTimeUsebooleandisableIOSPassSharingbooleandisablePassLinkSharingbooleandisableMultipleHoldersbooleanenableSecurityAnimationbooleanenableRotatingBarcodeboolean
passBuilderPassTemplateIdstringstripstringPKTextAlignmentLeftstringenum:CHAIR,ACCESS,PRICE,ZONE,INACTIVEPKTextAlignmentCenterstringenum:ROW,INACTIVEPKTextAlignmentRightstringenum:INACTIVE,TYPE,SEAT,PLACE,ARMCHAIR,LOCATION,PORT_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Event
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
walletoneOf- 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
coupononeOf- Coupon
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
barcodeFormatstring requiredenum:AZTEC,CODE_128,PDF_417,QR_CODE,NONEnamestring requireddescriptionstring requiredpromoCodestringvaluestringexpirationDatestring <date-time>isMultipleInstanceboolean requiredisWelcomeCouponboolean requiredstatusstring requiredenum:ACTIVE,INACTIVE,EXPIREDsourcestring requiredenum:INTERNAL,EXTERNAL,CRM,ALLcolorsobject requiredlabelColorstring requiredbackgroundColorstring requiredforegroundColorstring required
stripstringemailSubscriptionMessagestringsubscriptionMessagestringsecurityobjectoneTimeToUseJwtLinkboolean requireddisableIOSPassSharingbooleanenableOneTimeUsebooleandisableMultipleHoldersbooleanenableSecurityAnimationbooleanenableRotatingBarcodeboolean
valueLabelstring requiredenum:VALUE,AMOUNT,PRESTATIONiosHeaderobjectlabelEnumstring requiredenum:FULLNAME,CUSTOM_TEXT,INACTIVEvalueEnumstring requiredenum:FULLNAME,CUSTOM_TEXT,INACTIVEcustomLabelstringcustomValuestring
passBuilderPassTemplateIdstring_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- Coupon
passBuilderPassIdstringpassBuilderUpdatedAtstring <date-time>shortIdstringIdentifiant unique de 4 caractères (base62) utilisé dans les liens courts, généré automatiquement à la création.legacyShortIdstringAncien identifiant de lien court V1 (`shortlinks.shortLinkId`), conservé pour les redirections `/p/:id` (longueur variable).kindstring requiredenum:hotel,transit,event,storeCard,couponfirstNamestringlastNamestringemailstringbarcodestringphoneNumberstringdevicesobject[] requireddeviceLibraryIdentifierstring requireddeviceTypestring requiredenum:ANDROID,IOSregisteredAtstring <date-time> requiredisDeletedboolean required
activeIOSDeviceCountnumber requiredactiveAndroidDeviceCountnumber requiredstatusstring requiredenum:active,inactive,deleted,canceled,expiredredeemedAtstring <date-time>instanceIdobjectinstanceLinksobject[] requiredinstanceIdstring requiredlinkstring requirednamestringdescriptionstring
checkinstring <date-time>checkoutstring <date-time>additionalBenefitsstring[]roomNumberstringroomCodestringgatestringseatstringoriginNamestringdestinationNamestringoriginStationCodestringdestinationStationCodestringdepartureTimestringarrivalTimestringtarifstringtripNumberstringdepartureDatestring requiredarrivalDatestring requiredexpirationDatestring <date-time>originalExpirationDatestring <date-time>Date de validité d'origine, mise de côté avant qu'un passage manuel au statut `EXPIRED` n'écrase `expirationDate`.admissionDatestring <date-time>backFieldNamestringbackFieldContentstringcustomBackFieldsstring[]Champs de verso structurés propres aux titres de transport (remplacent les champs simples `backFieldName`/`backFieldContent` pour les passes de transport).leftRowstringcenterRowstringrightRowstringpromoCodestringvaluestringunitstringdescriptionstringbannerOverrideUrlstringdownloadedViaobjectshortLinkstringLien court vers la page d'inscription du pass (par exemple pour un QR code). Calculé à la volée, non stocké en base._idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
VALIDATION_ERROR · INVALID_JSON · CENTER_ROW_IS_REQUIRED · RIGHT_ROW_IS_REQUIRED · LEFT_ROW_IS_REQUIRED
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
BARCODE_ALREADY_EXISTS
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
PASS_BUILDER_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