sendgridとredashとseleniumでメルマガの配信リスト作成を自動化した話

実現したい動き

  • redashでメルマガ配信対象者の氏名を抽出し、CSVとしてダウンロードする
  • sendgridでCSVから配信リストを作成する

実装

  • redashはクエリを指定周期で実行させることができる。今回は週1で配信リストを作りたいとのことなので、実行がseleniumの実行タイミングと被らないように「24時間おき」(ほんとうは3日おきくらいが良かったが、指定が面倒臭いので)にクエリを更新してもらう。
  • redashはCSVダウンロードのAPIを持っているので、該当のクエリのキーからダウンロードするためのURLを取得する。
  • seleniumのスクリプトを作成する

流れ

redashのAPIを叩く

sendgridにログインする

必要項目を入力し、CSVをアップロードする

今回はCSVのアップロードの自動化を初めてやったが、以下のように簡単にできた。

driver.find_element(:id, 'アップロードフィールドのid').send_keys("ローカルのCSVファイルパス")

結果

配信リストの自動化は完成したが、これをサーバーに上げない限りはマシンに依存的である。しばらくはラズパイで起動させておけばおkだが、今後要検討。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です