SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 252 visiteurs en ce moment

Accueil > Interactivité, échanges > Email, Newsletters, listes de diffusion > Newsletter > API Newsletter

API Newsletter

16 janvier 2013 – par Cerdic – 24 commentaires

20 votes

L’API Newsletter se décompose en 3 modules subscribe, compose et send qui correspondent aux 3 grandes fonctionnalités qui constituent la gestion de Newsletter.

subscribe

Un exemple d’implémentation est fourni par le plugin Mailsubscribers

newsletter/subscribe

Inscrit un subscriber par son email. Si le subscriber existe deja, on met a jour les informations (nom, listes, lang). L’ajout d’une inscription a une liste est cumulatif : si on appelle plusieurs fois la fonction avec le même email et plusieurs listes différentes, l’inscrit sera sur chaque liste.
Pour retirer un mail d’une liste, il faut le désinscrire.

Quand aucune liste n’est indiquée :

  • si l’email n’est inscrit a rien, on l’inscrit a la liste générale newsletter
  • si l’email est déjà inscrit, on ne change pas ses inscriptions, mais on modifie ses informations (nom,lang)
  1. $subscribe = charger_fonction("subscribe","newsletter");
  2. $subscribe($email, $options);

Télécharger

newsletter/unsubscribe

Désinscrire un subscriber par son email. Si une ou plusieurs listes sont précisées, le subscriber est désinscrit de ces seules listes. Si il n’en reste aucune, le statut du subscriber est suspendu. Si aucune liste n’est précisée, le subscriber est désinscrit de toutes les listes newsletter.

  1. $unsubscribe = charger_fonction("unsubscribe","newsletter");
  2. $unsubscribe($email, $options);

Télécharger

newsletter/subscriber

Décrit les informations d’un inscrit. Pour retirer une liste il faut utiliser unsubscribe.

  1. $subscriber = charger_fonction("subscriber","newsletter");
  2. $subscriber($email);

Télécharger

newsletter/subscribers

Renvoie les inscrits à une ou plusieurs listes. Si plusieurs listes sont demandées, c’est un OU qui s’applique (renvoie les inscrits à au moins une des listes). Les options count et limit permettent de faire un simple comptage ou de ne récupérer qu’une portion de la liste.

  1. $subscribers = charger_fonction("subscribers","newsletter");
  2. $inscrits = $subscribers($listes,$options);

Télécharger

newsletter/lists

Renvoie les listes de diffusion disponibles avec leurs statuts (open,close,?).

  1. $lists = charger_fonction("lists","newsletter");
  2. $inscrits = $lists($options);

Télécharger

#FORMULAIRE_NEWSLETTER_SUBSCRIBE

Permet d’insérer dans une page un formulaire d’inscription à la newsletter, ou à une ou plusieurs autres listes passées en argument.

  1. #FORMULAIRE_NEWSLETTER_SUBSCRIBE
  2.  
  3. #FORMULAIRE_NEWSLETTER_SUBSCRIBE{nouveautes}
  4.  
  5. #FORMULAIRE_NEWSLETTER_SUBSCRIBE{newsletter,nouveautes}

Télécharger

#FORMULAIRE_NEWSLETTER_UNSUBSCRIBE

Permet d’insérer dans une page un formulaire de désinscription à la newsletter, ou à une ou plusieurs autres listes passées en argument.

  1. #FORMULAIRE_NEWSLETTER_UNSUBSCRIBE
  2.  
  3. #FORMULAIRE_NEWSLETTER_UNSUBSCRIBE{nouveautes}
  4.  
  5. #FORMULAIRE_NEWSLETTER_UNSUBSCRIBE{newsletter,nouveautes}

Télécharger

compose

Un exemple d’implémentation est fourni par le plugin Newsletters

newsletter/content

Renvoyer le contenu d’une newsletter par son id (le format de l’id n’est pas imposé par l’API et peut être un entier ou une chaine. Il doit être consistant avec celui passé à la fonction newsletter/send).

  1. $content = charger_fonction("content","newsletter");
  2. $lettre = $content($id);

Télécharger

newsletter/contextualize

Contextualiser le contenu de l’infolettre en fonction des informations concernant le destinataire. La syntaxe des variables n’est pas imposée par l’API et dépend de l’implémentation par le plugin qui prend en charge cette partie de l’API.

  1. $contextualize = charger_fonction("contextualize","newsletter");
  2. $content2 = $contextualize($content, $context);

