2分で読めます
Webhooks
Zenovayは支払い処理とサブスクリプション管理のためにウェブフックを内部的に使用します。このページではZenovayでのウェブフックの仕組みと、外部APIを使用したインテグレーションの構築方法について説明します。
Zenovayがウェブフックを使用する方法
Zenovayは支払いプロバイダーと監視サービスから受信ウェブフックを処理します。これらはサブスクリプション請求とヘルスチェックを処理する内部システムウェブフックです。
受信ウェブフックのソース
| ソース | 目的 |
|---|---|
| Stripe | サブスクリプション管理、支払い処理、チェックアウト完了 |
| Uptime Monitoring | 外部監視サービスからのヘルスチェックトリガー |
これらのウェブフックはZenovay APIによって内部的に処理されます。送信ウェブフックとチーム APIキーについては、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のレート制限を遵守してください。
| プラン | リクエスト/分 | 月間制限 |
|---|---|---|
| Pro | 30 | 10,000 |
| Scale | 60 | 100,000 |
| Enterprise | 120 | 1,000,000 |
外部APIへのアクセスには有料プランが必要です。無料アカウントはAPIキーを生成したり、外部APIを使用したりできません。
ベストプラクティス
- API応答をローカルにキャッシュしてリクエスト頻度を削減します
- 適切なポーリング間隔を使用します(最小5分推奨)
X-RateLimit-Remainingヘッダーを監視して制限に達しないようにします- 429応答を受け取った場合は指数バックオフを実装します
このページは役に立ちましたか?