ComexposiumConnect SSO

Le widget ComexposiumConnect SSO est utilisé pour simplifier l'expérience de nos utilisateurs lorsqu'ils passent d'un service vers un autre.

Nous mettons également à disposition une API dotée d'un bac à sable pour pouvoir directement tester les méthodes mises à votre disposition.

Ce guide va quant à lui vous permettre d'intégrer le widget ComexposiumConnect SSO sur votre environnement.

Le SSO

Le principe

L’authentification unique ou Single Sign-On (SSO) est la fonction qui permet à un utilisateur de s’authentifier une seule fois pour toute la durée d’une session indépendamment du nombre d’applications qui nécessitent une authentification.
Les utilisateurs peuvent alors accéder à leurs données directement en toute transparence, sans contrainte de ressaisie d’un nouveau couple nom d’utilisateur/mot de passe.

L'objectif

Pour que le système fonctionne, il faut que le widget ComexposiumConnect soit installé sur toutes les pages de votre application / plateforme. Une fois le widget installé, vous pourrez vous créer un compte et tester directement le bon fonctionnement du SSO.

Le fonctionnement

Une fois le widget correctement installé et initiliasé, le passage d'une plateforme Comexposium vers votre application / plateforme doit pouvoir se faire sans que l'utilisateur n'ait besoin de se connecter.

Pour vous assurer du bon fonctionnement du passage SSO d'une des plateformes Comexposium vers votre application / plateforme, vous avez à votre disposition toutes les méthodes offertes par l'API Comexposium en plus de celles disponibles ci-dessous.

Changement de domaine

Lorsque vous êtes connectés sur un domaine A et que vous souhaitiez vous rendre sur un domaine B, le comexposiumConnect va vous authentifier et vous proposer de continuer votre navigation en restant connecté :

switch domain

Vous pouvez donc resté connecté ou bien vous déconnecter et continuer sans être authentifié.

Le script loader

Après le chargement de jQuery sur votre page, vous devrez charger le script suivant qui se décline en 2 environnements suivant l'état d'avancement de votre projet :

Pré-production :

<script src="https://connect.preprod.comexposium-webservices.com/js/loader.min.js"></script>

Production :

<script src="https://connect.prod.comexposium-webservices.com/js/loader.min.js"></script>

Pour que le widget ComexposiumConnect fonctionne correctement, il faut que soit chargé jQuery dans la page. Nous vous encourageons à utiliser au moins jQuery 2.0, mais nous recommandons fortement d'utiliser une version plus récente (3.x).

Par mesure de sécurité, si nous ne détectons pas de jQuery ou une version antérieure à la version 2.0, nous chargeons dynamiquement jQuery 3.1.1 sans prendre en charge la variable dollar ($). Cela vous permet d'utiliser votre propre version ou une autre bibliothèque utilisant cette variable. La version injectée par le widget est :

