前の投稿で、別の方の知恵を拝借して楽天ペイ残高のzaim自動記帳を実現し、さらに自分で強力化していました。
しかし、最近楽天ペイの通知メール仕様が変更したようで、少し設定を変えてみる必要があります。
関係投稿は下記参照
関連投稿
GASで楽天ペイをZaimへの自动记帳を実現
関連投稿
n8nでZaimの自动记帳を強力化する話①
関連投稿
n8nでZaimの自动记帳を強力化する話②-詳細設定
メールの変更状況
まずスクショで確認すると、すぐ分かるのは「メールの題名変化」
| 項目 | 変更前(Before) | 変更後(After) |
|---|---|---|
| メール題名 | 楽天ペイアプリご利用内容確認メール | 楽天ペイお支払い完了のお知らせ |
| 本文構造 | 決済総額/楽天キャッシュという記載 | 決済総額/楽天ペイ残高の順で記載 |
| 影響 | GAS・n8n両方でメールが拾えなくなった | |
それによって、GASでも、私のn8nも、メール拾わなくなりました。
ここで再度情報を獲得するための正規表現を書き換えます。
n8nの設定を修正する
まず、検知するメールの題名を「楽天ペイお支払い完了のお知らせ」にすること、ここは簡単。
しかし、変わったのはメール的題名だけではないようで、本文の構造も変わっていました。
本来の正規表現は、利用日時と利用店舗はそのまま拾えるようで、一番重要なのは利用金額です。
金額(上の「4724」)を拾うために、金額を拾う正規表現を下記にします。
{{ Number($json.text.match(/決済総額[\s\S]*?楽天ペイ残高[\s\S]*?¥?([-\d,]+)[\s\S]*?獲得予定ポイント/)?.[1].replace(/,/g, '') || 0) }}
ポイント: この正規表現は「決済総額」→「楽天ペイ残高」→金額(¥以降の数字)→「獲得予定ポイント」という新しい本文構造に対応しています。
これで問題解決。
AIはやはり恐るべし
正規表現は基本Geminiに書いてもらうが、プロンプトは自分でするのは主義のはずでした。しかし、今回自分のプロンプトでは、書いて正規表現はなかなか数字を拾ってくれませんでした。めんどくさくなって上のスクショをエージェントに入れて「この4724を拾う正規表现を書いて」とインプットしたら見事に成功。
なんか、いずれ私はアイディアだけ出して、作業の指示もどんどんできなくなりそう。



