@@ -12,6 +12,9 @@ import type {
1212 UserOpStats ,
1313 WalletStats ,
1414 WalletUserStats ,
15+ WebhookLatencyStats ,
16+ WebhookRequestStats ,
17+ WebhookSummaryStats ,
1518} from "@/types/analytics" ;
1619import { getAuthToken } from "./auth-token" ;
1720import { getChains } from "./chain" ;
@@ -482,6 +485,60 @@ export async function getEngineCloudMethodUsage(
482485 return json . data as EngineCloudStats [ ] ;
483486}
484487
488+ export async function getWebhookSummary (
489+ params : AnalyticsQueryParams & { webhookId : string } ,
490+ ) : Promise < { data : WebhookSummaryStats [ ] } | { error : string } > {
491+ const searchParams = buildSearchParams ( params ) ;
492+ searchParams . append ( "webhookId" , params . webhookId ) ;
493+
494+ const res = await fetchAnalytics (
495+ `v2/webhook/summary?${ searchParams . toString ( ) } ` ,
496+ ) ;
497+ if ( ! res . ok ) {
498+ const reason = await res . text ( ) ;
499+ return { error : reason } ;
500+ }
501+
502+ return ( await res . json ( ) ) as { data : WebhookSummaryStats [ ] } ;
503+ }
504+
505+ export async function getWebhookRequests (
506+ params : AnalyticsQueryParams & { webhookId ?: string } ,
507+ ) : Promise < { data : WebhookRequestStats [ ] } | { error : string } > {
508+ const searchParams = buildSearchParams ( params ) ;
509+ if ( params . webhookId ) {
510+ searchParams . append ( "webhookId" , params . webhookId ) ;
511+ }
512+
513+ const res = await fetchAnalytics (
514+ `v2/webhook/requests?${ searchParams . toString ( ) } ` ,
515+ ) ;
516+ if ( ! res . ok ) {
517+ const reason = await res . text ( ) ;
518+ return { error : reason } ;
519+ }
520+
521+ return ( await res . json ( ) ) as { data : WebhookRequestStats [ ] } ;
522+ }
523+
524+ export async function getWebhookLatency (
525+ params : AnalyticsQueryParams & { webhookId ?: string } ,
526+ ) : Promise < { data : WebhookLatencyStats [ ] } | { error : string } > {
527+ const searchParams = buildSearchParams ( params ) ;
528+ if ( params . webhookId ) {
529+ searchParams . append ( "webhookId" , params . webhookId ) ;
530+ }
531+ const res = await fetchAnalytics (
532+ `v2/webhook/latency?${ searchParams . toString ( ) } ` ,
533+ ) ;
534+ if ( ! res . ok ) {
535+ const reason = await res . text ( ) ;
536+ return { error : reason } ;
537+ }
538+
539+ return ( await res . json ( ) ) as { data : WebhookLatencyStats [ ] } ;
540+ }
541+
485542export async function getInsightChainUsage (
486543 params : AnalyticsQueryParams ,
487544) : Promise < { data : InsightChainStats [ ] } | { errorMessage : string } > {
0 commit comments