[Ruby + Rails] Lorsque vous souhaitez vous inscrire dans la liste de diffusion de Mailchimp avec l'enregistrement de l'utilisateur

Contexte

Lors du développement du service, il a été décidé de gérer la distribution de la newsletter par e-mail avec Mailchimp.

À ce moment-là, en accédant à l'API fournie par Mailchimp au moment de l'enregistrement de l'utilisateur,

Implémentation du processus d'inscription à la liste de diffusion côté Mailchimp.

Il existe peu de documents japonais pouvant être utilisés comme référence pour l'API Mailchimp, donc

J'espère que vous trouverez cet article utile.

Configuration de l'application

Langage de programmation: Ruby

Cadre: Rails

C'est un environnement Ruby + Rails très général.

Paramètres de l'API Mailchimp

Installer Gem

Décrivez ce qui suit dans le Gemfile

gem "mailchimp-api", require: "mailchimp"

Obtenir la clé API

Préparez votre clé API pour utiliser l'API Mailchimp.

Tout d'abord, cliquez sur votre propre icône Mailchimp.

Un menu apparaîtra, alors cliquez sur "Compte".

スクリーンショット 2020-07-19 0.26.21.png

Cliquez sur "Extras" sur l'écran suivant.

Appuyez sur "Clés API".

スクリーンショット 2020-07-19 0.27.14.png

Appuyez sur "Créer une clé" sur l'écran qui apparaît après cela.

スクリーンショット 2020-07-19 0.35.31.png

Enregistrez la "clé API" qui est sortie.

Obtention d'un identifiant Audiens

Mailchimp a le concept d'une liste pour enregistrer les informations de messagerie de l'utilisateur.

C'est ce qu'on appelle "Audience".

Par conséquent, quelle liste devez-vous enregistrer? Doit être spécifié.

Pour ce faire, nous obtenons l'ID de la liste, le "Audiens ID".

De là aussi, c'est une opération de console tick et Mail chimp.

Tout d'abord, appuyez sur "Audience" dans l'en-tête. Appuyez ensuite sur "Tableau de bord Audience".

スクリーンショット 2020-07-19 0.45.18.png

Cliquez ensuite sur "Gérer l'audience" -> "Paramètres".

スクリーンショット 2020-07-19 0.45.44.png

Cliquez sur "Paramètres" → "Nom de l'audience et paramètres par défaut".

スクリーンショット 2020-07-19 0.45.59.png

C'était finalement fait. ID d'audience. Prenez-en note.

スクリーンショット 2020-07-19 0.44.58.png

Définition des variables d'environnement

Entrez la clé API et l'ID d'audience obtenus dans .env.

.env


# Mailchimp
MAILCHIMP_API_KEY= #Clé API
MAILCHIMP_LIST_ID= # Audience ID

la mise en oeuvre

Créez un modèle pour Mailchimp.

Commencez par créer une classe.

J'ai référencé une partie de cet article (https://qiita.com/kon_yu/items/372bba35e60744633c94).

qiita.rb


class MailMagazine
  #Initialisation de l'API Mailchimp
  def initialize
    @mailchimp = Mailchimp::API.new(ENV['MAILCHIMP_API_KEY'])
  end

  #Ajouter à la liste
  #Reportez-vous à la balise de fusion du compte pour la valeur de hachage du troisième argument(lists/settings/merge-tags?id=XXX)
  def add_member(email, first_name, last_name)
    @mailchimp.lists.subscribe(
      ENV['MAILCHIMP_LIST_ID'],
      {email: email},
      {FNAME: first_name, LNAME: last_name},
      "html",
      false
    )
  end
end

Créez une méthode appelée ʻadd_member` et enregistrez-la.

Le premier argument est l'adresse e-mail.

Le deuxième argument est le nom.

Le troisième argument est le nom de famille.

est.

lists. Subscribe dans ʻadd_member` est une méthode API,

Il enregistrera votre adresse e-mail dans Mailchimp.

Le premier argument est «ID de l'audience».

Le deuxième argument est la valeur de hachage de l'adresse e-mail que vous souhaitez enregistrer.

Le troisième argument est des informations auxiliaires qui peuvent être définies avec Mailchimp. Vous pouvez enregistrer votre nom et votre anniversaire.

