Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
<html>
  <head>
    <script src="https://assets.fairandsmart.tech/consent.js"></script>
  </head>
  <body>
    <form id="myform"></form>
    <script>
      const dataCollector = new FairAndSmart.DataCollector({
        dataCreationEndpoint: 'http://proxy-fs.domain.com/data/form',  // L'URL où seront envoyées les données. Voir la section "proxy" pour plus d'informations.
        elementId: 'my-form', // L'id de la balise HTML à remplacer
        schemaName: 'Contact', // Le nom du schéma à utiliser (voir backoffice)
        schemaPrefix: 'sncfreseau', // Le préfixe du schéma (voir backoffice)
        userFieldId: 'e58d6366-4608-4d87-a1f5-da0826e13158', // L'identifiant (issu du schéma) du champ à utiliser en tant qu'identifiant de l'utilisateur
        dataSentTemplate: `<strong>You information have been sent with your consent`<strong>Vos informations ont bien été envoyée avec votre consentement !</strong>` // Le template HTML qui remplacement le formulaire une fois celui-ci envoyé.
      });
      
      dataCollector.render();   // Remplace la balise <form> avec le formulaire généré.
      
      /** Ici on utilise la puissance de rxjs pour suivre l'avancement de la collecte des données. */
      dataCollector.onSend().pipe(
        mergeMap((dataStore) => {
          /** Si le code ici s'exectute, c'est que l'utilisateur a cliqué sur "Envoyer" et qu'un DataStore a été créé.
           *  Effectuez les actions que vous souhaitez avant d'envoyer les données sur nos serveurs.
           */
           return dataCollector.pushData();
        })
      ).subscribe({
        next: () => { /** Callback de succès : les données ont bien été envoyées */ },
        error: (err) => { /** Callback d'erreur : gérez l'erreur ici */ };
      });
    </script>
  </body>
</html>

...

Code Block
languagetypescript
import { DataCollector} from '@fairandsmart/consent-manager';

const dataCollector = new DataCollector({
  dataCreationEndpoint: 'http://proxy-fs.domain.com/data/form',  // L'URL où seront envoyées les données. Voir la section "proxy" pour plus d'informations.
  elementId: 'my-form', // L'id de la balise HTML à remplacer
  schemaName: 'Contact', // Le nom du schéma à utiliser (voir backoffice)
  schemaPrefix: 'sncfreseau', // Le préfixe du schéma (voir backoffice)
  userFieldId: 'e58d6366-4608-4d87-a1f5-da0826e13158', // L'identifiant (issu du schéma) du champ à utiliser en tant qu'identifiant de l'utilisateur
  dataSentTemplate: `<strong>Vos `<strong>Youinformations ont informationbien haveété beenenvoyée sentavec withvotre yourconsentement consent!</strong>` // Le template HTML qui remplacement le formulaire une fois celui-ci envoyé.
});

dataCollector.render();   // Remplace la balise <form> avec le formulaire généré.

/** Ici on utilise la puissance de rxjs pour suivre l'avancement de la collecte des données. */
dataCollector.onSend().pipe(
  mergeMap((dataStore) => {
    /** Si le code ici s'exectute, c'est que l'utilisateur a cliqué sur "Envoyer" et qu'un DataStore a été créé.
      *  Effectuez les actions que vous souhaitez avant d'envoyer les données sur nos serveurs.
      */
      return dataCollector.pushData();
  })
).subscribe({
  next: () => { /** Callback de succès : les données ont bien été envoyées */ },
  error: (err) => { /** Callback d'erreur : gérez l'erreur ici */ };
});

...