ハイライト
1回のAuto呼び出しが、Dashboard上で1リクエストとしてカウントされるようになりました。その背後で実行されたSingle、Proxy Finder、Browserの試行は引き続き記録され、呼び出しの下に名前付きでリスト表示されますが、成功率とレイテンシは要求した内容に基づいて測定されます。プラン上限による拒否はトラフィックとしてカウントされなくなり、Autoではレート制限としてラベル付けされます。また、Billingページでは各チャージが個別の行として表示されるようになりました。
新機能
Auto呼び出しを1リクエストとしてカウント
以前のAuto呼び出しは、Dashboard上で行われた試行ごとに表示されていたため、1つのリンクが複数のリクエストに見え、その一部が失敗として表示されることがありました。現在、Overview、Usage & Limits、ActivityではAutoが独立したプロダクトとして扱われます。各呼び出しは1つの判定を持つ1行となり、その下に名前付きで表示される試行のクレジットとバイト数を保持します。エンジンが実際に実行したリクエストであるため、レート制限は引き続き試行回数をカウントします。
呼び出し直後にActivityを開くと、その行には試行が処理中である旨が表示されます。数秒後、リロードすることなく試行リスト、クレジット、バイト数がその場で反映されるため、確認中の行が予期せず移動することはありません。
これは、Autoの本来の用途に沿った動作です。Autoはパスファインダーとして機能します。動作する構成を見つけ、返されたsessionを/api/singleまたは/api/browserで再実行し、そこにトラフィックを集中させます。Activityで各呼び出しが試行した内容を確認した上で、ルートを確定できるようになりました。
プランによる拒否: トラフィック非対象化とAutoでの明示
契約プランの上限に達したことで拒否されたリクエストは、トラフィック合計に加算されなくなりました。データ取得が行われていないため、カウントされません。サイトからの403や500エラーは、レスポンスをクライアントに中継しているため、引き続きカウント対象となります。
Auto呼び出しがこれらの制限に達した場合、Activityには失敗ではなくRate Limitedとして表示され、レスポンスには直接呼び出し時と同じX-FourA-Limitヘッダーが付与されます。
import requests
r = requests.post(
"https://api.foura.ai/api/auto",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data"},
)
limit = r.headers.get("X-FourA-Limit")
if limit:
print("stopped by my plan:", limit)
else:
session = r.json().get("session") # replay on /api/single or /api/browser
実際の挙動を正確に示すレスポンスが1つ追加されました。ホスト名を解決できないターゲットは、Single、Browser、Proxy Finder、Autoから、他の到達不能サイトと同様に返されるようになりました。status 0、ホスト名を明記したエラー、ターゲットのoutcome(application_fail、outcomesを参照)が返されます。プライベートネットワークのターゲットは引き続き400拒否となります。
トラフィックの単位を統一
すべての許容量とカウンターにおいて、1ギガバイトの定義を1,073,741,824バイトと明記しました。APIトラフィックはデコードされたページを基準にカウントされます。実際のブラウザ処理やページが要求した追加ステップの有無にかかわらず、そのページが提供対象の成果物であるためです。Proxyポートのトラフィックは、トンネルを通過する時点でカウントされます。ここでは接続の中継のみを行い、内部データには関与しません。Dashboardではトラフィック数値の横にこの定義が表示されており、詳細な算出方法はプランの計測方法に記載されています。
ギガバイト制限が設定されている箇所では、トラフィック数値もギガバイト単位で表示されるため、現在値と上限を直接比較できます。LimitsページにはTrafficパネル(合計、API、Proxyポート、プレミアムの各項目にプラン上限を示すバーを表示)が追加され、API keysテーブルにはTrafficとPremiumの列が追加されました。Overviewの各プロダクトパネルにもそれぞれのトラフィックが表示されます。
また、上限に達した制限項目には赤色で「At limit」と表示されます。次のリクエストが拒否されるためです。API keysなどの件数制限が上限に達した場合は黄色で表示されます。これは次回の新規追加のみを停止するためです。
請求: 4枚のカードとチャージごとの明細行
Billingページには、すべてのプランで共通の4枚のカードが表示されます。プランの課金基準に応じてクレジットまたは標準トラフィックが最初に配置され、続いてもう一方の数値、Premium、Proxyポートが表示されます。各カードにはBuyボタンが配置されています。プランに対象アイテムが含まれない場合、ボタンにその旨が表示され、問い合わせへのリンクが提供されます。
クレジット制の有料プランでは、Proxyポートに専用のギガバイト枠が含まれており、該当カードから追加購入が可能です。チャージごとに購入量、使用量、残量を示す専用の行が生成されます。使用量は有効期限が最も近いチャージから優先して消費されます。
使用状況の通知メールも詳細化されました。95%到達時には、現行ペースに基づいた許容量の枯渇予測日、リセット日、容量追加の手順を記載した通知が送信されます。100%到達時のメールには、リセットまでの残り日数と、超過利用が可能なプランにおける追加請求単価が記載されます。
MCP 0.7.3
FourA MCP 0.7.3では、JSON Schema draft-07と2020-12の両方で検証可能なツールスキーマを公開しました。これにより、厳格な2020-12バリデータを持つクライアントでも4つのツールすべてを一覧表示して呼び出せます。呼び出しが受け付けるパラメータに変更はありません。@fouradata/mcpを更新するか、すでに0.7.3が稼働しているホスト型サーバーをご利用ください。
ドキュメントとサイト
- docs検索で結果を選択すると、ページが該当ワードの最初の出現位置までスクロールしてハイライト表示されます。結果が表示された時点で最上位の結果が選択されているため、Enterキーを押すだけで開けます。
- スマートフォンやタブレットでは、指を離した瞬間にメインサイトのメニューが開き、2列で画面いっぱいに表示されます。また、すべてのページが最初のフレームから完全にスタイルが適用された状態で描画されます。
内部の仕組み
新しいProxy Finderのキャパシティは、各ホストについて既存のキャパシティがすでに学習した状態を引き継いで起動するようになりました。そのため、トラフィックの処理開始から数分かけて安定するのを待つことなく、参加直後から応答時間を一定に保ちます。
Dashboard上の数値は、実行したジョブの動作と直接結びついているべきです。その原因を特定するために電卓を叩いたりドキュメントを読み込む必要があるなら、数値を改善すべきなのは私たちであり、お客様が解読する必要はありません。