この記事は「SendGrid Advent Calendar 2016」の21日目の記事です。
こんにちは。CS課の馬場です。
前回「メール配信システムをSendGridに移行してみた」という記事を公開しました。
前回はマーケティングメール機能を利用して、ブラウザ上からメールを送信してみたので、今回はWeb APIを利用してメール送信を試してみたいと思います。
Web APIを利用する場合も、各種APIが揃っているのでメール送信はもちろん、メールの管理もおこなう事ができます。
アプリケーションの一部としての利用も簡単にできるという事なので、サーバーワークスで利用しているQuestetraと連携してみたいと思います。
Questetraの利用について
サーバーワークスでは業務フローの見える化を目的に、クラウド型ワークフローサービスの Questetra BPM Suite を導入しています。
Questetraを利用してどんな業務フローを実現しているのか、は過去の記事をご覧ください。
Web APIで繋がるシリーズ
Web APIで繋がる Questetra / Trello / Slack 連携
Web APIで繋がる Questetra / Backlog 連携
Web APIで繋がる Questetra / Box 連携
Web APIで繋がる Questetra / Questetra 連携
メール配信フロー作成
今回は、Questetraでメールの設定をおこない、そのままSendGridで送信するワークフローを作成しました。
QuestetraからSendGridへはHTTPリクエストを送り、メールを送信します。
Questetra のプロセスデータの項目は以下のとおり設定しています。
項目 | 型 |
---|---|
件名 | 文字:単一行 |
メール件名 | 文字:単一行 |
メール本文 | 文字:複数行 |
宛先 | 文字:単一行 |
error ※エラー表示用 | 文字:複数行 |
result ※結果表示用 | 文字:複数行 |
SendGridとの連携
メッセージ送信中間イベント(HTTP)の設定
通信設定
項目 | 設定 |
---|---|
アクセスURL | https://api.sendgrid.com/api/mail.send.json |
HTTP Method | POST(multipart/form-data) |
エラー発生時にエラー内容を格納する文字型データ項 | error |
送信パラメータ
パラメータ名 | 値 |
---|---|
api_user | SendGrid ユーザー名 |
api_key | SendGrid パスワード |
subject | メール件名 |
text | メール本文 |
to | 宛先 |
from | 送信元 |
レスポンス
項目 | 設定 |
---|---|
レスポンスをプロセスデータに保存する | 有効 |
保存先のプロセスデータ項目 | result |
フローを実行
以下のようなレスポンスがあれば送信成功です。
エラーの場合は大体どの値が間違っているのかわかる内容になっているので、簡単なデバッグはこのレスポンスの値でおこなえます。
またQuestetraから送信したメールもSendGridのダッシュボード > Activity Feed から配信結果を確認する事ができます。
以上でQuestetraとSendGridの連携ができました。
まとめ
今回はWeb APIを利用して、QuestetraからSendGridでメール送信してみました。
アプリケーションからメールを送信した場合も、SendGridの機能を利用して、メールの管理ができます。
リストの管理や各種設定、統計をとったりもできるので色々活用できそうですね。