楽天ペイの通知メール仕様変更でZaim自動記帳設定を変更

楽天ペイの通知メール仕様変更でZaim自動記帳設定を変更 – 下町三階建

前の投稿で、別の方の知恵を拝借して楽天ペイ残高のzaim自動記帳を実現し、さらに自分で強力化していました。

しかし、最近楽天ペイの通知メール仕様が変更したようで、少し設定を変えてみる必要があります。

関係投稿は下記参照

関連投稿
GASで楽天ペイをZaimへの自动记帳を実現
関連投稿
n8nでZaimの自动记帳を強力化する話①
関連投稿
n8nでZaimの自动记帳を強力化する話②-詳細設定

メールの変更状況

まずスクショで確認すると、すぐ分かるのは「メールの題名変化」

項目変更前(Before)変更後(After)
メール題名楽天ペイアプリご利用内容確認メール楽天ペイお支払い完了のお知らせ
本文構造決済総額/楽天キャッシュという記載決済総額/楽天ペイ残高の順で記載
影響GAS・n8n両方でメールが拾えなくなった

それによって、GASでも、私のn8nも、メール拾わなくなりました。

ここで再度情報を獲得するための正規表現を書き換えます。


n8nの設定を修正する

まず、検知するメールの題名を「楽天ペイお支払い完了のお知らせ」にすること、ここは簡単。

しかし、変わったのはメール的題名だけではないようで、本文の構造も変わっていました。

本来の本文フォーマット
本文 Before
変更後の本文フォーマット
本文 After

本来の正規表現は、利用日時と利用店舗はそのまま拾えるようで、一番重要なのは利用金額です。

金額(上の「4724」)を拾うために、金額を拾う正規表現を下記にします。

{{ Number($json.text.match(/決済総額[\s\S]*?楽天ペイ残高[\s\S]*?¥?([-\d,]+)[\s\S]*?獲得予定ポイント/)?.​[1].replace(/,/g, '') || 0) }}
ポイント: この正規表現は「決済総額」→「楽天ペイ残高」→金額(¥以降の数字)→「獲得予定ポイント」という新しい本文構造に対応しています。

これで問題解決。


AIはやはり恐るべし

正規表現は基本Geminiに書いてもらうが、プロンプトは自分でするのは主義のはずでした。しかし、今回自分のプロンプトでは、書いて正規表現はなかなか数字を拾ってくれませんでした。めんどくさくなって上のスクショをエージェントに入れて「この4724を拾う正規表现を書いて」とインプットしたら見事に成功。

なんか、いずれ私はアイディアだけ出して、作業の指示もどんどんできなくなりそう。