Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

Integromat + SendGridでスケジュール送信する

SendGridにはスケジュール送信機能があるのですが、すべてAPIベースに操作する必要があるため、わりと玄人向けな機能となっています。
sendgrid.kke.co.jp

スケジュール指定の上限は72時間といった制限もあるため、個人的には簡単なバッチプログラムを作って、通常のメール送信APIを呼び出すのが楽だと思っています(中の人がいうのもなんですが)。

先日から触っているIntegromatを使うと、このバッチプログラムを簡単に作ることができます。IntegromatのSendGridモジュールにある「Send an Email」と「Make an API Call」のどちらも使えるので、それぞれ紹介します。
f:id:kikutaro777:20190820223313p:plain

Send an Emailを使う

「Send an Email」はWeb API v3のsend mailを簡単に呼び出せるUIとなってます。FromやTo、SubjectやContent Type、Contentなどを指定するだけです。Transactional Templateも使えます。
f:id:kikutaro777:20190820224023p:plain

添付ファイルが使えるのもいいです。Send atパラメータも指定できるので、やろうと思えばここでスケジュール登録もできます。ただし、前述のとおり+下図の画面下メッセージにもあるように72時間という制限があるため、ここでは使いません。
f:id:kikutaro777:20190820224032p:plain

メールの設定をしたら、モジュールの時計マークをクリックします。
f:id:kikutaro777:20190820224521p:plain

するとIntegromatのスケジュール設定が表示されます。
f:id:kikutaro777:20190820224705p:plain

選べるのは以下の6つです。

  • At regular intervals…何分おきに実行するか選べます。Advanced schedulingで実行する日付の範囲指定、何月、何曜日まで設定可能です。
  • Once…1度だけ実行します。年月日時分秒を指定します。
  • Every day…毎日します。時分を指定します。
  • Day of the week…実行する曜日と時分を指定します。
  • Day of the month…実行する月と時分を指定します。
  • Specified dates…月日時分を指定します。

今回は単発のスケジュール送信をするため「Once」を選び、送信する時間を指定しました。
f:id:kikutaro777:20190820224555p:plain

設定はこれだけです。このシナリオを実行して、該当時刻になるとメールが飛びました。
f:id:kikutaro777:20190820225858p:plain

Make an API Callを使う

「Make an API Call」はSendGridのWeb APIを自由に呼び出すためのメニューです。さきほどの「Send an Email」と違って「Make an API Call」はメール送信に特化したUIではないのですが、その分、自由度が高く、エンドポイントは自由に指定できますし、リクエストのJSONもそのままぶっこめます。

メールを送信する場合はURLに「mail/send」と入力します。最初ここはハマりやすいのですが、「https://api.sendgrid.com/v3/」が前提となっているので、それ以降のURLパスを指定する必要があります。
f:id:kikutaro777:20190820225951p:plain

Bodyに送信リクエストのJSONをまるっと入れます。
f:id:kikutaro777:20190820230428p:plain

これだけです。あとは前述の「Send an Email」と同じようにスケジュール登録すれば、該当時刻にメールが飛びます。

ノンコーディングで簡単にSendGridのスケジュール送信できました。かなり実用的だと思います。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村