Télécharger

send

Un exemple d’implémentation est fourni par le plugin Mailshot

newsletter/send

Envoie une infolettre à un destinataire. L’infolettre peut être fournie par son id (et la fonction utilisera newsletter/content pour récupérer son contenu détaillé, ou decrite explicitement par un tableau (de format homogène à ce que attend envoyer_mail).

L’argument $destinataire attendu est homogène à ce que fournit newsletter/subscriber.

Le contenu $corps de l’email sera contextualisé à l’aide du contenu de $destinataire au moyen de la fonction newsletter/contextualize

  1. $send = charger_fonction("send","newsletter");
  2. $res = $send($destinataire, $corps, $options);

Télécharger

newsletter/bulkstart

Démarrer un envoi en nombre d’une info-lettre vers une ou plusieurs listes.

  1. $bulkstart = charger_fonction("bulkstart","newsletter");
  2. $res = $bulkstart($corps, $listes, $options);

Télécharger

newsletter/feedback

Permet la prise en compte d’un évènement concernant un mail envoyé (tracking de l’ouverture, clic sur un lien, bounce...) pour mettre à jour le statut de l’envoi correspondant, ou désabonner un email qui n’est plus valide etc.

  1. $feedback = charger_fonction("feedback","newsletter");
  2. $feedback($quoi, $email, $tracking_id);

Télécharger

Le tracking_id correspond à celui qui a été fourni en option dans l’appel à newsletter/bulkstart.

#FORMULAIRE_NEWSLETTER_SEND

Permet d’envoyer une info-lettres. L’identifiant de l’info-lettres est fourni en argument.
Il n’y a aucune contrainte sur cet identifiant, qui doit simplement être reconnu par la fonction newsletter/content à laquelle il sera passé.

Un second argument permet de préciser que l’envoi se fait en mode test uniquement (pour les info-lettres non finalisées par exemple). En mode test, le sujet du mail est préfixé par [TEST] et l’envoi en nombre n’est pas permis.

  1. #FORMULAIRE_NEWSLETTER_SEND{#ID_NEWSLETTER}
  2.  
  3. [(#REM) En mode test : ]
  4. #FORMULAIRE_NEWSLETTER_SEND{#ID_NEWSLETTER,' '}

Télécharger

Dernière modification de cette page le 16 janvier 2013

Retour en haut de la page

Vos commentaires

  • Le 29 octobre à 11:03, par Marc En réponse à : API Newsletter

    Déjà posté ailleurs mais bon je cherche ....

    Bonjour,

    Je ne sais si c’est le bon endroit, mais j’ai un problème avec l’ordre :

    [(#ENV{date}|affdate)] qui affiche dans un titre d’infolettre par exemple, la date !

    qui est incompatible avec le plugin Enluminures typographiques V3
    car les [(........)] centrent un texte et donc c’est la grosse caguade, aucune idée pour en sortir et vous ?

    Merci :-)

    Répondre à ce message

  • Le 4 mars à 10:52, par Manu En réponse à : API Newsletter

    Erreur : il faut un sujet
    Je tombe sur un os : Impossible de faire un test d’envoi : j’ai ce message « erreur, il faut un sujet » et le processus est bloqué. (voir la copie d’écran ci-dessous).
    J’ai l’impression d’avoir pourtant renseigné ce qu’il fallait (l’infolettre a un titre ) .. C’est moi qui passe à côté de quelque chose ou il y a un schmiliblick quelque part ?

    SPIP 3.0.20
    newsletter/mailsubscribers/facteur : à jour

    GIF - 83.2 ko
    • Le 4 mars à 13:19, par Cerdic En réponse à : API Newsletter

      Hmm en effet un petit bug : tu dois avoir une balise <title>..</title> dans le HTML généré par ton gabarit de Newsletter, et du coup c’est utilisé pour le sujet du mail, qui se retrouve vide.
      C’’est un cas que je n’avais pas testé, ça doit être corrigé par http://zone.spip.org/trac/spip-zone/changeset/95762

    • Le 4 mars à 13:40, par Manu En réponse à : API Newsletter

      Dans le mille !
      Merci de ta réactivité !

    Répondre à ce message

  • Le 1er mars à 16:13, par kris En réponse à : API Newsletter

    Bonjour,

    Suite à une mise à jour de spip 3.0.16 à 3.1, et des plugins :
    -  Newsletter 1.3.16
    -  Mailsubscriber 1.7.8
    -  Mailshot 1.14.1

    Depuis l’interface de publication de la newsletter, avec le statut « publier en ligne », nous ne parvenons plus à sélectionner la liste des abonnés comme c’était le cas auparavant...
    Dans le option du select, on aperçois « Ouverte » qui est le statut de la liste, mais pas la liste elle-même (nommée Newsletter pour l’originalité ;-) )

    Du coup pas d’envoi possible !!
    Nous avons plus de 2000 inscrits et nous aimerions effectuer cet envoi rapidement...
    Que pouvons-nous faire ? Est-ce un bug ?

    Merci de vos lumières...

    • Le 1er mars à 17:13, par Cerdic En réponse à : API Newsletter

      Bonjour,

      je viens de vérifier chez moi suite aux modifications récentes, tout apparait bien. Par contre, il faut que la liste ait des inscrits pour apparaitre. Il y a peut-être un problème de cache sur le nombre d’inscrits si tu viens tout juste de les importer. Essaye avec &var_mode=calcul dans l’URL de la page ?

    • Le 1er mars à 17:46, par kris En réponse à : API Newsletter

      Bonjour Cerdic, ces lettres sont envoyées tous les mois depuis septembre 2014 sans aucun problèmes :)
      La listes des inscrits est toujours la même, quelques inscrits en plus et en moins, c’est tout.
      Ci-joint une impression d’écran...
      J’hésite à vider le cache à la main (temps de calcul / affichage...), mais déjà fait via l’interface admin.

      Merci de ton aide !

      JPEG - 94.8 ko
    • Le 1er mars à 18:44, par Cerdic En réponse à : API Newsletter

      On dirait un bug dans le comptage du nombre d’inscrit. Tu sais quelle version du plugin mailshot tu avais avant la mise à jour ? Tu as essayé d’ajouter &var_mode=calcul dans l’URL de la page de la newsletter pour voir si ça résoud ?

    • Le 2 mars à 10:44, par kris En réponse à : API Newsletter

      Bonjour Cerdic,

      Nouvelle version de Mailshot disponible ce matin donc mise à jour (1.14.1 -> 1.14.2)
      Vidage du cache par FTP, et du coup plus de « Ouverte » dans la liste déroulant, plus rien :-/
      Dans la liste des inscrits j’ai bien « La Newsletter » avec 1752 inscrits, mais elle n’apparait plus dans le select...
      ... et oui j’ai bien ajouté &var_mode=calcul à l’url, sans effet.
      ... et non je ne me souviens plus de l’ancienne version de Mailshot, mais elle datait probablement de juin 2014 (?)

      Que pouvons-nous faire ?

    • Le 2 mars à 11:03, par kris En réponse à : API Newsletter

      Précision peut-être importante (?), SPIP est mutualisé (2 sites), et celui-ci est en sous-domaine de l’autre... Mais encore une fois, tout se passait très bien jusqu’à l’upgrade d’hier.

    • Le 2 mars à 15:32, par Cerdic En réponse à : API Newsletter

      Corrigé par http://zone.spip.org/trac/spip-zone/changeset/95698/_plugins_/mailsubscribers qui traite le cas particulier des listes de diffusion avec un identifiant numerique !

    • Le 2 mars à 18:26, par kris En réponse à : API Newsletter

      Je n’ai qu’un mot, Bravo !
      Moins de 24 heures pour corriger et mettre à jour trois plugins ! Qui dit mieux ???
      Respect :-)

    Répondre à ce message

  • Le 19 novembre 2015 à 17:31, par Christophe En réponse à : API Newsletter

    Bonjour,

            $send = charger_fonction("send","newsletter");

    Sauf erreur, lors de l’appel de la fonction "send", si $corps est un tableau, les infos 'from' et 'nom_envoyeur' ne sont pas récupérés.

    Il faut ajouter dans le fichier « send.php », le code

            $from = $corps['from'];
            $nom_envoyeur = $corps['nom_envoyeur'];

    .

    Répondre à ce message

  • Le 20 août 2013 à 13:30, par graphie En réponse à : API Newsletter

    Bonjour,

    Lors de l’inscription à la newsletter via le formulaire qui est inséré dans un article de la manière suivante :
    <formulaire|newsletter_subscribe>

    si je saisi une adresse mail et que je clique sur « m’inscrire à la newsletter », je n’ai pas le message de retour qui indique (sur cette même page) que l’inscription est prise en compte !?

    Pourtant le reste du processus est parfait.

    Quel pourrait être le souci à votre avis ?

    MErci,
    françois

    • Le 22 août 2013 à 09:29, par Cerdic En réponse à : API Newsletter

      Est-ce que ton article ne serait pas affiché via un #INCLURE dans le squelette ? Si c’est le cas peux-tu essayer avec <INCLURE> à la place ? Sinon peux tu essayer en insérant le formulaire dans le squelette et non dans l’article pour vérifier si cela fonctionne mieux ?

    • Le 22 août 2013 à 10:46, par graphie En réponse à : API Newsletter

      Je n’ai pas précisé que j’utilisais les dernières versions de SPIP3 et des plugins.

      Mon article n’est pas affiché via un #INCLURE.

      Je viens d’essayer avec une insertion directe (dans mon squelette article.html) du formulaire #FORMULAIRE_NEWSLETTER_SUBSCRIBE et le phénomène est le même : juste après avoir cliqué sur « m’inscrire à la newsletter », il y a bien la petite roue ajax qui tourne, mais pas de message qui s’affiche.

      L’inscription se déroule néanmoins correctement.

    • Le 22 août 2013 à 10:54, par graphie En réponse à : API Newsletter

      Je ne sais pas si il y a des éléments en commun entre les 2 plugins, mais j’utilise le plugin FORMIDABLE pour ma page de contact, et lors de l’envoi d’un message, j’ai bien le message de retour ajax « Votre message a bien été envoyé par courriel ».

    • Le 22 août 2013 à 12:33, par graphie En réponse à : API Newsletter

      OUPS !!!

      Le message est bien présent, mais j’avais un style css personnalisé qui le masquait (display :none) :-((((

      Désolé pour le bruit Cédric.
      françois

    Répondre à ce message

  • Le 10 avril 2013 à 19:20, par graphie En réponse à : API Newsletter

    Bonjour,

    Quelle sera la syntaxe pour insérer un formulaire d’inscription à la newsletter dans un article ?

    Merci,
    françois

    • Le 11 avril 2013 à 10:07, par b_b En réponse à : API Newsletter

      Salut, tout simplement :

      <formulaire|newsletter_subscribe>

      cf la doc des formulaires de SPIP : http://www.spip.net/fr_article3796.html

      ++

    • Le 11 avril 2013 à 11:11, par graphie En réponse à : API Newsletter

      Parfait !
      Merci b_b

    • Le 6 juin 2013 à 14:53, par Pierrot En réponse à : API Newsletter

      Bonjour,

      J’avais trouvé pour cette syntaxe de base, le problème est qu’elle inscrit la personne à la liste newsletter::newsletter ... Quelle est la syntaxe si on veut inscrire à une liste spécifique ?
      on a essayé :

      <formulaire|newsletter_subscribe|liste=newsletter::uneautrenewsletter>
      <formulaire|newsletter_subscribe|newsletter::uneautrenewsletter>
      <formulaire|newsletter_subscribe|liste=uneautrenewsletter>
      <formulaire|newsletter_subscribe|uneautrenewsletter>

      Marche pas. A noter d’ailleurs qu’on constate que la syntaxe « newsletter::uneautrenewsletter » est obligatoire :

      #FORMULAIRE_NEWSLETTER_SUBSCRIBE{uneautrenewsletter}

      ne marche pas ici, les inscrits se retrouvent dans newsletter::newsletter (si cette liste n’existe pas elle se crée direct avec le nouvel inscrit) , il faut utiliser :

      #FORMULAIRE_NEWSLETTER_SUBSCRIBE{newsletter::uneautrenewsletter}

      marche bien, les inscrits se retrouvent dans la bonne liste

      On a tout faux ?

      Pierre.

    • Le 18 juin 2013 à 18:57, par Pierrot En réponse à : API Newsletter

      Je me permet un petit up sur ce sujet pour lequel je ne trouve pas la solution. J’ai tourné le pbm en créant un modèle qui inclut lui le bon formulaire d’inscription à une newsletter spécifique mais c’est moins pratique et plus lourd ...
      P.

    Répondre à ce message

  • Le 16 janvier 2013 à 20:48, par charles En réponse à : API Newsletter

    Fantastique !

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

Ça spipe par là