window.cxpm.jQuery

  • Si la variable "$" n'existe pas dans la page, nous la créons avec la version chargée.

  • Si la variable "$" existe mais pas dans une version suffisamment récente, nous la copions dans window.cxpm.jQuery.
  • Une fois le script loader.min.js chargé et autorisé, vous avez accès aux variables globales comexposiumCap et comexposiumConnect.

    Vous pouver également vérifier la version du loader et du SDK avec lesquels vous travaillez :

    cxpm.version.useraccount
    {loaderBuild: "201X.X.X", sdkBuild: "201X.X.X"}

    Il ne vous reste désormais plus qu'à inclure le code HTML dans votre page pour faire fonctionner le widget.

    Le code HTML

    Les valeurs à renseigner dans les attributs du code HTML sont propres à chaque évènement, à chaque salon et à chaque session. Ils vous seront communiqués directement par votre contact chez Comexposium.
    Votre contact chez Comexposium devra également autoriser tous les noms de domaine sur lesquels vous appelez et chargez le widget sans quoi vous aurez les erreurs suivantes dans la console javascript de votre navigateur :
    wrong application token
    CORS: Response to preflight request doesn't pass access control check

    Une fois que tous vos noms de domaine ont été autorisés par Comexposium , que le script loader.min.js ainsi que votre version de jQuery sont bien chargés dans votre page, ajoutez le code suivant dans la partie body de votre code HTML où vous souhaitez intégrer le widget ComexposiumConnect :

    <div id="cxpmClientAccountWidget" 
    data-salon="[SHOWROOM_NAME]" data-sessionSalon="[SHOWROOM_SESSION]"
    data-application="[YOUR_APPLICATION_ID]" data-language="[LANGUAGE]" >
    <!-- Nothing here --> </div>

    Il s'agit d'une simple div possédant 4 attributs. Chacun de ces attributs renvoie à l'événement sur lequel il sera configuré :

    Ces éléments vous seront transmis par votre contact chez Comexposium.

    Exemple complet

    Voici un exemple d'intégration complet utilisant l'environnement de pré-production, et ayant été autorisé pour le domaine : http://127.0.0.1:63569 . Vous pouvez le tester en lançant un web server en local (notamment grâce cette application chrome gratuite) sur le port 63569 :

        <!DOCTYPE html>
        <html>
          <head>
            <meta charset="utf-8">
            <title>Exemple</title>
            <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" charset="utf-8"></script>
          </head>
          <body>
            <div id="cxpmClientAccountWidget"
               data-salon="exemple"
               data-sessionSalon="exemple_2018"
               data-application="2a6d06fc8089bbff0889aadc02d4a14ac1bdd03a"
               data-language="fre-FR"
               >
              <!-- Nothing here -->
            </div>
    <script src="https://connect.preprod.comexposium-webservices.com/js/loader.min.js"></script> <script type="text/javascript"> $(document).on("comexposiumConnectLoaded", function(){ console.log("ComexposiumConnect loaded"); });
    $(document).on('comexposiumConnectLogged', function(event, email, token, isExhibitor) { console.log(email, token, isExhibitor); }); </script> </body> </html>

    Les méthodes

    La plupart des méthodes ci-dessous sont également disponibles via l'API ComexposiumConnect. Vous trouverez également des routes API concernant l'authentification, la gestion des utilisateurs, la gestion d'applications tierces, et la gestion de la selection.

    Ouvrir l'interface de connexion

    Voici un exemple ci-dessous qui ouvre l'interface de connexion SSO :

      
        
          comexposiumCap.openCap('login');
        
      
    

    Ouvrir l'interface de création de compte

    Voici un exemple ci-dessous qui ouvre l'interface de création de compte SSO :

      
        
          comexposiumCap.openCap('register');
        
      
    

    Il est également possible de passer de l'interface de connexion vers l'interface de création de compte directement depuis le bouton "Créer un compte" dans le footer du widget une fois ouvert et inversement :

    widget-visual

    Sur l'environnemement de pré-production, les emails que vous recevez normalement (création de compte, mot de passe oublié, newsletter... ) sont tous dirigés vers notre boite mail interne [email protected] dont vous pourrez demander l'accès à votre contact chez Comexposium.

    Ouvrir l'interface de mot de passe oublié

    Voici un exemple ci-dessous qui ouvre l'interface de réinitilisation de mot de passe :

          comexposiumCap.openCap('request-password');
    

    La réinitialisation du mot de passe déclenche l'envoi d'un email contenant le lien de réinitialisation de mot de passe sous cette forme :

    https://monurl.com/#reset-password?token=XXXXXX

    Il faudra donc vous assurer que l'URL principale que vous déclarerez à Comexposium ne contiendra pas de redirections et que l'installation du widget HTML ComexposiumConnect SSO y sera effective.

    Nous rappelons également que les emails envoyés via l'environnement de pre-production sont interceptés et atterrissent automatiquement vers la boîte mail :

    [email protected].

    Ouvrir l'interface de messages génériques

    Voici un exemple ci-dessous qui ouvre l'interface d'affichage de messages génériques :

          comexposiumCap.openGenericCap('Titre', 'Description');
    
    Les paramètres "Titre" et "Description" acceptent les éléments HTML (buttons, divs etc...)

    Authentifier un utilisateur

    Pour authentifier un utilisateur, vous pouvez utilisez la méthode suivante :

      comexposiumConnect.loginUser("email", "password", false, function(){
        // je vérifie le status de la requête
        if (result.statusCode === 0){
          // succès de l'authentication
        } else {
          // échec de l'authentication
          console.log(result.statusCode, result.message);
        }
      });
    

    Le troisème paramètre est un booléen qui correspond à la variable stayConnected. Le dernier paramètre est une callback et n'est pas obligatoire.

    Créer un nouvel utilisateur

    Pour créer un nouvel utilisateur, vous pouvez utilisez la méthode suivante :

      comexposiumConnect.createUser("email", function(){
        // je vérifie le status de la requête
        if (result.statusCode === 0){
          // succès de la création d'un nouvel utilisateur
        } else {
          // échec de la création d'un nouvel utilisateur
          console.log(result.statusCode, result.message);
        }
      });
    

    L'utilisation de cette méthode équivaut à utiliser la route API /_plugin/Comexposium/user/create.

    Un email d'activation de compte sera alors automatiquement envoyé à l'adresse mail saisie en premier paramètre. Cet email contient un lien qui permettra à cet utilisateur de créer le mot de passe de son compte.

    Sur l'environnemement de pré-production, les emails que vous recevez normalement (création de compte, mot de passe oublié, newsletter... ) sont tous dirigés vers notre boite mail interne [email protected] dont vous pourrez demander l'accès à votre contact chez Comexposium.

    Vérifier si l'utilisateur est connecté

    Vous pouvez vérifier si un utilisateur est connecté. Cette méthode renvoie un booléen.
    true : l'utilisateur est connecté
    false : l'utilisateur n'est pas connecté

        comexposiumCap.isUserLogged();
    

    Vérifier le status de l'utilisateur connecté

    Vous pouvez vérifier le status de l'utilisateur connecté. Cette méthode retourne un tableau contenant les status de l'utilisateur connecté.
    Si l'utilisateur n'a aucun status, ou qu'il est déconnecté, la méthode retournera un tableau vide.

    Vous pouvez ajouter, modifier ou supprimer des status en utilisant notre API

        comexposiumConnect.getUserTypes(function(listOfUserType){
          console.log(listOfUserType)
        });
    

    Déconnecter un utilisateur

    Vous pouvez déconnecter l'utilisateur comme ceci :

          comexposiumCap.disconnectUser();
    
    L'utilisateur sera déconnecté de tous les environnements utilisant le comexposiumConnect

    Les Évènements Javascript

    Une fois correctement chargée, la bibliothèque déclenche certains événements pour faciliter votre flux de travail lors de l'utilisation de ComexposiumConnect. Gardez à l'esprit que nous créons une variable Javascript nommée window.cxpm.jQuery avec la version requise de jQuery. En dehors de l'événement comexposiumConnectLoaded, tous les événements sont déclenchés avec window.cxpm.jQuery.

    comexposiumConnectLoaded

    Lorsque la bibliothèque est entièrement chargée, un événement est déclenché pour vous informer que tout est prêt. Vous pouvez écouter vos évènements personnalisés à partir du moment où le widget est prêt, cet événement sera déclenché depuis le scope global jQuery ($ ou jQuery) :

      $(document).on("comexposiumConnectLoaded",function(){
        Execute quelque chose
        window.cxpm.jQuery(document).on("MON_EVENEMENT",function(){
          Ecoute un évènement personnalisé
        });
      });
    

    comexposiumConnectLogged

    Cet événement est déclenché lorsque l'utilisateur est connecté en SSO au ComexposiumConnect. Cela peut se produire lors du chargement de la page (l'utilisateur est déjà connecté au système) ou lors de la soumission du formulaire de connexion :

      $(document).on("comexposiumConnectLogged",function(){
        Execute quelque chose
      });
    

    comexposiumConnectLogout

    Cet événement est déclenché lorsque l'utilisateur est déconnecté. Cela peut se produire lorsque l'utilisateur a été déconnecté dans un autre onglet ou dans une autre application :

      $(document).on("comexposiumConnectLogout",function(){
        Execute quelque chose
      });
    

    comexposiumConnectTokenExpired

    Cet événement est déclenché à l'expiration du JWT. N'oubliez pas que le jeton JWT a une date de validée :

      $(document).on("comexposiumConnectTokenExpired",function(){
        Execute quelque chose
      });
    

    comexposiumConnectRegisterOk

    Cet événement indique que l'utilisateur a fermé l'interface après une création de compte. Le callback reçoit 2 paramètres, l'événement et l'adresse e-mail utilisée pour créer le compte :

      window.cxpm.jQuery(document).on("comexposiumConnectRegisterOk",function(event, email){
        Un compte a été créé et nous pouvons récupérer l'email
      });
    

    Récupérer les informations de l'utilisateur

    L'utilisateur peut être reconnu et connecté automatiquement via le cookie SSO ou bien il peut se connecter en utilisant le widget de connexion ComexposiumConnect. Il est ensuite possible de récupérer l'email de l'utilisateur, le jeton JWT et savoir si l'email connecté est un exposant sur la session en cours.

    Pour cela, vous pouvez écouter l'événement jQuery nommé "comexposiumConnectLogged" et qui peut prendre 4 paramètres dont l'email :

      $(document).on("comexposiumConnectLogged",function(event, email, token, isExhibitor){
        console.log(email, token, isExhibitor);
      });
    

    Connectez-vous grâce au bouton ci-dessous et ouvrez la console de votre navigateur :

    Pour vérifier les informations côté serveur, vous pouvez également utiliser notre API pour vous assurer que le token ou l'email de l'utilisateur est bien valide.

    Codes d'erreurs

    Nom

    Code

    Description

         

    updateUserError

    1

    Error updating user informations

    updateUserSuccess

    0

    Success

    updateUserWrongCredentials

    2

    Wrong credentials, refers to the documentation

    updateUserSearchToken

    3

    2 or more tokens found

    updateUserNotFound

    4

    Token not found

    getDefaultLangugeError

    161

    Error fetching the default language

    requestRegeneratePasswordWrongCredentials

    5

    Wrong credentials, refers to the documentation

    requestRegeneratePasswordError

    6

    Error searching email

    requestRegeneratePasswordSuccess

    0

    Success

    requestRegeneratePasswordNotFound

    7

    Email not found

    regeneratePasswordWrongCredentials

    8

    Wrong credentials, refers to the documentation

    regeneratePasswordError

    9

    Error searching token

    regeneratePasswordSuccess

    0

    Success

    regeneratePasswordNotFound

    10

    Token not found

    checkFirstLoginTokenError

    11

    Error searching token

    checkFirstLoginTokenNotFound

    12

    Token not found

    checkFirstLoginTokenWrongCredentials

    13

    Wrong credentials, refers to the documentation

    checkFirstLoginTokenSuccess

    0

    Success

    checkFirstLoginAlreadyValidated

    35

    Account already validated

    checkFirstLoginOutdated

    36

    Token outdated

    checkFirstLoginErrorGetUserData

    183

    -

    checkCookieNotOk

    150

    There is no SSO Cookie

    checkCookieSuccess

    0

    Success

    onLoginMailNotFound

    87

    Mail not found

    onLoginError

    88

    Internal error searching for email

    createUserMissingCredentials

    131

    Wrong credentials, refers to the documentation

    createUserSearch

    132

    Error searching email

    createUserSetupToken

    133

    Error creating the token for user

    createUserError

    134

    Error creating the user

    createUserUpdateError

    135

    -

    createUserMailExists

    143

    Email already exists

    deleteTemporaryUserErrorGetUser

    157

    Error fetching the user

    deleteTemporaryUserErrorUpdate

    158

    -

    deleteTemporaryUserMissingCredentials

    159

    Wrong credentials, refers to the documentation

    deleteTemporaryUserErrorLanguage

    160

    -

    deleteTemporaryUserSuccess

    0

    Success

    deleteTemporaryUserErrorMail

    162

    Error fetching email in order to send deleted email

    addItemMySelectionError

    15

    Error creating / updating the selection

    addItemMySelectionSuccess

    0

    Success

    addItemMySelectionBadToken

    16

    -

    addItemMySelectionAlreadyIn

    17

    Item already in the selection

    addItemMySelectionMultipleSelections

    37

    Internal error with multiple selection for same userId

    addItemMySelectionWrongCredentials

    26

    Wrong credentials, refers to the documentation

    addItemMySelectionNoLanguage

    144

    -

    addItemMySelectionErrorLanguage

    145

    -

    addItemMySelectionErrorInformationsItem

    146

    -

    addItemMySelectionUpdateError

    147

    -

    addItemMySelectionCreateError

    148

    -

    getMySelectionError

    18

    Impossible to give the selection

    getMySelectionSuccess

    0

    Success

    getMySelectionNotFound

    19

    -

    getMySelectionWrongCredentials

    20

    Wrong credentials, refers to the documentation

    getMySelectionMultipleSelection

    21

    Multiple selection for the same user

    getMySelectionWrongToken

    22

    -

    deleteItemMySelectionWrongCredentials

    23

    Wrong credentials, refers to the documentation

    deleteItemMySelectionError

    24

    Internal server error

    deleteItemMySelectionBadToken

    25

    -

    deleteItemMySelectionNotFound

    27

    There is no selection for the given user

    deleteItemMySelectionMultipleSelection

    28

    Multiple selection for the same user

    deleteItemMySelectionSuccess

    0

    Success

    getLastItemsError

    29

    Error retrieving last items in selection

    getLastItemsNotFound

    30

    No selection for user

    getLastItemsSuccess

    0

    Success

    getLastItemsMultipleSelections

    31

    Multiple selections for user

    getLastItemsWrongToken

    32

     

    getLastItemsWrongCredentials

    33

    Wrong credentials, refers to the documentation

    importNewSelectionMissingCredentials

    91

    Wrong credentials, refers to the documentation

    importNewSelectionErrorSearching

    92

    Error searching the user

    importNewSelectionUserNotExists

    93

    Email doesn’t exists

    importNewSelectionCreateError

    94

    Error creating the selection

    importNewSelectionUpdateError

    95

    Error updating the selection

    importNewSelectionMultipleSelection

    96

    Multiple selections for email

    importNewSelectionSuccess

    0

    Success

    retrieveItemsInformationsMissingCredentials

    151

    Wrong credentials, refers to the documentation

    importCatalogWrongCredentials

    34

    Wrong credentials, refers to the documentation

    getSettingsError

    38

    Error getting profile settings

    getSettingsSuccess

    0

    Success

    getSettingsMissingCredentials

    41

    Wrong credentials, refers to the documentation

    getWordingError

    39

    Error when fetching wordings

    getWordingSuccess

    0

    Success

    getWordingMissingCredentials

    40

    Wrong credentials, refers to the documentation

    getCountriesError

    142

    Error fetching the countries

    getLabelsSuccess

    0

    Success

    updateUserInformationsError

    42

    Internal server error

    updateUserInformationsSuccess

    0

    Success

    updateUserInformationsMissingCredentials

    43

    Wrong credentials, refers to the documentation

    updateUserInformationsErrorGetUserSalon

    48

    Error fetching user informations lvl 1

    updateUserInformationsErrorGetUserSession

    49

    Error fetching user informations lvl 2

    updateUserInformationsErrorCreateUserSalon

    50

    Error creating user informations lvl 1

    updateUserInformationsErrorCreateUserSession

    51

    Error creating user informations lvl 2

    updateUserInformationsErrorUpdateUserSalon

    52

    Error updating user informations lvl 1

    updateUserInformationsErrorUpdateUserSession

    53

    Error updating user informations lvl 2

    getProfileUserError

    44

    Error retrieving all lvl informations of the user

    getProfileUserErrorSalon

    45

    -

    getProfileUserErrorSessionSalon

    46

    -

    getUserInformationsMissingCredentials

    47

    Wrong credentials, refers to the documentation

    getProfileUserSuccess

    0

    Success

    updatePasswordFromProfileMissingCredentials

    88

    Wrong credentials, refers to the documentation

    updatePasswordFromProfileError

    89

    Internal server error

    updatePasswordFromProfileNotFound

    90

    Email not found

    updatePasswordFromProfileSuccess

    0

    Success

    getFirstNameMissingCredentials

    98

    Wrong credentials, refers to the documentation

    getFirstNameMailNotExists

    99

    -

    getFirstNameError

    100

    Error fetching user informations

    getFirstNameSuccess

    0

    Success

    getFirstNameNotExists

    110

    Firstname is not saved in user data

    getUserFromUserIdError

    101

    Error seaching user by email

    checkRegeneratePasswordTokenWrongCredentials

    163

    Wrong credentials, refers to the documentation

    checkRegeneratePasswordTokenError

    164

    Error searching for token

    checkRegeneratePasswordTokenNotFound

    165

    Token not found

    checkRegeneratePasswordTokenSuccess

    0

    Success

    getStartingInformationsMissingCredentials

    54

    Wrong credentials, refers to the documentation

    getStartingInformationsError

    55

    Error retrieving global user account informations

    getStartingInformationsSuccess

    0

    Success

    onCreateUserEmailExists

    84

    -

    onCreateUserError

    85

    -

    onCreateUserNoMailTemplate

    86

    -

    createNeededDocumentsGetUserData

    166

    Internal server error

    createNeededDocumentsCreateUserData

    167

    Internal server error

    renderLoggedHtmlError

    103

    Error generating html

    renderLoggedHtmlSuccess

    0

    Success

    getSalonConfigError

    102

    Error fetching lvl 1 informations

    getSessionSalonConfigError

    103

    Error fetching lvl 2 informations

    updateNewsletterMissingCredentials

    104

    Wrong credentials, refers to the documentation

    updateNewsletterErrorGetUser

    105

    -

    updateNewsletterErrorGetUserData

    106

    -

    updateNewsletterErrorCreateData

    107

    Error saving data for user

    updateNewsletterErrorUpdateData

    108

    Error updating data for user

    updateNewsletterSuccess

    0

    Success

    updateNewsletterError

    109

    Internal server error

    getNewsletterMissingCredentials

    113

    Wrong credentials, refers to the documentation

    getNewsletterError

    114

    Internal server error

    getNewsletterErrorGetUserData

    115

    Error fetching data for user

    getNewsletterSuccess

    0

    Success

    getConfigNewsletterMissingCredentials

    116

    Wrong credentials, refers to the documentation

    getConfigNewsletterError

    117

    Error fetching informations about newsletter

    getConfigNewsletterNoConfig

    118

    No config saved about newsletter

    getConfigNewsletterSuccess

    0

    Success

    createNewsletterAnonymousUserError

    119

    Error creating user informations when saving newsletter

    createNewsletterAnonymousUserNoMailTemplate

    120

    -

    createNewsletterAnonymousUserSuccess

    0

    Success

    AddNewsletterMissingCredentials

    121

    Wrong credentials, refers to the documentation

    AddNewsletterErrorSearch

    122

    Internal server error

    AddNewsletterErrorCreate

    123

    Error creating the user when registering newsletter

    getSalonRefError

    124

    No reference url found to replace {#URL#}

    registerNewsletterSearchToken

    125

    Error searching newsletter token

    registerNewsletterMultipleToken

    126

    Multiple newsletter token

    registerNewsletterMissingCredentials

    127

    Wrong credentials, refers to the documentation

    registerNewsletterUpdateError

    128

    Error updating newsletter data for user

    registerNewsletterAlreadyValidated

    129

    Newsletter already validated with this token

    registerNewsletterSuccess

    0

    Success

    checkNewsletterAlreadyData

    130

    User already register as anonymous in the base

    SSOGetUserMissingUserEmail

    137

    No email given to the REST API

    SSOGetUserInternalError

    138

    Internal server error

    SSOGetUserMailNotExists

    139

    Email doesn’t exists

    SSOGetUserWrongApplicationConfiguration

    140

    ThirdParty doesn’t exists

    SSOGetUserSuccess

    0

    Success

    SSOGetUserInvalidAppToken

    149

    AppToken access is revocated

    SSOGetUserErrorGet

    171

    Error fetching the current user

    SSOGetUserThirdPartyError

    172

    Error fetching and checking appToken

    SSOGetUserSearchUser

    173

    Error searching user

    getUserForThirdPartyMissingCredentials

    141

    Wrong credentials, refers to the documentation

    checkThirdPartyTokenErrorSearch

    152

    Internal server error

    checkThirdPartyTokenNotFound

    153

    Third party token not found

    checkThirdPartyTokenAuthorized

    154

    -

    checkThirdPartyTokenMissingCredentials

    155

    Wrong credentials, refers to the documentation

    checkThirdPartyTokenNotAuthorized

    156

    AppToken not authorized on the given url

    checkThirdPartyNoOrigin

    196

    No Origin HTTP header

    checkThirdPartyTokenSuccess

    0

    Success

    updateUserInfosThirdMissingCredentials

    174

    Wrong credentials, refers to the documentation

    updateUserInfosThirdUserNotExists

    175

    Email not found

    updateUserInfosThirdSearchUserError

    176

    Error searching for email

    updateUserInfosThirdUpdateError

    177

    Error saving given data

    updateUserInfosThirdGetUserDataError

    178

    Error fetching user data

    updateUserInfosThirdSuccess

    0

    Success

    changeUserEmailMissingCredentials

    188

    Wrong credentials, refers to the documentation

    changeUserEmailOldEmailNotExists

    189

    Old email doesn’t exists

    changeUserEmailNewEmailAlreadyExists

    190

    New email already exists

    changeUserEmailNotNormalUser

    191

    Trying to change email of a not  normal user

    changeUserEmailSuccess

    0

    Success

    checkUserExhibitorMissingCredentials

    198

    Wrong credentials, refers to the documentation

    checkUserExhibitorNotFound

    199

    Email not found

    checkUserExhibitorError

    200

    Internal server error

    checkUserCredentialsMissingCredentials

    201

    Wrong credentials, refers to the documentation

    checkUserCredentialsInternalError

    202

    Internal server error

    exportMissingCredentials

    168

    Wrong credentials, refers to the documentation

    exportWrongTimestamp

    169

    Given timestamp is less or equal 0

    relaunchInactiveMissingCredentials

    192

    Wrong credentials, refers to the documentation

    relaunchInactiveError

    193

    Internal server error

    checkAuthorizedLanguagesError

    170

    Error checking given language is allowed for a showroom

    getLoggedUserError

    179

    -

    getApplicationUserError

    180

    Error fetching third party informations

    applicationNotAuthorized

    181

    Third party is not authorized

    newsletterNoMainNewsletter

    182

    No main newsletter configured

    getUserDataError

    184

    Error fetching userData

    updateUserDataError

    185

    Error updating userData

    createUserDataError

    186

    Error creating userData

    getMailTemplateNotFound

    187

    No email template found

    missingToken

    194

    -

    checkFirstLoginNoMainNewsletter

    195

    error fetching main newsletter

    wrongItemTypeForSelection

    197

    Item type for selection is not allowed

    deletedUser

    202

    Trying to log a temporary deleted user

    getUserError

    203

    Error fetching user