SendGrid API を利用して配信停止機能を実装した際の Tips
はじめに
SendGrid を利用して配信停止機能を実装する際には、自社で利用している SendGrid の機能から実装方法を選択する必要があります。
今回は SendGridを利用した配信停止タグの作成方法について紹介していきます。
想定読者
- SendGrid で配信停止機能を実装する予定の方
- SendGrid API を利用している方
配信停止機能を実装するために利用したもの
SendGrid Send API
- SendGrid からメールを送信するためのAPI
- 後述の Dynamic Transactional Template 機能と併用すると、アプリケーションで指定したパラメーターを動的に指定できる
- メールごとに配信停止グループを指定することも可能
- Send API リファレンス
SendGrid Dynamic Transactional Template
- SendGrid のメールテンプレート機能の1つ
- Editorが Design Editor と Code Editor の2つを選択可能で、Design Editor を利用すると非エンジニアでも簡単にテンプレートを作成、修正が可能になる。
- アプリケーション側で指定したパラメータを動的に埋め込むことも可能
- Send API で Dynamic Transactional Template を利用するための参考ドキュメント
配信停止グループ(Group Unsubscribes)
- 配信停止対象のメールアドレスをグループごとに管理するための機能
- 詳しくはこちらをご覧ください
配信停止タグ
- SendGrid のテンプレート上で配信停止リンクを自動で作成してくれるタグ
- この配信停止タグを Dynamic Transactional Template に指定する方法が今回の実装で一番躓きました。
詰まったポイント
前述しましたが、今回の実装で詰まったポイントは Dynamic Transactional Template 内に指定する配信停止タグの作成でした。配信停止リンクの作成は SendGrid が「配信停止タグ」という名前で機能として用意してくれていますが、自分たちが利用する機能に当てはめた場合のタグの作成方法を見つけることに苦戦しました。
私達は メールテンプレートに Dynamic Transactional Template の Design Editor を利用しました。これはマーケティング職の方やプロダクトマネージャーの方のような開発者以外でもテンプレートの作成、修正をしやすくするためです。
また配信停止対象のユーザーをグループ分けしたかったので、
配信停止グループ(Group Unsubscribes) という機能も利用していました。
しかし、Dynamic Transactional Template の Design Editor, 配信停止グループを利用する場合に利用できるタグ機能が限られていました。
参考: 配信停止タグを使いこなそう
上記のドキュメントを参考にし、やっと実装ができました。
テンプレートは Dynamic Template のため、{{{ unsubscribe }}}
タグしか利用できず、エディタは Design Editor のため、テンプレート内の href 属性で指定する方法で実現できました。
具体的には、作成対象の Dynamic Template 内に Code ブロックを作成し、そこに以下のような記述をしました。
(コード書かなくても良いように Design Editor を利用していますが、ここだけは コードを書く必要がありそうです。。。。)
上記のように書くことで、配信停止タグを作成することに成功しました!!
実際の配信停止タグの表示
終わりに
SendGrid を用いた配信停止機能は、SendGrid 側で機能を用意してくれているので、容易に実現出来るかと思いましたが、自分たちが利用している条件の元で実現するために少し苦労しました。
実装で詰まった際に SendGrid のサポートセンターに問い合わせしたところ、親切に相談に乗っていただき、参考になる記事を教えてくださいました。とてもありがたかったです。
今回の自分の記事が誰かの参考になったら嬉しいです。
最後まで読んでいただきありがとうございました。
Discussion