Système de parrainage sur Sendinblue

Novice, je bloque sur plusieurs points

a marqué ce sujet comme résolu.

Bonjour à tous, j’espère de tout cœur que vous pourrez m’aider, car voilà plusieurs jours que je bloque sur ce problème et je commence à désespérer de trouver. Ce n’est pas très compliqué, je pense pour qui maitrise, m’est ce n’est pas mon cas :( Je suis donc auteur et après m’être créer un blog, je me suis lancer dans la mise en place d’un tunnel de vente que je souhaitais associer à un système de parrainage. Je suis chez Sendinblue et ils ont réalisé un article sur le sujet : https://fr.sendinblue.com/blog/systeme-parrainage-sendinblue/ Si j’ai tout bien compris, c’est des mails qu’ils proposent de créer, alors que je voulais intégrer mon système de parrainage dans un formulaire. L’ennui c’est que les formulaires sont en html et que le code proposé dans l’article est en php et je n’arrive pas à adapter les deux. J’ai bien créer mes attributs REF et PAR, mais j’ignore comment intégrer la 2ème variable à mon formulaire sachant que Sendinblue ne propose pas un grand choix de possibilité.

J’espère avoir été claire et qu’une âme charitable parviendra à m’aider. Je vous joins au cas où le code html de mon formulaire et merci d’avoir pris le temps de passer par ici.


<!-- Begin Sendinblue Form -->
<!-- START - We recommend to place the below code in head tag of your website html  -->
<style>
  @font-face {
    font-display: block;
    font-family: Roboto;
    src: url(https://assets.sendinblue.com/font/Roboto/Latin/normal/normal/7529907e9eaf8ebb5220c5f9850e3811.woff2) format("woff2"), url(https://assets.sendinblue.com/font/Roboto/Latin/normal/normal/25c678feafdc175a70922a116c9be3e7.woff) format("woff")
  }

  @font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 600;
    src: url(https://assets.sendinblue.com/font/Roboto/Latin/medium/normal/6e9caeeafb1f3491be3e32744bc30440.woff2) format("woff2"), url(https://assets.sendinblue.com/font/Roboto/Latin/medium/normal/71501f0d8d5aa95960f6475d5487d4c2.woff) format("woff")
  }

  @font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 700;
    src: url(https://assets.sendinblue.com/font/Roboto/Latin/bold/normal/3ef7cf158f310cf752d5ad08cd0e7e60.woff2) format("woff2"), url(https://assets.sendinblue.com/font/Roboto/Latin/bold/normal/ece3a1d82f18b60bcce0211725c476aa.woff) format("woff")
  }

  #sib-container input:-ms-input-placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
  }

  #sib-container input::placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
  }

  #sib-container textarea::placeholder {
    text-align: left;
    font-family: "Helvetica", sans-serif;
    color: #c0ccda;
  }
</style>
<link rel="stylesheet" href="https://sibforms.com/forms/end-form/build/sib-styles.css">
<!--  END - We recommend to place the above code in head tag of your website html -->