Pour le contenu, consultez la console Mailchimp

「Audience」→「Settings」→「Audience fields and * |MERGE| * tags」

Veuillez vous référer au.

スクリーンショット 2020-07-19 10.14.29.png

Vous pouvez vérifier et enregistrer des informations autres que votre adresse e-mail de cette manière.

Comme pour votre adresse e-mail, entrez une valeur de hachage saisie par Mergetag.

Enregistrez votre adresse e-mail dans Mailchimp

Incorporer dans le processus d'enregistrement des utilisateurs comme celui-ci.

mailchimp = MailMagazine.new
mailchimp.add_member(@user.email, @user.first_name, @user.last_name)

Étonnamment facile ^^

Bonne vie de chimpanzé Mail ~

Recommended Posts

[Ruby + Rails] Lorsque vous souhaitez vous inscrire dans la liste de diffusion de Mailchimp avec l'enregistrement de l'utilisateur
Lorsque vous souhaitez lier InputStream dans JDBI3
[Ruby] Lorsque vous souhaitez remplacer plusieurs caractères
Lorsque vous souhaitez remplacer dynamiquement l'annotation dans Java 8
Extension VScode pour apprendre efficacement lorsque vous commencez juste la programmation avec ruby, rails
Code à utiliser lorsque vous souhaitez traiter Json en Java avec uniquement des bibliothèques standard
Comment écrire dans la classe Model lorsque vous souhaitez enregistrer des données binaires dans DB avec PlayFramework
Lorsque vous souhaitez écrire explicitement OR ou AND avec ransack
Lorsque vous souhaitez implémenter des tests de bibliothèque Java avec Spock en multi-module avec Gradle dans Android Studio 3
docker-compose.yml lorsque vous voulez garder mysql en cours d'exécution avec docker
lombok.config lorsque vous voulez passer @Qualifier à @RequiredArgsConstructor avec lombok
Comment écrire lorsque vous souhaitez conserver les sauts de ligne et la sortie tout en évitant XSS dans Rails
ProxyFactory est pratique lorsque vous souhaitez tester AOP avec Spring!
Je souhaite ajouter une fonction de navigation avec ruby on rails
6 points de doute lorsque l'enregistrement de l'utilisateur n'est pas possible avec l'appareil
[Rails] Je souhaite ajouter des données aux paramètres lors de la transition avec link_to
Lorsque vous souhaitez ajouter une colonne de type chaîne avec une longueur limitée avec la commande `rails generate migration`
La première chose à faire lorsque vous voulez être satisfait d'Heroku sur GitHub avec Eclipse sur Java
Lorsque vous souhaitez que Rails désactive une session pour un contrôleur spécifique
Résumé des moyens lorsque vous souhaitez communiquer avec HTTP sur Android
Que faire lorsque l'hôte bloqué: "nom d'hôte" apparaît dans Ruby on Rails
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
Si vous voulez créer un fichier zip avec Ruby, c'est rubyzip.
Commandes de base de Rails que vous souhaitez apprendre
[Rails] Comment enregistrer plusieurs enregistrements dans la table intermédiaire avec une association plusieurs-à-plusieurs
Lorsque vous souhaitez notifier une erreur quelque part lors de l'utilisation de graphql-spring-boot avec Spring Boot
Code utilisé lorsque vous souhaitez traiter Json avec uniquement des bibliothèques standard en Java (version améliorée) gson inutile
Une note quand vous voulez Tuple en Java
Lorsque vous souhaitez utiliser la méthode à l'extérieur
[Swift] Utilisez nonzeroBitCount lorsque vous voulez popcnt dans Swift
Je veux jouer avec Firestore de Rails
[Rails] Je veux charger du CSS avec webpacker
Je veux obtenir la valeur en Ruby
Comment supprimer le tweet associé à l'utilisateur lorsque vous le supprimez en même temps
[rails] Option After utile lorsque vous souhaitez modifier l'ordre des colonnes DB
Je souhaite modifier le chemin après une nouvelle inscription après m'être connecté avec plusieurs appareils.
Commande Docker pour créer un projet Rails avec un seul coup dans l'environnement sans Ruby