[Ruby + Rails] Wenn Sie sich zusammen mit der Benutzerregistrierung in der Mailchimp-Mailingliste registrieren möchten

Hintergrund

In der Serviceentwicklung wurde beschlossen, die Verteilung der E-Mail-Newsletter mit Mailchimp zu verwalten.

Wenn Sie zu diesem Zeitpunkt auf die von Mailchimp zum Zeitpunkt der Benutzerregistrierung bereitgestellte API klicken,

Implementierte den Prozess zum Abonnieren der Mailingliste auf der Mailchimp-Seite.

Es gibt also nur wenige japanische Dokumente, die als Referenz für die Mailchimp-API verwendet werden können

Ich hoffe, Sie finden diesen Artikel hilfreich.

Anwendungskonfiguration

Programmiersprache: Ruby

Framework: Rails

Es ist eine sehr allgemeine Ruby + Rails-Umgebung.

Mailchimp API-Einstellungen

Installieren Sie Gem

Beschreiben Sie Folgendes in der Gemfile

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

API-Schlüssel abrufen

Halten Sie Ihren API-Schlüssel bereit, um die Mailchimp-API zu verwenden.

Klicken Sie zunächst auf Ihr eigenes Mailchimp-Symbol.

Ein Menü wird angezeigt, klicken Sie also auf "Konto".

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

Klicken Sie im nächsten Bildschirm auf "Extras".

Drücken Sie "API-Schlüssel".

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

Drücken Sie "Create A Key" auf dem Bildschirm, der danach angezeigt wird.

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

Speichern Sie den "API-Schlüssel", der herauskam.

Erhalt einer Audiens ID

Mailchimp hat das Konzept einer Liste zum Registrieren der E-Mail-Informationen des Benutzers.

Dies wird als "Publikum" bezeichnet.

Welche Liste sollten Sie daher registrieren? Muss angegeben werden.

Dazu erhalten wir die ID der Liste, die "Audiens ID".

Von hier aus ist es auch eine Tick- und Mail-Schimpansen-Konsolenoperation.

Drücken Sie zuerst "Audience" in der Kopfzeile. Drücken Sie dann "Zielgruppen-Dashboard".

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

Klicken Sie dann auf "Zielgruppe verwalten" -> "Einstellungen".

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

Klicken Sie auf "Einstellungen" → "Zielgruppenname und Standardeinstellungen".

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

Es war endlich fertig. Zielgruppen-ID. Notieren Sie sich dies.

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

Umgebungsvariablen einstellen

Geben Sie den erhaltenen API-Schlüssel und die Zielgruppen-ID in .env ein.

.env


# Mailchimp
MAILCHIMP_API_KEY= #API-Schlüssel
MAILCHIMP_LIST_ID= # Audience ID

Implementierung

Erstellen Sie ein Modell für Mailchimp.

Erstellen Sie zunächst eine Klasse.

