Web APIで繋がる Questetra / SendGrid 連携

記事タイトルとURLをコピーする

この記事は「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-net-pmm-processmodel-view-1482135577166

今回は、Questetraでメールの設定をおこない、そのままSendGridで送信するワークフローを作成しました。
QuestetraからSendGridへはHTTPリクエストを送り、メールを送信します。
Questetra のプロセスデータの項目は以下のとおり設定しています。

項目
件名 文字:単一行
メール件名 文字:単一行
メール本文 文字:複数行
宛先 文字:単一行
error ※エラー表示用 文字:複数行
result ※結果表示用 文字:複数行

SendGridとの連携

メッセージ送信中間イベント(HTTP)の設定

通信設定

questetra-net-pmm-processmodel-version-edit-1482137812760

項目 設定
アクセスURL https://api.sendgrid.com/api/mail.send.json
HTTP Method POST(multipart/form-data)
エラー発生時にエラー内容を格納する文字型データ項 error
送信パラメータ

questetra-net-pmm-processmodel-version-edit-1482119698365

パラメータ名
api_user SendGrid ユーザー名
api_key SendGrid パスワード
subject メール件名
text メール本文
to 宛先
from 送信元
レスポンス

questetra-net-pmm-processmodel-version-edit-1482139725291

項目 設定
レスポンスをプロセスデータに保存する 有効
保存先のプロセスデータ項目 result

フローを実行

以下のようなレスポンスがあれば送信成功です。 questetra-net-or-processinstance-listview-1482140321824 エラーの場合は大体どの値が間違っているのかわかる内容になっているので、簡単なデバッグはこのレスポンスの値でおこなえます。

またQuestetraから送信したメールもSendGridのダッシュボード > Activity Feed から配信結果を確認する事ができます。
screencapture-app-sendgrid-email_activity-1482147186052 以上でQuestetraとSendGridの連携ができました。

まとめ

今回はWeb APIを利用して、QuestetraからSendGridでメール送信してみました。
アプリケーションからメールを送信した場合も、SendGridの機能を利用して、メールの管理ができます。
リストの管理や各種設定、統計をとったりもできるので色々活用できそうですね。