Postmanは、ローコードAPI構築ツールであるPostman Flowsを一般提供開始した。Postman Flowsは、API駆動型のアプリケーションやワークフローを構築するための共同作業向きでグラフィカルなインターフェイスを提供する。Postman API Networkと統合され、一般に公開されているAPIにアクセスできる。
Postman Flowsは、アクション、インフォメーション、ロジックの3つの主要なprogrammingブロックを備えている。アクションブロックは、特定のタスクを実行する。例えば、Send Request blockは、HTTPリクエストを実行する。このブロックには、入力コネクタを提供するSendなどのオプションがある。返されるデータのスキーマ(JSONまたはXML)を自動検出するように設定できる。また成功レスポンスと失敗レスポンス用のアウトバウンドコネクターも用意されている。
Postman Flowのインターフェース(出典:Postman)
インフォメーションブロックでは、データを変数として保存し、渡せる。文字列、ブーリアン、数値、日付、フォーマットされたデータ(JSONなど)など、サポートされている変数の種類は多数ある。これらの変数は、taskブロックにデータを注入するために使用できる。
ロジックブロックは、ループや条件分岐などのフロー制御を扱う。Evaluateブロック は、Flows Query Language(FQL)を使用して、入力された構造化データにクエリを実行するものである。クエリを入力するための自由形式のテキストボックスを提供し、クエリの結果をワークフロー内の次のブロックに返す。
FQLは、ワークフローに必要なデータを抽出するために、JSONデータの解析と変換に使用される。次の JSON blockが与えられている。
{
"name": "John Smith",
"address": {
"city": "Atlanta",
"state": "GA"
},
"phones": [
{
"type": "Home",
"number": "123-456-7890"
},
{
"type": "Cell",
"number": "098-765-4321"
}
],
"display name": "myuser123"
}
FQLでトップレベルのフィールドにアクセスするには、フィールドの名前を入力する。たとえば、name
は "John Smith"
を返す。これは、フィールドやオブジェクトの値を返すために使用できる。 ネストされたフィールドへのアクセスは、例えばaddress.city
のようにドット記法で行われる。 配列内の個々のアイテムにアクセスするには、phones[0].number
のように角括弧表記を使用する。 FQLは、リスト内の要素数を返す$count
などの基本的な操作もサポートしている。
Output blockは、チャートとグラフを使用してデータを視覚的に表示するために使用できる。これには、棒グラフ、折れ線グラフ、ゲージ、および表によるビジュアライズが含まれる。またデータをテキストで表示し、画像や動画で表示できる。
Flowsは、Webhookのエンドポイントとして他のアプリケーションに組み込むことができるremote execution URLを提供する。Webhookは、クラウドにデプロイする前にローカルでテストできる。フローがリリースされるたびに、コレクションと環境のスナップショットが一緒に保存されることに注意が必要だ。これらの領域内で変更が行われた場合、フローを再リリースする必要がある。
Postman Flowsの最近の改善点として、EvaluateブロックとIfブロック内のオートコンプリート機能の向上が挙げられる。また、AIによるクエリ作成機能も新たに追加された。この機能は、簡単なテキスト文を入力として受け付け、FQLクエリの候補を出力する。
Postman Flowsの一般利用を開始した。Postman Freeプラン内であれば3ユーザーまで無料で使用可能だ。