以前、「SPIRALでエラー通知を行う方法(非同期処理内)について」という内容で質問させていただきました。 現在、DBトリガの非同期アクションで「経路条件:一部の経路:API」を設定し、メールアクションを追加しています。しかし、この設定では、API経由でDBが更新されると、エラーの有無にかかわらず必ずメールが送信されてしまいます。 実現したいことは、非同期アクション内のPHPからcURLライブラリを使用して呼び出された場合のみメールを送信し、それ以外のトリガではメール送信しないという動作です。 このような条件を実現するための設定方法をご教示いただけますでしょうか。
コメント
ナレッジ
向上チーム
ご質問いただきましてありがとうございます。 おっしゃるように、APIでの更新が複数行われる場合、経路を条件にするだけだと他のAPIで更新した際にもメールが配信されてしまいます。 そのため、DBに配信フラグなどの項目を追加いただき、メールアクションの条件に配信フラグがたっていることを条件としていただくことで送り分けが可能です。 □イメージ ・非同期アクション(PHP)実行 ・外部API実行 ・(エラーのレスポンスが返ってきた場合)SPIRALのAPIで配信フラグを配信に更新 ・(配信フラグが配信の場合)更新トリガに設定した非同期アクション(メール)が実行される ■非同期アクション(メール)について ・更新時に配信するため、更新トリガに設定ください。 ・後述のフラグ解除処理を行うことで経路の設定は不要になります。 更新のAPIを追加することで送り分けが可能です。 ただ、そのままですと配信フラグが立ったままになってしまい別の更新の際に配信されてしまいますので、 下記の記事をもとに配信フラグの自動解除設定を行ってください。 設定いただくことで、API更新でメール配信フラグを立てたときはメールが配信され、そうでないときは配信されない動作となります。 ▼DBトリガを使用して「メール送信」「配信フラグ自動解除」を行いたい https://knowledge.spirers.jp/article/design/detail/5446 ご確認のほどよろしくお願いいたします。
-
いいね
2025年11月21日(金)