<!-- START - We recommend to place the below code where you want the form in your website html  -->
<div class="sib-form" style="text-align: center;
         background-color: #EFF2F7;                                 ">
  <div id="sib-form-container" class="sib-form-container">
    <div id="error-message" class="sib-form-message-panel" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#661d1d; background-color:#ffeded; border-radius:3px; border-color:#ff4949;max-width:540px;">
      <div class="sib-form-message-panel__text sib-form-message-panel__text--center">
        <svg viewBox="0 0 512 512" class="sib-icon sib-notification__icon">
          <path d="M256 40c118.621 0 216 96.075 216 216 0 119.291-96.61 216-216 216-119.244 0-216-96.562-216-216 0-119.203 96.602-216 216-216m0-32C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm-11.49 120h22.979c6.823 0 12.274 5.682 11.99 12.5l-7 168c-.268 6.428-5.556 11.5-11.99 11.5h-8.979c-6.433 0-11.722-5.073-11.99-11.5l-7-168c-.283-6.818 5.167-12.5 11.99-12.5zM256 340c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28z"
          />
        </svg>
        <span class="sib-form-message-panel__inner-text">
                          Nous n&#039;avons pas pu confirmer votre inscription.
                      </span>
      </div>
    </div>
    <div></div>
    <div id="success-message" class="sib-form-message-panel" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#085229; background-color:#e7faf0; border-radius:3px; border-color:#13ce66;max-width:540px;">
      <div class="sib-form-message-panel__text sib-form-message-panel__text--center">
        <svg viewBox="0 0 512 512" class="sib-icon sib-notification__icon">
          <path d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 464c-118.664 0-216-96.055-216-216 0-118.663 96.055-216 216-216 118.664 0 216 96.055 216 216 0 118.663-96.055 216-216 216zm141.63-274.961L217.15 376.071c-4.705 4.667-12.303 4.637-16.97-.068l-85.878-86.572c-4.667-4.705-4.637-12.303.068-16.97l8.52-8.451c4.705-4.667 12.303-4.637 16.97.068l68.976 69.533 163.441-162.13c4.705-4.667 12.303-4.637 16.97.068l8.451 8.52c4.668 4.705 4.637 12.303-.068 16.97z"
          />
        </svg>
        <span class="sib-form-message-panel__inner-text">
                          Votre inscription est confirmée.
                      </span>
      </div>
    </div>
    <div></div>
    <div id="sib-container" class="sib-container--large sib-container--vertical" style="text-align:center; background-color:rgba(255,255,255,1); max-width:540px; border-radius:3px; border-width:1px; border-color:#C0CCD9; border-style:solid;">
      <form id="sib-form" method="POST" action="https://5a21b47a.sibforms.com/serve/MUIEAO8kuqPGz3TztpsqpoKaLRkCzfIK4JtJ9L-sp2BoAHuleUli92kz2GduZocpNSvybyeb4QIrT9qx7OcA9BV-aozyvbOWMj2eUF7VO_997pb0yu94dZZt6MmV6sPE8IXHXBYcIDsW_sTqjzc_FAJxmqG6H4wLsEU1P-zahAcisp3ftVtkLbDeiYBJ4gFR2JchXrBWUCR0ZsFp"
        data-type="subscription">
        <div style="padding: 8px 0;">
          <div class="sib-form-block" style="font-size:32px; text-align:left; font-weight:700; font-family:&quot;Helvetica&quot;, sans-serif; color:#3C4858; background-color:transparent;">
            <p>Let Me Dream - L'autre monde</p>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-form-block" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#3C4858; background-color:transparent;">
            <div class="sib-text-form-block">
              <p>Complète le formulaire pour recevoir ton ebook</p>
            </div>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-input sib-form-block">
            <div class="form__entry entry_block">
              <div class="form__label-row ">
                <label class="entry__label" style="font-size:16px; text-align:left; font-weight:700; font-family:&quot;Helvetica&quot;, sans-serif; color:#3c4858;" for="EMAIL" data-required="*">
                  Veuillez renseigner votre adresse email
                </label>

                <div class="entry__field">
                  <input class="input" type="text" id="EMAIL" name="EMAIL" autocomplete="off" placeholder="EMAIL" data-required="true" required />
                </div>
              </div>

              <label class="entry__error entry__error--primary" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#661d1d; background-color:#ffeded; border-radius:3px; border-color:#ff4949;">
              </label>
              <label class="entry__specification" style="font-size:12px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#8390A4;">
                Veuillez renseigner votre adresse email pour vous inscrire. Ex. : abc@xyz.com
              </label>
            </div>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-input sib-form-block">
            <div class="form__entry entry_block">
              <div class="form__label-row ">
                <label class="entry__label" style="font-size:16px; text-align:left; font-weight:700; font-family:&quot;Helvetica&quot;, sans-serif; color:#3c4858;" for="PRENOM" data-required="*">
                  Entre ton PRENOM
                </label>

                <div class="entry__field">
                  <input class="input" maxlength="200" type="text" id="PRENOM" name="PRENOM" autocomplete="off" placeholder="PRENOM" data-required="true" required />
                </div>
              </div>

              <label class="entry__error entry__error--primary" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#661d1d; background-color:#ffeded; border-radius:3px; border-color:#ff4949;">
              </label>
              <label class="entry__specification" style="font-size:12px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#8390A4;">
                Personnalisez ce texte d&#039;aide facultatif avant de publier votre formulaire..
              </label>
            </div>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-input sib-form-block">
            <div class="form__entry entry_block">
              <div class="form__label-row ">
                <label class="entry__label" style="font-size:16px; text-align:left; font-weight:700; font-family:&quot;Helvetica&quot;, sans-serif; color:#3c4858;" for="REF">
                  Précise l&#039;adresse email de ton parrain
                </label>

                <div class="entry__field">
                  <input class="input" maxlength="200" type="text" id="REF" name="REF" autocomplete="off" placeholder="EMAIL PARRAIN" />
                </div>
              </div>

              <label class="entry__error entry__error--primary" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#661d1d; background-color:#ffeded; border-radius:3px; border-color:#ff4949;">
              </label>
              <label class="entry__specification" style="font-size:12px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#8390A4;">
                Mention facultative
              </label>
            </div>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-optin sib-form-block">
            <div class="form__entry entry_mcq">
              <div class="form__label-row ">
                <div class="entry__choice">
                  <label>
                    <input type="checkbox" class="input_replaced" value="1" id="OPT_IN" name="OPT_IN" />
                    <span class="checkbox checkbox_tick_positive"></span><span style="font-size:14px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#3C4858; background-color:transparent;"><p>J'accepte le Deal, je lis et partage ma lecture de Let Me Dream.</p></span>                    </label>
                </div>
              </div>
              <label class="entry__error entry__error--primary" style="font-size:16px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#661d1d; background-color:#ffeded; border-radius:3px; border-color:#ff4949;">
              </label>
              <label class="entry__specification" style="font-size:12px; text-align:left; font-family:&quot;Helvetica&quot;, sans-serif; color:#8390A4;">
                Vous pouvez vous désinscrire à tout moment en cliquant sur le lien présent dans nos emails.
              </label>
            </div>
          </div>
        </div>
        <div style="padding: 8px 0;">
          <div class="sib-form-block" style="text-align: left">
            <button class="sib-form-block__button sib-form-block__button-with-loader" style="font-size:16px; text-align:left; font-weight:700; font-family:&quot;Helvetica&quot;, sans-serif; color:#FFFFFF; background-color:#8a3e4a; border-radius:3px; border-width:0px;"
              form="sib-form" type="submit">
              <svg class="icon clickable__icon progress-indicator__icon sib-hide-loader-icon" viewBox="0 0 512 512">
                <path d="M460.116 373.846l-20.823-12.022c-5.541-3.199-7.54-10.159-4.663-15.874 30.137-59.886 28.343-131.652-5.386-189.946-33.641-58.394-94.896-95.833-161.827-99.676C261.028 55.961 256 50.751 256 44.352V20.309c0-6.904 5.808-12.337 12.703-11.982 83.556 4.306 160.163 50.864 202.11 123.677 42.063 72.696 44.079 162.316 6.031 236.832-3.14 6.148-10.75 8.461-16.728 5.01z"
                />
              </svg>
              Télécharger
            </button>
          </div>
        </div>

        <input type="text" name="email_address_check" value="" class="input--hidden">
        <input type="hidden" name="locale" value="fr">
      </form>
    </div>
  </div>