Auf einen Teil dieses Artikels wird verwiesen (https://qiita.com/kon_yu/items/372bba35e60744633c94).

qiita.rb


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

  #Zur Liste hinzufügen
  #Den Hash-Wert des dritten Arguments finden Sie im Merge-Tag des Kontos(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

Erstellen Sie eine Methode namens "add_member" und registrieren Sie sie.

Das erste Argument ist die E-Mail-Adresse.

Das zweite Argument ist der Name.

Das dritte Argument ist der Nachname.

ist.

lists. Subscribe in add_member ist eine API-Methode,

Es wird Ihre E-Mail-Adresse in Mailchimp registrieren.

Das erste Argument ist "Audience ID".

Das zweite Argument ist der Hash-Wert der E-Mail-Adresse, die Sie registrieren möchten.

Das dritte Argument sind Zusatzinformationen, die mit Mailchimp festgelegt werden können. Sie können Ihren Namen und Geburtstag registrieren.

Den Inhalt finden Sie in der Mailchimp-Konsole

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

Bitte wende dich an die.

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

Sie können andere Informationen als Ihre E-Mail-Adresse wie folgt überprüfen und registrieren.

Geben Sie wie bei Ihrer E-Mail-Adresse einen von Mergetag eingegebenen Hash-Wert ein.

Registrieren Sie Ihre E-Mail-Adresse in Mailchimp

Integrieren Sie sich so in den Benutzerregistrierungsprozess.

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

Überraschend einfach ^^

Gute Mail Schimpansen Leben ~

Recommended Posts

[Ruby + Rails] Wenn Sie sich zusammen mit der Benutzerregistrierung in der Mailchimp-Mailingliste registrieren möchten
Wenn Sie InputStream in JDBI3 binden möchten
[Ruby] Wenn Sie mehrere Zeichen ersetzen möchten
Wenn Sie Annotation in Java 8 dynamisch ersetzen möchten
VScode-Erweiterung, um effizient zu lernen, wenn Sie gerade mit der Programmierung mit Ruby Rails beginnen
Code, der verwendet werden soll, wenn Sie Json nur mit Standardbibliotheken in Java verarbeiten möchten
So schreiben Sie in die Modellklasse, wenn Sie mit PlayFramework Binärdaten in der Datenbank speichern möchten
Wenn Sie explizit ODER oder UND mit Ransack schreiben möchten
Wenn Sie Java-Bibliothekstests mit Spock in mehreren Modulen mit Gradle in Android Studio 3 implementieren möchten
docker-compose.yml, wenn Sie MySQL auf Docker laufen lassen möchten
lombok.config, wenn Sie @Qualifier mit lombok an @RequiredArgsConstructor übergeben möchten
So schreiben Sie, wenn Sie Zeilenumbrüche und Ausgaben beibehalten und XSS in Rails vermeiden möchten
ProxyFactory ist praktisch, wenn Sie AOP mit Spring testen möchten!
Ich möchte eine Browsing-Funktion mit Ruby on Rails hinzufügen
6 Punkte zu bezweifeln, wenn eine Benutzerregistrierung mit devise nicht möglich ist
[Rails] Ich möchte beim Übergang mit link_to Daten zu Params hinzufügen
Wenn Sie mit dem Befehl "Rails Generate Migration" eine Spalte vom Typ "String" mit begrenzter Länge hinzufügen möchten
Das erste, was Sie tun müssen, wenn Sie mit Heroku auf GitHub mit Eclipse auf Java zufrieden sein möchten
Wenn Rails eine Sitzung für einen bestimmten Controller deaktivieren soll
Zusammenfassung der Mittel, wenn Sie mit HTTP unter Android kommunizieren möchten
Was tun, wenn blockierter Host: "Hostname" in Ruby on Rails angezeigt wird
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
Wenn Sie mit Ruby eine Zip-Datei erstellen möchten, ist dies Rubyzip.
Grundlegende Rails-Befehle, die Sie lernen möchten
[Schienen] So registrieren Sie mehrere Datensätze in der Zwischentabelle mit einer Zuordnung von vielen zu vielen
Wenn Sie irgendwo einen Fehler melden möchten, wenn Sie graphql-spring-boot mit Spring Boot verwenden
Code, der verwendet wird, wenn Sie Json nur mit Standardbibliotheken in Java (verbesserte Version) verarbeiten möchten. Gson ist nicht erforderlich
Ein Hinweis, wenn Sie Tupel in Java möchten
Wenn Sie die Methode außerhalb verwenden möchten
[Swift] Verwenden Sie nonzeroBitCount, wenn Sie in Swift popcnt möchten
Ich möchte mit Firestore von Rails spielen
[Rails] Ich möchte CSS mit Webpacker laden
Ich möchte den Wert in Ruby erhalten
So löschen Sie den dem Benutzer zugeordneten Tweet, wenn Sie ihn gleichzeitig löschen
[Rails] After-Option nützlich, wenn Sie die Reihenfolge der DB-Spalten ändern möchten
Ich möchte den Pfad nach der neuen Registrierung ändern, nachdem ich mich mit mehreren Geräten angemeldet habe.
Docker-Befehl zum Erstellen eines Rails-Projekts in einem einzigen Schlag in einer Umgebung ohne Ruby