レスポンスヘッダー

FourA APIからのすべてのレスポンスには、いくつかのカスタムヘッダーが含まれています。これらは、トレース、サポート、および事後分析に役立ちます。

FourAが設定するヘッダー

ヘッダー 設定対象 説明
X-Foura-Request-Id エラーや401を含む、すべての /api/* レスポンス このリクエストを識別するUUID。お客様側でログに記録してください。
Content-Type すべてのレスポンス エンベロープに対しては常に application/json です。ターゲットのcontent-typeは、エンベロープの headers フィールド内に返されます。

X-Foura-Request-Id

POST /api/single/POST /api/proxy/、または POST /api/browser/ への各呼び出しにはUUIDがタグ付けされます。認証に失敗した場合でもこのヘッダーは設定されるため、設定ミスの呼び出しも関連付けることができます。

curl -i -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method": "GET", "url": "https://example.com"}'
HTTP/1.1 200 OK
X-Foura-Request-Id: 9f1c4e6c-7b2a-4d3e-8a1f-2c9d8e4a3b15
Content-Type: application/json
...

使用するタイミング

  • サポートチケット: リクエストIDを含めていただければ、当社の記録から正確な呼び出しを特定できます。
  • 独自のログ: アプリケーションのログ行の横に保存します。顧客から「14:32にデータが間違っていた」という問い合わせがあった場合、正確なリクエストを再現できます。
  • ダッシュボードのトレース: 管理しているキーのアクティビティフィードに同じIDが表示されるため、一致する行を開いて、キャプチャされたリクエストとレスポンスを検査できます。

例:お客様側でのログ記録

import logging
import requests

log = logging.getLogger(__name__)

def fetch(url, api_key):
    resp = requests.post(
        "https://eu.api.foura.ai/api/single/",
        headers={"X-API-Key": api_key, "Content-Type": "application/json"},
        json={"method": "GET", "url": url},
    )
    request_id = resp.headers.get("X-Foura-Request-Id", "no-id")
    log.info("foura request_id=%s url=%s status=%s", request_id, url, resp.status_code)
    resp.raise_for_status()
    return resp.json()
async function fetchPage(url, apiKey) {
  const resp = await fetch('https://eu.api.foura.ai/api/single/', {
    method: 'POST',
    headers: { 'X-API-Key': apiKey, 'Content-Type': 'application/json' },
    body: JSON.stringify({ method: 'GET', url })
  });

  const requestId = resp.headers.get('X-Foura-Request-Id') || 'no-id';
  console.log(`foura request_id=${requestId} url=${url} status=${resp.status}`);

  return resp.json();
}

キャッシュの動作

APIはレスポンスに Cache-ControlETag を設定しません。すべての呼び出しはバックエンドに到達します。キャッシュが必要な場合は、お客様側で追加してください。

ターゲットのレスポンスヘッダー

ターゲットサイトが返したヘッダーは、FourA APIのレスポンスには含まれません。これらは、JSONエンベロープ内の headers フィールドとして返されます。SingleおよびProxyエンドポイントの場合、これはホップごとのヘッダーオブジェクトの配列(リダイレクトステップごとに1つのエントリ)です。Browserエンドポイントの場合、最終的なレスポンスヘッダーのフラットなオブジェクトになります。

{
  "status": 200,
  "headers": [
    { "Content-Type": "text/html; charset=utf-8", "Server": "..." }
  ],
  "data": "<!doctype html>...",
  "total_time": 0.42
}

特定のターゲットヘッダーが必要な場合は、API呼び出し自体のHTTPレスポンスからではなく、エンベロープの headers フィールドから読み取ってください。

関連情報

最終更新日: 2026年6月30日