</div>
<!-- END - We recommend to place the below code where you want the form in your website html  -->

<!-- START - We recommend to place the below code in footer or bottom of your website html  -->
<script>
  window.REQUIRED_CODE_ERROR_MESSAGE = 'Veuillez choisir un code pays';
  window.LOCALE = 'fr';
  window.EMAIL_INVALID_MESSAGE = window.SMS_INVALID_MESSAGE = "Les informations que vous avez fournies ne sont pas valides. Veuillez vérifier le format du champ et réessayer.";

  window.REQUIRED_ERROR_MESSAGE = "Vous devez renseigner ce champ. ";

  window.GENERIC_INVALID_MESSAGE = "Les informations que vous avez fournies ne sont pas valides. Veuillez vérifier le format du champ et réessayer.";




  window.translation = {
    common: {
      selectedList: '{quantity} liste sélectionnée',
      selectedLists: '{quantity} listes sélectionnées'
    }
  };

  var AUTOHIDE = Boolean(0);
</script>
<script src="https://sibforms.com/forms/end-form/build/main.js"></script>


<!-- END - We recommend to place the above code in footer or bottom of your website html  -->
<!-- End Sendinblue Form -->

<p>Ton code HTML</p>
+0 -0

Salut,

Peux-tu éditer ton sujet afin de mettre en forme correctement ton message s’il-te-plaît ? Notamment le code, que tu peux mettre dans un affichage spécifique (ce qui est bizarrement à moitié déjà le cas). Tu peux savoir comment faire sur notre guide markdown :) Éventuellement, tu peux même mettre ton code dans un spoiler parce qu’il est plutôt long.


