feat(прогрев): типы firmRow/prospect.warming + обёртка assignAdAudienceFirm
This commit is contained in:
@@ -966,6 +966,12 @@ export interface SalesAdAudienceFirmRow {
|
||||
ch_yandex: boolean;
|
||||
ch_vk: boolean;
|
||||
ch_mts: boolean;
|
||||
rubric: string | null; // ниша
|
||||
warmup_started_at: string | null; // дата запуска, ISO
|
||||
manager_id: number | null; // назначенный менеджер
|
||||
manager_name: string | null;
|
||||
warming_active: boolean; // ещё греется / прогрет
|
||||
warming_channels: Array<'yandex' | 'vk' | 'mts' | 'sms'>; // чем грелась
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1108,6 +1114,20 @@ export async function assignWarmingFirm(
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /api/sales/ad-audience/firms/{firm}/assign (Bearer, начальник) → { prospect_id }
|
||||
* Назначение менеджера без привязки к площадке — для экрана «Прогрев СМС».
|
||||
* Уже назначенная фирма → 422.
|
||||
*/
|
||||
export async function assignAdAudienceFirm(firmId: number, salesUserId: number): Promise<{ prospect_id: number }> {
|
||||
const { data } = await axios.post<{ prospect_id: number }>(
|
||||
`/api/sales/ad-audience/firms/${firmId}/assign`,
|
||||
{ sales_user_id: salesUserId },
|
||||
{ headers: { Accept: 'application/json', 'X-Requested-With': 'XMLHttpRequest', ...authHeaders() } },
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /api/sales/warming/mts/file (Bearer, начальник) — файл со списком
|
||||
* номеров для ручной загрузки в МТС Маркетолог (программного доступа к рекламе
|
||||
@@ -1206,6 +1226,8 @@ export interface SalesProspect {
|
||||
reason: string | null;
|
||||
registered_email: string | null;
|
||||
notes: string | null;
|
||||
/** Состояние прогрева фирмы этой карточки (пункт 5). */
|
||||
warming?: { active: boolean; channels: Array<'yandex' | 'vk' | 'mts' | 'sms'> };
|
||||
}
|
||||
|
||||
export interface ProspectsResponse {
|
||||
|
||||
Reference in New Issue
Block a user