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

Webhooks

Zenovayは支払い処理とサブスクリプション管理のためにウェブフックを内部的に使用します。このページではZenovayでのウェブフックの仕組みと、外部APIを使用したインテグレーションの構築方法について説明します。

Zenovayがウェブフックを使用する方法

Zenovayは支払いプロバイダーと監視サービスから受信ウェブフックを処理します。これらはサブスクリプション請求とヘルスチェックを処理する内部システムウェブフックです。

受信ウェブフックのソース

ソース目的
Stripeサブスクリプション管理、支払い処理、チェックアウト完了
Uptime Monitoring外部監視サービスからのヘルスチェックトリガー

これらのウェブフックはZenovay APIによって内部的に処理されます。送信ウェブフックとチーム APIキーについては、Settings → Security → API keysを参照してください。

Settings → Security → API keys ページ(個人用トークンとWebhooksセクション)
ウェブフックはSettings → Security → API keysの下で設定されます。

インテグレーションの構築

外部APIを使用してアナリティクスデータを独自のシステムにプルするインテグレーションを構築できます。

外部APIでのポーリング

外部APIを使用してアナリティクスデータを定期的に取得します。

Polling ExampleJavaScript
const API_KEY = process.env.ZENOVAY_API_KEY;
const WEBSITE_ID = process.env.ZENOVAY_WEBSITE_ID;

async function checkAnalytics() {
const response = await fetch(
  `https://api.zenovay.com/api/external/v1/analytics/${WEBSITE_ID}?timeRange=24h`,
  {
    headers: { 'X-API-Key': API_KEY }
  }
);

const data = await response.json();

// Process the data
if (data.totalVisitors > threshold) {
  await sendNotification(data);
}
}

// Poll every 5 minutes
setInterval(checkAnalytics, 5 * 60 * 1000);

ライブ訪問者数

公開ライブエンドポイントはAPIキーを必要とせず、より頻繁にポーリングできます。

Live VisitorsJavaScript
async function getLiveVisitors(trackingCode) {
const response = await fetch(
  `https://api.zenovay.com/live/${trackingCode}`
);
return await response.json();
}

Slackの通知例

Slackに投稿する定時アナリティクスレポートを構築します。

Slack IntegrationJavaScript
async function sendDailyReport() {
const response = await fetch(
  `https://api.zenovay.com/api/external/v1/analytics/${WEBSITE_ID}?timeRange=24h`,
  {
    headers: { 'X-API-Key': API_KEY }
  }
);

const data = await response.json();

await fetch(SLACK_WEBHOOK_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    text: `Daily Report: ${data.totalVisitors} visitors, ${data.totalPageViews} page views`
  })
});
}

インテグレーションのレート制限

ポーリングインテグレーションを構築する場合は、外部APIのレート制限を遵守してください。

プランリクエスト/分月間制限
Pro3010,000
Scale60100,000
Enterprise1201,000,000

外部APIへのアクセスには有料プランが必要です。無料アカウントはAPIキーを生成したり、外部APIを使用したりできません。

ベストプラクティス

  • API応答をローカルにキャッシュしてリクエスト頻度を削減します
  • 適切なポーリング間隔を使用します(最小5分推奨)
  • X-RateLimit-Remainingヘッダーを監視して制限に達しないようにします
  • 429応答を受け取った場合は指数バックオフを実装します
このページは役に立ちましたか?