En ce qui concerne ton problème, tu as l’obligation de passer par un langage dit serveur ou back-end. Le HTML est un langage (particulier, en plus) qui est exercé du côté du client. Si rien n’est fait du côté serveur, alors tu ne reçois et conserves aucune information. Je pense que tu devrais te diriger vers une solution externe de parrainage que tu n’aies pas besoin de gérer.

+0 -0

Dans un premier temps, ça serait bien que tu utilises les balises dédiées au code pour qu’on puisse lire correctement ton code:

```html
<p>Ton code HTML</p>
```

Plus d’informations ici.


Pour ce qui est de ton problème, l’article est assez clair, tu as besoin de plusieurs parties:

  1. Le code PHP du formulaire dispo ici
  2. Le code PHP de la validation du formulaire dispo ici
  3. Créer tes emails dans l’interface de sendinblue (les fameux templates)

Donc je ne sais pas trop à quoi correspond le HTML que tu nous donnes là.

Merci beaucoup pour votre retour, j’ai modifié mon message, j’espère que c’est bon comme ça ;) Je suis vraiment désolée, je ne suis pas très douée en langage informatique :D

En fait Nek, je ne veux pas un email, mais un formulaire à compléter qui se trouvera sur mon site et les formulaires de sendinblue sont en html, alors que la solution proposé est en php.

Il me semble qu’il faudrait simplement que j’ajoute dans mon code html la variable PAR pour que mes parrains soient comptabilisés

Dans le code php, ça se passe ici :

