@besales/mcp 0.47.0 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/instructions/server-instructions.d.ts +1 -1
- package/dist/instructions/server-instructions.js +14 -6
- package/dist/instructions/server-instructions.js.map +1 -1
- package/dist/resources/workflows/compare-models.md +4 -2
- package/dist/schemas/mcp-tools.json +256 -32
- package/dist/tools/definitions/broadcast-analytics.js +7 -3
- package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
- package/dist/tools/definitions/broadcast-scheduler.d.ts +20 -4
- package/dist/tools/definitions/broadcast-scheduler.js +159 -43
- package/dist/tools/definitions/broadcast-scheduler.js.map +1 -1
- package/dist/tools/definitions/crm-platform.d.ts +2 -0
- package/dist/tools/definitions/crm-platform.js +26 -2
- package/dist/tools/definitions/crm-platform.js.map +1 -1
- package/dist/tools/definitions/follow-up.d.ts +1 -0
- package/dist/tools/definitions/follow-up.js +13 -3
- package/dist/tools/definitions/follow-up.js.map +1 -1
- package/dist/tools/definitions/getcourse-cold-welcome.d.ts +3 -0
- package/dist/tools/definitions/getcourse-cold-welcome.js +18 -4
- package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
- package/dist/tools/definitions/model-comparison.js +2 -2
- package/dist/tools/definitions/model-comparison.js.map +1 -1
- package/dist/tools/definitions/platform-setup.d.ts +18 -0
- package/dist/tools/definitions/platform-setup.js +11 -2
- package/dist/tools/definitions/platform-setup.js.map +1 -1
- package/dist/tools/definitions/shared.d.ts +42 -0
- package/dist/tools/definitions/shared.js +47 -0
- package/dist/tools/definitions/shared.js.map +1 -1
- package/dist/tools/definitions.d.ts +43 -4
- package/dist/tools/registry-mapping-cases-core.js +137 -15
- package/dist/tools/registry-mapping-cases-core.js.map +1 -1
- package/dist/types/api-contract.gen.d.ts +101 -6
- package/docs/agent-usage-guide.ru.md +5 -0
- package/package.json +1 -1
|
@@ -7059,13 +7059,15 @@ export interface paths {
|
|
|
7059
7059
|
cookie?: never;
|
|
7060
7060
|
};
|
|
7061
7061
|
/**
|
|
7062
|
-
* История запусков —
|
|
7063
|
-
* @description Scope `read:campaigns`.
|
|
7062
|
+
* История запусков — ручная отправка, волны, авторассылка и автоприём одним списком
|
|
7063
|
+
* @description Scope `read:campaigns`. Ручная отправка пакетом — одна строка с `batch`, автоприём регистраций — одна строка на день с `registrationDay`.
|
|
7064
7064
|
*/
|
|
7065
7065
|
get: {
|
|
7066
7066
|
parameters: {
|
|
7067
7067
|
query?: {
|
|
7068
7068
|
mailingVariantId?: string;
|
|
7069
|
+
/** @description Откуда запуск: manual — ручная отправка, wave — волна по файлу, schedule — авторассылка, registration — автоприём регистраций. Пусто = все четыре. */
|
|
7070
|
+
origin?: "manual" | "wave" | "schedule" | "registration";
|
|
7069
7071
|
limit?: number;
|
|
7070
7072
|
};
|
|
7071
7073
|
header?: never;
|
|
@@ -8000,6 +8002,13 @@ export interface paths {
|
|
|
8000
8002
|
"application/json": components["schemas"]["PlatformSetupMutationResult"];
|
|
8001
8003
|
};
|
|
8002
8004
|
};
|
|
8005
|
+
/** @description Название триггера уже занято у этого агента */
|
|
8006
|
+
409: {
|
|
8007
|
+
headers: {
|
|
8008
|
+
[name: string]: unknown;
|
|
8009
|
+
};
|
|
8010
|
+
content?: never;
|
|
8011
|
+
};
|
|
8003
8012
|
};
|
|
8004
8013
|
};
|
|
8005
8014
|
delete?: never;
|
|
@@ -8074,6 +8083,13 @@ export interface paths {
|
|
|
8074
8083
|
"application/json": components["schemas"]["PlatformSetupMutationResult"];
|
|
8075
8084
|
};
|
|
8076
8085
|
};
|
|
8086
|
+
/** @description Название триггера уже занято у этого агента */
|
|
8087
|
+
409: {
|
|
8088
|
+
headers: {
|
|
8089
|
+
[name: string]: unknown;
|
|
8090
|
+
};
|
|
8091
|
+
content?: never;
|
|
8092
|
+
};
|
|
8077
8093
|
};
|
|
8078
8094
|
};
|
|
8079
8095
|
trace?: never;
|
|
@@ -8406,7 +8422,7 @@ export interface paths {
|
|
|
8406
8422
|
[name: string]: unknown;
|
|
8407
8423
|
};
|
|
8408
8424
|
content: {
|
|
8409
|
-
"application/json": components["schemas"]["
|
|
8425
|
+
"application/json": components["schemas"]["FollowUpSequenceUpsertResult"];
|
|
8410
8426
|
};
|
|
8411
8427
|
};
|
|
8412
8428
|
};
|
|
@@ -8452,7 +8468,7 @@ export interface paths {
|
|
|
8452
8468
|
[name: string]: unknown;
|
|
8453
8469
|
};
|
|
8454
8470
|
content: {
|
|
8455
|
-
"application/json": components["schemas"]["
|
|
8471
|
+
"application/json": components["schemas"]["FollowUpSequenceUpsertResult"];
|
|
8456
8472
|
};
|
|
8457
8473
|
};
|
|
8458
8474
|
};
|
|
@@ -11470,6 +11486,8 @@ export interface paths {
|
|
|
11470
11486
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11471
11487
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11472
11488
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11489
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11490
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11473
11491
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11474
11492
|
view?: components["parameters"]["BroadcastView"];
|
|
11475
11493
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -11629,6 +11647,8 @@ export interface paths {
|
|
|
11629
11647
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11630
11648
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11631
11649
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11650
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11651
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11632
11652
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11633
11653
|
view?: components["parameters"]["BroadcastView"];
|
|
11634
11654
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -11709,6 +11729,8 @@ export interface paths {
|
|
|
11709
11729
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11710
11730
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11711
11731
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11732
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11733
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11712
11734
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11713
11735
|
view?: components["parameters"]["BroadcastView"];
|
|
11714
11736
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -12060,6 +12082,8 @@ export interface paths {
|
|
|
12060
12082
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
12061
12083
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
12062
12084
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
12085
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
12086
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
12063
12087
|
/** @description Сегмент очереди. `resolved` = `confirmed` + `rejected` одним списком; UI пользуется раздельными сегментами, выгрузке чаще нужен общий. */
|
|
12064
12088
|
view?: "decidable" | "external_mailing" | "excluded" | "confirmed" | "rejected" | "resolved" | "potential";
|
|
12065
12089
|
/** @description Режим атрибуции для сегмента `potential`: `cohort` датирует по волне, `period` — по оплате. Отдельное имя потому, что `view` занят сегмент-переключателем; остальные сегменты параметр игнорируют. */
|
|
@@ -12139,6 +12163,8 @@ export interface paths {
|
|
|
12139
12163
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
12140
12164
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
12141
12165
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
12166
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
12167
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
12142
12168
|
};
|
|
12143
12169
|
header?: never;
|
|
12144
12170
|
path: {
|
|
@@ -20473,6 +20499,11 @@ export interface components {
|
|
|
20473
20499
|
contactId: string;
|
|
20474
20500
|
/** @description Пин заказа для штампа полей сделки. */
|
|
20475
20501
|
dealId?: string;
|
|
20502
|
+
/**
|
|
20503
|
+
* Format: date-time
|
|
20504
|
+
* @description Момент регистрации, по которой человек попал в сегмент (ISO 8601, зона ОБЯЗАТЕЛЬНА): предохранитель держит только заявки и оплаты после этой регистрации, более ранние не держат. Не передан — заявки и оплаты судятся за всю историю человека (с 15.09.2026).
|
|
20505
|
+
*/
|
|
20506
|
+
registeredAt?: string;
|
|
20476
20507
|
/**
|
|
20477
20508
|
* Format: date-time
|
|
20478
20509
|
* @description Точный момент входа контакта в когорту (ISO 8601, зона ОБЯЗАТЕЛЬНА — …Z либо ±ЧЧ:ММ). На нём считается свежесть в «Аналитике рассылок»: возраст = время отправки минус segmentEnteredAt. Заполняется, когда предсписок собран ПРАВИЛОМ и у каждой строки есть свой момент события (например eventAt регистрации). Не передан — возраст строки остаётся неизвестным. Дату запуска сюда подставлять нельзя: она схлопнула бы месяцы когорт в одну корзину.
|
|
@@ -20520,10 +20551,12 @@ export interface components {
|
|
|
20520
20551
|
alreadyGreeted: number;
|
|
20521
20552
|
/** @description Идёт эпизод регистрации: приветствие ДОЛЖНЫ и не отдали либо подготовлен повторный вход на новый эфир. Считается ПО ЧЕЛОВЕКУ, без скоупа площадки. */
|
|
20522
20553
|
activeEpisode: number;
|
|
20554
|
+
/** @description Пауза повтора сегмента (с 16.09.2026): этим сегментом человеку уже писали, после отправки он зарегистрировался снова, и расписание повторит ему сегмент, но пауза после прошлой отправки ещё не прошла. Только у запуска расписания с включённым повтором; у ручного запуска всегда 0. */
|
|
20555
|
+
resendPause: number;
|
|
20523
20556
|
/** @description Тихий период: человека трогали (нашей отправкой либо шагом календарной цепочки) внутри окна. Окно резолвится настройками — перекрытие рассылки, затем площадка, затем воркспейс, затем 0. По умолчанию 0, то есть правило выключено, пока оператор его не выставит; рекомендация — 7 суток. Волна школы касанием НЕ считается. Расписания судятся своим cooldownDays. */
|
|
20524
20557
|
cooldown: number;
|
|
20525
20558
|
};
|
|
20526
|
-
/** @description
|
|
20559
|
+
/** @description Касание этого сегмента уже занято в журнале касаний под другим именем (строка продолжения до 16.09.2026, старое продолжение этим текстом без ярлыка) либо тот же ТЕКСТ уходил человеку любым сегментом меньше трёх суток назад. Только у продолжения расписания; отдельно от blockedBy: claim журнала такие строки не видит, их держит читающая проверка. */
|
|
20527
20560
|
touchClaimed: number;
|
|
20528
20561
|
/** @description ИНФОРМАЦИЯ, а не запрет: этим же ярлыком человека рассылал ВНЕШНИЙ механизм — волна школы своими процессами либо шаблон Wazzup. Наш догон в мессенджерах уйдёт как обычно: так работает штатный процесс. В отсев это число НЕ входит. */
|
|
20529
20562
|
externalWaveTouched: number;
|
|
@@ -20775,11 +20808,47 @@ export interface components {
|
|
|
20775
20808
|
} | null;
|
|
20776
20809
|
/** @description Сколько отправок ушло ВСЛЕПУЮ: канал взят резервным транспортом площадки, а не доказан привязками контакта или его ответом. Это ПОДМНОЖЕСТВО sentCount, а не отдельный исход — сообщение ушло. Без него «доставлено в мессенджер» и «упало в личный кабинет сайта» в истории неразличимы. null — у волн (отправляет процесс школы) и у запусков до появления счётчика; это НЕ то же, что 0. */
|
|
20777
20810
|
sentWithoutChannelEvidence?: number | null;
|
|
20811
|
+
/** @description Ручная отправка пакетом: id строки = batchId, блоки — внутри. Null у одиночной отправки (и у пакета из одного блока), волн, авторассылки и автоприёма. У такой строки tracedOutcomes — null: поимённый разбор у блоков. */
|
|
20812
|
+
batch?: components["schemas"]["BroadcastLaunchBatch"] | null;
|
|
20813
|
+
/** @description Автоприём регистраций за день. sentCount = totalContacts = отправлено за день; status=running значит «день ещё идёт». Null у остальных источников. */
|
|
20814
|
+
registrationDay?: components["schemas"]["BroadcastLaunchRegistrationDay"] | null;
|
|
20778
20815
|
/** Format: date-time */
|
|
20779
20816
|
createdAt: string;
|
|
20780
20817
|
/** Format: date-time */
|
|
20781
20818
|
completedAt?: string | null;
|
|
20782
20819
|
};
|
|
20820
|
+
BroadcastLaunchBatch: {
|
|
20821
|
+
/** Format: uuid */
|
|
20822
|
+
batchId: string;
|
|
20823
|
+
/** @description Блоки в порядке исполнения, включая ещё не стартовавшие. */
|
|
20824
|
+
blocks: components["schemas"]["BroadcastLaunchBatchBlock"][];
|
|
20825
|
+
};
|
|
20826
|
+
BroadcastLaunchBatchBlock: {
|
|
20827
|
+
position: number;
|
|
20828
|
+
/** @description Задача блока; null — блок ещё не стартовал. */
|
|
20829
|
+
importJobId: string | null;
|
|
20830
|
+
segment?: string | null;
|
|
20831
|
+
productCode?: string | null;
|
|
20832
|
+
funnel?: string | null;
|
|
20833
|
+
/** @enum {string} */
|
|
20834
|
+
status: "pending" | "running" | "completed" | "cancelled" | "failed";
|
|
20835
|
+
totalContacts: number;
|
|
20836
|
+
sentCount: number;
|
|
20837
|
+
failedCount: number;
|
|
20838
|
+
outcomes?: {
|
|
20839
|
+
[key: string]: number;
|
|
20840
|
+
} | null;
|
|
20841
|
+
tracedOutcomes?: {
|
|
20842
|
+
[key: string]: number;
|
|
20843
|
+
} | null;
|
|
20844
|
+
};
|
|
20845
|
+
BroadcastLaunchRegistrationDay: {
|
|
20846
|
+
/**
|
|
20847
|
+
* Format: date
|
|
20848
|
+
* @description Календарный день МСК корзины
|
|
20849
|
+
*/
|
|
20850
|
+
day: string;
|
|
20851
|
+
};
|
|
20783
20852
|
BroadcastLaunchesPage: {
|
|
20784
20853
|
items: components["schemas"]["BroadcastLaunch"][];
|
|
20785
20854
|
hasMore: boolean;
|
|
@@ -20970,6 +21039,20 @@ export interface components {
|
|
|
20970
21039
|
} & {
|
|
20971
21040
|
[key: string]: unknown;
|
|
20972
21041
|
};
|
|
21042
|
+
FollowUpSequenceUpsertResult: components["schemas"]["PlatformSetupMutationResult"] & {
|
|
21043
|
+
/** @description Предупреждения к записанной цепочке. Поле есть, только когда предупреждения есть; запись при этом УЖЕ выполнена — повторять вызов не нужно. */
|
|
21044
|
+
warnings?: components["schemas"]["FollowUpStatusModeWarning"][];
|
|
21045
|
+
};
|
|
21046
|
+
/** @description Режим отбора «по статусу CRM» (filterMode=status или поле не задано) на этой площадке никого не выберет. Не запрет: по настройкам нельзя предсказать, что статусы не появятся. */
|
|
21047
|
+
FollowUpStatusModeWarning: {
|
|
21048
|
+
/**
|
|
21049
|
+
* @description NO_ACTIVE_CRM — в воркспейсе нет активной CRM; NO_CONTACT_STATUSES — контакты на площадке есть, но ни у одного нет статуса CRM.
|
|
21050
|
+
* @enum {string}
|
|
21051
|
+
*/
|
|
21052
|
+
code: "FOLLOW_UP_STATUS_MODE_NO_ACTIVE_CRM" | "FOLLOW_UP_STATUS_MODE_NO_CONTACT_STATUSES";
|
|
21053
|
+
/** @description Самодостаточное объяснение с альтернативами (eventType или variable). */
|
|
21054
|
+
message: string;
|
|
21055
|
+
};
|
|
20973
21056
|
TriggerActionCatalogItem: {
|
|
20974
21057
|
actionType: string;
|
|
20975
21058
|
title: string;
|
|
@@ -21214,7 +21297,9 @@ export interface components {
|
|
|
21214
21297
|
updatedAt?: string;
|
|
21215
21298
|
};
|
|
21216
21299
|
TriggerUpsertRequest: components["schemas"]["ConfirmableSetupMutation"] & {
|
|
21300
|
+
/** @description Название, уникальное в рамках агента. Потолок общий с формой интерфейса — канон AGENT_TRIGGER_NAME_MAX_LENGTH (ai-aniomaly/src/core/application/tools/constants/agent-trigger.constants.ts). */
|
|
21217
21301
|
name?: string;
|
|
21302
|
+
/** @description Условие срабатывания; уходит в системный промпт агента целиком. Потолок общий с формой интерфейса — канон AGENT_TRIGGER_CONDITION_MAX_LENGTH (ai-aniomaly/src/core/application/tools/constants/agent-trigger.constants.ts). */
|
|
21218
21303
|
condition?: string;
|
|
21219
21304
|
isEnabled?: boolean;
|
|
21220
21305
|
priority?: number;
|
|
@@ -21681,6 +21766,8 @@ export interface components {
|
|
|
21681
21766
|
guardPaid?: components["schemas"]["OutboundGuardMode"];
|
|
21682
21767
|
/** @description Quiet period in days after ANY touch OF OURS (a send or a calendar-chain follow-up step). Counted PER PERSON across the workspace; a school wave does NOT count as a touch (measured: the wide perimeter would have blocked 15.3% of our sends). null = not configured, effective value 0 (rule disabled); the owner recommends 7. Schedules are NOT judged by this number — they have their own cooldownDays. */
|
|
21683
21768
|
quietDays?: number | null;
|
|
21769
|
+
/** @description How many days the school's "no linked messengers" answer stays trusted. While it is fresh, the contact import neither creates a card nor asks the school again, and schedule selection does not feed that person. null = not configured, effective value 7; 0 = ask the school every time. */
|
|
21770
|
+
reachabilityTtlDays?: number | null;
|
|
21684
21771
|
/** @description Transport → exact deal custom field NAME (read API returns no field ids). Clear with {}. */
|
|
21685
21772
|
deliveryFieldMap?: {
|
|
21686
21773
|
[key: string]: string;
|
|
@@ -24945,7 +25032,7 @@ export interface components {
|
|
|
24945
25032
|
name: string;
|
|
24946
25033
|
/** @description Латиница, цифры, дефис, подчёркивание. Уникален в воркспейсе. */
|
|
24947
25034
|
slug: string;
|
|
24948
|
-
/** @description Абсолютный http(s)-адрес; иные схемы отвергаются. В ЗНАЧЕНИЯ query-параметров можно подставлять переменные контакта: {firstName}, {lastName}, {fullName}, {username}, {email}, {phone}, {getcourseUserId}, {getcourseDealId} — например ?email={email}¶m1={getcourseUserId}&autologin=1. Переменная обязана составлять ЦЕЛОЕ значение параметра; в хосте, пути, фрагменте, имени параметра или вперемешку с текстом она отвергается (400). Подстановка происходит при ОТПРАВКЕ через плейсхолдер {{link:slug}}: в анонимном staticUrl переменные вычищаются, потому что за ним нет конкретного человека. Пустое у контакта значение убирает параметр из адреса целиком. */
|
|
25035
|
+
/** @description Абсолютный http(s)-адрес; иные схемы отвергаются. В ЗНАЧЕНИЯ query-параметров можно подставлять переменные контакта: {firstName}, {lastName}, {fullName}, {username}, {email}, {phone}, {getcourseUserId}, {getcourseDealId}, а также номер шага дожима {followUpStep} (p1, p2… — вне дожима параметр выпадает) — например ?email={email}¶m1={getcourseUserId}&autologin=1. Переменная обязана составлять ЦЕЛОЕ значение параметра; в хосте, пути, фрагменте, имени параметра или вперемешку с текстом она отвергается (400). Подстановка происходит при ОТПРАВКЕ через плейсхолдер {{link:slug}}: в анонимном staticUrl переменные вычищаются, потому что за ним нет конкретного человека. Пустое у контакта значение убирает параметр из адреса целиком. */
|
|
24949
25036
|
targetUrl: string;
|
|
24950
25037
|
productCode?: string;
|
|
24951
25038
|
};
|
|
@@ -26778,6 +26865,8 @@ export interface components {
|
|
|
26778
26865
|
isConstant: boolean | null;
|
|
26779
26866
|
/** @description CHANNEL scope (isConstant=true) only */
|
|
26780
26867
|
constantValue: string | null;
|
|
26868
|
+
/** @description Value substituted instead of constantValue for a person we have already written to — cold mailings only (e.g. "это снова Светлана." instead of the full introduction). CHANNEL scope constants only; null otherwise. Absent in responses of backends before 16.09.2026. */
|
|
26869
|
+
repeatConstantValue?: string | null;
|
|
26781
26870
|
/** Format: date-time */
|
|
26782
26871
|
createdAt: string;
|
|
26783
26872
|
/** Format: date-time */
|
|
@@ -26805,6 +26894,8 @@ export interface components {
|
|
|
26805
26894
|
isConstant?: boolean;
|
|
26806
26895
|
/** @description Required when scope=CHANNEL AND isConstant=true */
|
|
26807
26896
|
constantValue?: string;
|
|
26897
|
+
/** @description CHANNEL scope with isConstant=true only. Value for a person we have already written to (cold mailings only). No curly braces; empty string or null — no value. */
|
|
26898
|
+
repeatConstantValue?: string | null;
|
|
26808
26899
|
};
|
|
26809
26900
|
UpdateVariableRequest: {
|
|
26810
26901
|
/** @enum {string} */
|
|
@@ -26820,6 +26911,8 @@ export interface components {
|
|
|
26820
26911
|
value?: string | null;
|
|
26821
26912
|
/** @description CHANNEL scope only; null clears */
|
|
26822
26913
|
constantValue?: string | null;
|
|
26914
|
+
/** @description CHANNEL scope constants only (checked against the stored variable). Value for a person we have already written to (cold mailings only). No curly braces; empty string or null clears. Unsetting isConstant clears it. */
|
|
26915
|
+
repeatConstantValue?: string | null;
|
|
26823
26916
|
};
|
|
26824
26917
|
DeleteVariableRequest: {
|
|
26825
26918
|
/** @enum {string} */
|
|
@@ -27329,6 +27422,8 @@ export interface components {
|
|
|
27329
27422
|
BroadcastFreshness: ("0-7" | "8-14" | "15-30" | "31-45" | "46-60" | "61+")[];
|
|
27330
27423
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
27331
27424
|
BroadcastChannels: string[];
|
|
27425
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
27426
|
+
BroadcastPaymentOrigin: "outbound" | "inbound";
|
|
27332
27427
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
27333
27428
|
BroadcastView: "cohort" | "period" | "entry";
|
|
27334
27429
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -114,6 +114,11 @@ npx -y @besales/mcp connect
|
|
|
114
114
|
он вдруг попросит вставить пароль прямо в переписку, **не делай этого** — это ошибка.
|
|
115
115
|
- Перед удалением или перезаписью он спрашивает подтверждение — прочитай, что именно
|
|
116
116
|
удаляется, прежде чем согласиться.
|
|
117
|
+
- **Перед любой правкой он переспрашивает.** Меняет промпт, дожимы, поведение, триггеры,
|
|
118
|
+
расписание или выключает что-то — сначала одним сообщением перечислит все правки: что, где,
|
|
119
|
+
зачем и что изменится для клиента, и спросит «делать?». Одним вопросом на весь список, а не по
|
|
120
|
+
одному. Пока не ответишь — не пишет. «Настрой сам» согласием не считается. Читать и показывать
|
|
121
|
+
он может без спроса.
|
|
117
122
|
|
|
118
123
|
---
|
|
119
124
|
|