メインコンテンツへスキップ
1分で読めます

リクエストIDヘッダー

api.zenovay.comからのすべてのレスポンスにはx-request-idヘッダーが含まれます。これは、Zenovayサポートが特定のAPI呼び出しをお客様のクライアントからプラットフォームの内部ログまで一気通貫で追跡できる唯一の情報です。

見た目

x-request-id: 01HVNXT7K8M3F2Y9R6P4ZQAB1C

各リクエストには、エッジで生成される26文字のユニークなULIDが付与されます。このIDはZenovayの監視が捕捉するすべてのエラーレポートにもタグ付けされるため、1つの文字列でお客様のクライアントが見た内容とプラットフォームのログが記録した内容を結び付けられます。

いつ現れるか

  • 成功したすべてのレスポンス2xx)— 後から何かおかしいと気付いた場合の遡及的なデバッグに役立ちます
  • すべてのエラーレスポンス4xx5xx)— 最も役立つケースです。サポートチケットにこれを含めてください
  • トラッカーのインジェスチョン — ページビュー、イベント、売上の呼び出しはすべて含みます
  • REST APIおよびCLIエンドポイント/api/external/v1/*/v1/cli/*、MCPなど
  • 認証エンドポイントauth.zenovay.comへの呼び出しにも含まれます

コードから読み取る方法

fetchレスポンスから

const response = await fetch('https://api.zenovay.com/api/external/v1/...', {
  headers: { Authorization: `Bearer ${apiKey}` },
});

const requestId = response.headers.get('x-request-id');

if (!response.ok) {
  console.error(`Zenovay API error (request ${requestId}):`, response.status);
}

axiosから

try {
  const result = await axios.get('https://api.zenovay.com/api/external/v1/...', {
    headers: { Authorization: `Bearer ${apiKey}` },
  });
  console.log('request id:', result.headers['x-request-id']);
} catch (err) {
  console.error('failed; request id:', err.response?.headers?.['x-request-id']);
}

curlから

レスポンスヘッダーを表示するには-iを追加します:

curl -i https://api.zenovay.com/api/external/v1/analytics/<websiteId>/visitors \
  -H "Authorization: Bearer YOUR_KEY"

サポートでの使い方

問題が発生した場合は:

  1. 失敗したレスポンスからx-request-idを取得します。
  2. サポートチケットやコミュニティ投稿に — そのまま、コードブロックで含めてください。
  3. 呼び出しのおおよそのUTCタイムスタンプをメモします(通常、分単位の精度で十分です)。
  4. 可能であれば、リクエストURLとレスポンスのステータスコードも含めてください。

これら4つの情報があれば、Zenovayサポートは通常、数秒で該当の呼び出しを見つけ、失敗の原因をお伝えできます。

ロギングのヒント

Zenovay APIを呼び出す本番コードでは、すべてのエラー経路でx-request-idを取得してください:

function logZenovayError(label, response) {
  const requestId = response.headers.get('x-request-id') ?? 'unknown';
  console.error(`[zenovay:${label}] status=${response.status} req=${requestId}`);
}

構造化ロガー(pino、winston、datadog、sentryなど)をご利用の場合は、メッセージに埋め込むのではなく、リクエストIDを構造化フィールドとして設定してください — そうすれば検索やグループ化が可能になります。

CORS

x-request-idは、CORSが有効なすべてのエンドポイントでレスポンスヘッダーAccess-Control-Expose-Headersを介して公開されるため、ブラウザはお客様側で追加の設定なしにJavaScriptから読み取れます。

リクエストIDでしてはいけないこと

  • リクエストIDから情報をリバースエンジニアリングしようとしないでください。これはULIDであり、エンコードされたペイロードではありません。
  • 重複排除キーとして使用しないでください — Zenovayは、必要なリソース上でリクエストの冪等性を別途処理します。
  • 公開向けの画面に露出させないでください(一般的な「問題が発生しました」ページであれば問題ありませんが、公開マーケティングサイトに「リクエスト01HVNX...が失敗しました」と表示するのは、訪問者に必要な情報を超えています)。

関連情報

このページは役に立ちましたか?