flow支払い v1examples/payout/payout.ja.flow · dandori doc
売り手に売上を支払う。銀行の API が、売り手が登録している口座に送金し、モデルが知らせを下書きする。フローが運ぶのは口座の ID だけで、銀行の契約が秘密と印を付けた番号と名義は運ばない
flow| 行 | 呼び出し | 呼ぶもの | リトライ | タイムアウト | 失敗したとき |
|---|---|---|---|---|---|
| 34 | 送金 = 送金する(…) | connect 銀行 PayoutService/Pay・key | — | — | 拒否 → 35 行目timeout・failure → ワークフローが失敗する |
| 36 | 知らせ = 知らせを書く(…) | agent openai · gpt-5.4-mini | — | 1 分 | timeout・failure → ワークフローが失敗する |
| 37 | 知らせる(…) | lambda send-notice・idempotent | — | — | timeout・failure → ワークフローが失敗する |
| 行 | 終わり方 |
|---|---|
| 35 | fail 拒否 "銀行が口座 {口座ID} への送金を拒否しました" |
| 38 | succeed 送金ID = 送金.送金ID |
ステップを選ぶと、そこについて検査で分かったことが出ます。左のシナリオを選ぶと、その実行が通るところが光ります。ステップの横の数は、その実行が通った回数です。
支払い v1売り手に売上を支払う。銀行の API が、売り手が登録している口座に送金し、モデルが知らせを下書きする。フローが運ぶのは口座の ID だけで、銀行の契約が秘密と印を付けた番号と名義は運ばない
売り手ID: string・口座ID: string・金額: money[円, incl_tax]送金ID: stringexamples/payout/payout.ja.flow送金 = 送金する(…) 34 行目34 let 送金 = 送金する(口座ID: 口座ID, 金額: 金額, 摘要: "売上の支払い") 35 on 拒否 => fail 拒否 "銀行が口座 {口座ID} への送金を拒否しました"
connect 銀行 PayoutService/Pay・key拒否 → 35 行目timeout・failure → ワークフローが失敗する15 # 銀行は、番号を持っている口座に送金する。フローは口座を ID で指す。 16 task 送金する(口座ID: string, 金額: money[円, incl_tax], 摘要: string) -> 銀行.PayResponse 17 connect 銀行 "PayoutService/Pay" 18 connection "arn:aws:events:ap-northeast-1:123456789012:connection/bank/7c1e2d" 19 key 20 errors 拒否 = failed_precondition
fail 拒否 35 行目 35 on 拒否 => fail 拒否 "銀行が口座 {口座ID} への送金を拒否しました"
知らせ = 知らせを書く(…) 36 行目 36 let 知らせ = 知らせを書く(金額: 金額, 送金ID: 送金.送金ID)
agent openai · gpt-5.4-minitimeout・failure → ワークフローが失敗する22 # モデルが読むのは金額と送金の ID で、口座のことは何も読まない。 23 task 知らせを書く(金額: money[円, incl_tax], 送金ID: string) -> string 24 agent "売り手に、売上の送金を済ませたことを知らせる短い文面を下書きしてください。金額(円)と送金の ID を書き、口座のことは書かないでください。" 25 model "gpt-5.4-mini" 26 connection "arn:aws:events:ap-northeast-1:123456789012:connection/openai/3f2a1b" 27 timeout 60 seconds
知らせる(…) 37 行目 37 知らせる(売り手ID: 売り手ID, 本文: 知らせ)
lambda send-notice・idempotenttimeout・failure → ワークフローが失敗する29 task 知らせる(売り手ID: string, 本文: string) 30 lambda "arn:aws:lambda:ap-northeast-1:123456789012:function:send-notice" 31 idempotent
succeed 送金ID = 送金.送金ID 38 行目 38 succeed 送金ID = 送金.送金ID
終わり(成功)flow が最後まで走り、ワークフローは成功します。
送金 = 送金する(…) ok知らせ = 知らせを書く(…) ok知らせる(…) oksucceed 送金ID = 送金.送金ID送金 = 送金する(…) 拒否 → on 拒否fail 拒否送金 = 送金する(…) failure → ここでは処理しない送金 = 送金する(…) ok送金 = 送金する(…) ok知らせ = 知らせを書く(…) failure → ここでは処理しない送金 = 送金する(…) ok知らせ = 知らせを書く(…) ok送金 = 送金する(…) ok知らせ = 知らせを書く(…) ok知らせる(…) failure → ここでは処理しない