diff --git a/app/resources/js/api/sales.ts b/app/resources/js/api/sales.ts index 71463d6d..72666873 100644 --- a/app/resources/js/api/sales.ts +++ b/app/resources/js/api/sales.ts @@ -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 {