/* On récupère les attributs du parrain */      
            try {
                $parrain_data = $api_instance->getContactInfo($parrain_email);
            
                /* ...On ajoute l'invité à la liste en spécifiant l'email de son parrain */
                $invite_create = array( 
                    "email" => $invite_email,
                    "attributes" => array("REF"=>$parrain_email),               
                    "listIds" => array($list_id)  
                );              
                try { $api_instance->createContact($invite_create); } catch (Exception $e) { echo "L'enregistrement de l'adresse email &agrave; inviter a &eacute;chou&eacute; : ", $e->getMessage(), PHP_EOL; die(); }
        
                /* On récupère le nombre de parrainages que le parrain a déjà effectués... */
                $parrain_data_PAR = _r($parrain_data)["attributes"]["PAR"];         
                if( !is_numeric($parrain_data_PAR) ) { $parrain_data_PAR = 0; }
                
                /*... et on l'incrémente de 1 */        
                $parrain_update = array( "attributes" => array("PAR"=>$parrain_data_PAR+1) );
                try { $api_instance->updateContact($parrain_email, $parrain_update); } catch (Exception $e) { echo "La mise &agrave; jour du nombre de parrainages a &eacute;chou&eacute; : ", $e->getMessage(), PHP_EOL; die(); }
+0 -0

Quand tu crées un formulaire en HTML, c’est la partie côté client. Quand tu remplis un formulaire, le client envoie le formulaire rempli au serveur. Ensuite, c’est le serveur qui récupère ces infos et les traite de son côté. Dans ton cas, tu as la partie côté client, mais tu n’as pas la partie serveur, celle qui est en php. Mais comme elle est obligatoire pour traiter les données du formulaire, ça ne peut pas fonctionner actuellement.

Tu héberges ton blog chez quel hébergeur ?


Edit : par ailleurs, pourquoi est-ce que tu souhaites fonctionner de cette manière ? Le système de parrainage ne me semble pas du tout adapté à la vente de livres.

+0 -0

Merci beaucoup pour ta réponse, je ne sais malheureusement pas où se trouve la partie serveur chez sendinblue. J’ai bien essayé de regarder pour chez un autre service d’emailing, mais aucun ne semble avoir de solution. Je suis chez Ionos, j’ai un blog Wordpress, mais si je dois ensuite tout transférer là bas pour créer une série d’email automatique, je ne gagne pas vraiment du temps. Enfin c’est ce qu’il me semble ;)

La partie serveur, c’est ton wordpress / ton hébergement Ionos. Tu ferais mieux de chercher un plugin wordpress qui te permette de gérer cette fonctionnalité, en faisant attention à ce qu’il soit bien mis à jour pour éviter les failles de sécurité.

Edit : je précise un peu plus, c’est que je pense qu’il te serait trop difficile d’implémenter par toi-même cette fonctionnalité avec sendinblue, si tu n’as pas les connaissances nécessaires en php / fonctionnement de serveur. C’est un truc que ton hébergement wordpress te sert à éviter : il comprend un tas de fonctionnalités et t’évite de toucher à la complexité du développement web.

+2 -0

Bonjour Jane, je cherche à mettre en place cette même solution de parrainage avec sendinblue mais je ne parviens pas vraiment à comprendre comment cela prend place notamment du côté de mes utilisateurs. Visuellement parlant à commencer et surtout quelle est la démarche à suivre de leur côté pour parrainer quelqu’un. Je ne suis pas non plus certaine que le système convienne à ce que je cherche, je voudrais pouvoir partager un code ou un lien qui permette au parrainé d’avoir une réduction à l’achat et au parrain de bénéficier lui aussi d’un avant SEULEMENT si la personne a acheté. Or, si je comprends la mise en place du code, ici la comptabilisation du nombre de parrainés se fait dès le clic sur le lien envoyé par email, les résultats seraient donc faussés. Si toi ou d’autres avez un avis sur la question, je suis preneuse, merci d’avance !

@Amch si vous n’avez pas les compétences requises, ne passez pas par Sendinblue. Vous feriez mieux d’utiliser un plugin adapté au CMS de votre site web.

D’ailleurs, en passant, il y a un plugin sendinblue pour Wordpress, il faut voir s’il permet de gérer ça.

+0 -0

Bonjour Moté, j’ai un développeur junior à mes côtés pour mettre cela en place, je voulais surtout savoir ce que donnait le rendu côté utilisateur avant de le mettre en place. Par ailleurs je ne suis pas sur wordpress, le site a été créé de A à Z donc pas de plug-in, obligé de passer par une solution de parrainage payante (et très onéreuse…)

Ou alors votre développeur peut la développer lui-même. Cependant, je ne pense pas qu’il soit une bonne idée d’embaucher un développeur junior pour coder un site d’e-commerce de zéro, il aurait mieux fallu envisager un CMS spécialisé et lui demander de l’adapter à vos besoins.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte