feat: purchase-plans global update
This commit is contained in:
@@ -245,12 +245,27 @@ export type PlacementStatus =
|
||||
| "Неактуально"
|
||||
| "Не отвечает";
|
||||
|
||||
export type InviteLinkType = "public" | "approval";
|
||||
export type PostViewsAvailability =
|
||||
| "unknown"
|
||||
| "available"
|
||||
| "unavailable"
|
||||
| "manual";
|
||||
export type PlacementPostStatus =
|
||||
| "Без статуса"
|
||||
| "Отправить пост"
|
||||
| "Согласование поста"
|
||||
| "Ожидание отложки"
|
||||
| "Запланирован"
|
||||
| "Пост вышел"
|
||||
| "Размещение отработало - пост удалён"
|
||||
| "Размещение отработало - пост не удалён"
|
||||
| "Проверить - пост удалён раньше срока"
|
||||
| "Проверить - пост не вышел"
|
||||
| "Размещение отработало";
|
||||
|
||||
export type InviteLinkType = "public" | "approval";
|
||||
export type PlacementType = "self_promo" | "standard";
|
||||
export type CostType = "fixed" | "cpm";
|
||||
export type PostViewsAvailability =
|
||||
| "unknown"
|
||||
| "available"
|
||||
| "unavailable"
|
||||
| "manual";
|
||||
|
||||
export interface PlacementChannel {
|
||||
id: string;
|
||||
@@ -261,7 +276,7 @@ export interface PlacementChannel {
|
||||
}
|
||||
|
||||
export interface PlacementCostInfo {
|
||||
type: "fixed" | "cpm";
|
||||
type: CostType;
|
||||
value: number;
|
||||
}
|
||||
|
||||
@@ -269,8 +284,8 @@ export interface PlacementDetails {
|
||||
placement_at: string | null; // ISO 8601
|
||||
payment_at: string | null; // ISO 8601
|
||||
cost: PlacementCostInfo | null;
|
||||
cost_before_bargain: number | null;
|
||||
placement_type: string | null;
|
||||
cost_before_bargain: PlacementCostInfo | null;
|
||||
placement_type: PlacementType | null;
|
||||
format: string | null;
|
||||
comment: string | null;
|
||||
creative_id: string | null;
|
||||
@@ -286,27 +301,44 @@ export interface PlacementPost {
|
||||
text: string;
|
||||
url: string | null;
|
||||
deleted_from_channel_at: string | null;
|
||||
published_at: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
} | null;
|
||||
}
|
||||
|
||||
export interface PlacementPostWithStatus extends PlacementPost {
|
||||
status: PlacementPostStatus;
|
||||
time_on_top: number | null;
|
||||
}
|
||||
|
||||
export interface Placement {
|
||||
id: string;
|
||||
status: PlacementStatus;
|
||||
creative_id: string | null;
|
||||
creative_name: string | null;
|
||||
comment: string | null;
|
||||
invite_link: string | null;
|
||||
invite_link_created_at: string | null;
|
||||
invite_link_type: InviteLinkType;
|
||||
channel: PlacementChannel;
|
||||
project: Project | null;
|
||||
short_id: string;
|
||||
details: PlacementDetails | null;
|
||||
placement_post: PlacementPost | null;
|
||||
placement_post: PlacementPostWithStatus | null;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface PlacementWithStats extends Placement {
|
||||
cpf: number | null;
|
||||
cpm: number | null;
|
||||
time_in_feed?: number | null;
|
||||
conversion_24h?: number | null;
|
||||
conversion_48h?: number | null;
|
||||
conversion_total?: number | null;
|
||||
total_unsubs?: number | null;
|
||||
unsub_percent?: number | null;
|
||||
total_active?: number | null;
|
||||
}
|
||||
|
||||
export interface PlacementsGroupedByChannel {
|
||||
@@ -345,6 +377,19 @@ export interface PlacementUpdateRequest {
|
||||
ad_post_url?: string;
|
||||
}
|
||||
|
||||
export interface UpdatePlacementInProjectRequest {
|
||||
status?: string;
|
||||
comment?: string | null;
|
||||
creative_id?: string | null;
|
||||
creative_name?: string | null;
|
||||
placement_at?: string | null;
|
||||
payment_at?: string | null;
|
||||
cost?: { type: CostType; value: number } | null;
|
||||
cost_before_bargain?: { type: CostType; value: number } | null;
|
||||
placement_type?: PlacementType | null;
|
||||
format?: string | null;
|
||||
}
|
||||
|
||||
export interface PlacementsQueryParams extends PaginationParams {
|
||||
project_id?: string;
|
||||
placement_channel_id?: string;
|
||||
|
||||
Reference in New Issue
Block a user