Mettre à jour un client par code-barres
PATCH
https://api-v2.test.eldowallet.fr/clients/barcode/:barcode
Met à jour un client identifié par le code-barres de sa carte de fidélité. Même comportement que PATCH /clients/{id} : seuls les champs envoyés sont modifiés et la carte est mise à jour. Renvoie le client mis à jour.
À retenir
- Un e-mail ou un code-barres déjà utilisé par un autre client du wallet renvoie
409(EMAIL_ALREADY_EXISTS,BARCODE_ALREADY_EXISTS). Un changement degainest traité comme unEARNINGS_UPDATE, tout autre changement comme unUPDATE_LOYALTY: la carte n'est synchronisée que si au moins un canal est actif pour ce type de notification, et la push n'est envoyée que si le modèle de notification l'active et que le client ne l'a pas refusée. Déclenche le webhookclient.updated.
Requête
path parameters
barcodestring requiredCode-barres actuel de la carte de fidélité du client (valeur exacte).
header parameters
x-langstringLangue des messages d'erreur et des textes renvoyés : `fr` ou `en`.enum:en,frdefault:"en"
Body
application/json requiredfirstNamestringminLength: 2maxLength: 100lastNamestringminLength: 2maxLength: 100emailstring <email>phoneNumberstringbarcodestringrenewalDatestring <date-time>birthDatestring <date-time>admissionDatestring <date-time>clientTypestringgainnumbercompanyNamestringsourcestringenum:CRM,INTERNAL,EXTERNALsendCardboolean
Réponses
- 200
- 400
- 401
- 403
- 404
- 409
- 500
Schéma
application/jsonwalletstringclientTypeoneOf- ClientType
storeCardoneOf required- StoreCard
walletoneOf required- Wallet
- option 2
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
namestring requiredisDefaultboolean required_idstring requiredcreatedAtstring <date-time> requiredupdatedAtstring <date-time> required
- option 2
- ClientType
passStatusstringStatut du pass de carte de fidélité associé.enum:active,inactive,deleted,canceled,expiredexample:activedeviceTypesstringListe des types d'appareils distincts, séparés par des virgules.example:IOS, ANDROIDshortLinkstringLien court vers la page d'inscription du pass (par exemple pour un QR code).shortIdstringIdentifiant court du pass, de 4 caractères (utilisé dans les liens courts).passBuilderPassIdstringIdentifiant PassBuilder du pass (utilisé dans les liens courts en l'absence de `shortId`).passIdstringIdentifiant du pass.clientTypeNamestringNom du type de client.otherPassStatusesobjectStatut actuel des passes de ce client autres que la carte de fidélité (événement, transport, hôtel), indexé par catégorie de pass. Une catégorie non définie signifie que le client n'a pas encore de pass de ce type. Sert à conditionner les préférences de communication liées à un « nouveau pass » : un client ne peut pas utilement accepter ou refuser les notifications d'un pass qu'il n'a pas encore.eventstringenum:active,inactive,deleted,canceled,expiredtransitstringenum:active,inactive,deleted,canceled,expiredhotelstringenum:active,inactive,deleted,canceled,expired
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
VALIDATION_ERROR · INVALID_JSON
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
EMAIL_ALREADY_EXISTS · 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