feat: global platform v2 update

This commit is contained in:
ivannoskov
2025-12-29 10:12:13 +03:00
parent 8e6a1fa83f
commit f64cf02100
84 changed files with 11023 additions and 11486 deletions

View File

@@ -4,41 +4,49 @@
import { api } from "./client";
import type {
PlacementAnalyticsItem,
CreativeAnalyticsItem,
ChannelAnalyticsItem,
SpendingAnalytics,
PlacementsAnalytics,
CreativesAnalytics,
ExternalChannelsAnalytics,
DateGrouping,
AnalyticsQueryParams,
SpendingAnalyticsQueryParams,
PaginatedResponse,
} from "@/lib/types/api";
export const analyticsApi = {
/**
* Get spending analytics
*/
spending: (params?: {
target_channel_id?: string;
date_from?: string;
date_to?: string;
grouping?: DateGrouping;
}) => api.get<SpendingAnalytics>("/analytics/spending", { params }),
/**
* Get placements analytics
*/
placements: (params?: { target_channel_id?: string }) =>
api.get<PlacementsAnalytics>("/analytics/placements", { params }),
placements: (workspaceId: string, params?: AnalyticsQueryParams) =>
api.get<PaginatedResponse<PlacementAnalyticsItem>>(
`/workspaces/${workspaceId}/analytics/placements`,
{ params }
),
/**
* Get creatives analytics
*/
creatives: (params?: { target_channel_id?: string }) =>
api.get<CreativesAnalytics>("/analytics/creatives", { params }),
creatives: (workspaceId: string, params?: AnalyticsQueryParams) =>
api.get<PaginatedResponse<CreativeAnalyticsItem>>(
`/workspaces/${workspaceId}/analytics/creatives`,
{ params }
),
/**
* Get external channels analytics
* Get channels analytics
*/
externalChannels: (params?: { target_channel_id?: string }) =>
api.get<ExternalChannelsAnalytics>("/analytics/external-channels", {
params,
}),
channels: (workspaceId: string, params?: AnalyticsQueryParams) =>
api.get<PaginatedResponse<ChannelAnalyticsItem>>(
`/workspaces/${workspaceId}/analytics/channels`,
{ params }
),
/**
* Get spending analytics (time-series data)
*/
spending: (workspaceId: string, params?: SpendingAnalyticsQueryParams) =>
api.get<SpendingAnalytics>(
`/workspaces/${workspaceId}/analytics/spending`,
{ params }
),
};