@besales/mcp 0.47.1 → 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/resources/workflows/compare-models.md +4 -2
- package/dist/schemas/mcp-tools.json +158 -18
- 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 +10 -1
- package/dist/tools/definitions/broadcast-scheduler.js +59 -12
- 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.js +6 -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 +17 -0
- package/dist/tools/definitions/shared.d.ts +41 -0
- package/dist/tools/definitions/shared.js +39 -0
- package/dist/tools/definitions/shared.js.map +1 -1
- package/dist/tools/definitions.d.ts +32 -1
- package/dist/tools/registry-mapping-cases-core.js +36 -0
- package/dist/tools/registry-mapping-cases-core.js.map +1 -1
- package/dist/types/api-contract.gen.d.ts +83 -6
- 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;
|
|
@@ -8420,7 +8422,7 @@ export interface paths {
|
|
|
8420
8422
|
[name: string]: unknown;
|
|
8421
8423
|
};
|
|
8422
8424
|
content: {
|
|
8423
|
-
"application/json": components["schemas"]["
|
|
8425
|
+
"application/json": components["schemas"]["FollowUpSequenceUpsertResult"];
|
|
8424
8426
|
};
|
|
8425
8427
|
};
|
|
8426
8428
|
};
|
|
@@ -8466,7 +8468,7 @@ export interface paths {
|
|
|
8466
8468
|
[name: string]: unknown;
|
|
8467
8469
|
};
|
|
8468
8470
|
content: {
|
|
8469
|
-
"application/json": components["schemas"]["
|
|
8471
|
+
"application/json": components["schemas"]["FollowUpSequenceUpsertResult"];
|
|
8470
8472
|
};
|
|
8471
8473
|
};
|
|
8472
8474
|
};
|
|
@@ -11484,6 +11486,8 @@ export interface paths {
|
|
|
11484
11486
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11485
11487
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11486
11488
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11489
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11490
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11487
11491
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11488
11492
|
view?: components["parameters"]["BroadcastView"];
|
|
11489
11493
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -11643,6 +11647,8 @@ export interface paths {
|
|
|
11643
11647
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11644
11648
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11645
11649
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11650
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11651
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11646
11652
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11647
11653
|
view?: components["parameters"]["BroadcastView"];
|
|
11648
11654
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -11723,6 +11729,8 @@ export interface paths {
|
|
|
11723
11729
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
11724
11730
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
11725
11731
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
11732
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
11733
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
11726
11734
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
11727
11735
|
view?: components["parameters"]["BroadcastView"];
|
|
11728
11736
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|
|
@@ -12074,6 +12082,8 @@ export interface paths {
|
|
|
12074
12082
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
12075
12083
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
12076
12084
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
12085
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
12086
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
12077
12087
|
/** @description Сегмент очереди. `resolved` = `confirmed` + `rejected` одним списком; UI пользуется раздельными сегментами, выгрузке чаще нужен общий. */
|
|
12078
12088
|
view?: "decidable" | "external_mailing" | "excluded" | "confirmed" | "rejected" | "resolved" | "potential";
|
|
12079
12089
|
/** @description Режим атрибуции для сегмента `potential`: `cohort` датирует по волне, `period` — по оплате. Отдельное имя потому, что `view` занят сегмент-переключателем; остальные сегменты параметр игнорируют. */
|
|
@@ -12153,6 +12163,8 @@ export interface paths {
|
|
|
12153
12163
|
freshness?: components["parameters"]["BroadcastFreshness"];
|
|
12154
12164
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
12155
12165
|
channels?: components["parameters"]["BroadcastChannels"];
|
|
12166
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
12167
|
+
origin?: components["parameters"]["BroadcastPaymentOrigin"];
|
|
12156
12168
|
};
|
|
12157
12169
|
header?: never;
|
|
12158
12170
|
path: {
|
|
@@ -20487,6 +20499,11 @@ export interface components {
|
|
|
20487
20499
|
contactId: string;
|
|
20488
20500
|
/** @description Пин заказа для штампа полей сделки. */
|
|
20489
20501
|
dealId?: string;
|
|
20502
|
+
/**
|
|
20503
|
+
* Format: date-time
|
|
20504
|
+
* @description Момент регистрации, по которой человек попал в сегмент (ISO 8601, зона ОБЯЗАТЕЛЬНА): предохранитель держит только заявки и оплаты после этой регистрации, более ранние не держат. Не передан — заявки и оплаты судятся за всю историю человека (с 15.09.2026).
|
|
20505
|
+
*/
|
|
20506
|
+
registeredAt?: string;
|
|
20490
20507
|
/**
|
|
20491
20508
|
* Format: date-time
|
|
20492
20509
|
* @description Точный момент входа контакта в когорту (ISO 8601, зона ОБЯЗАТЕЛЬНА — …Z либо ±ЧЧ:ММ). На нём считается свежесть в «Аналитике рассылок»: возраст = время отправки минус segmentEnteredAt. Заполняется, когда предсписок собран ПРАВИЛОМ и у каждой строки есть свой момент события (например eventAt регистрации). Не передан — возраст строки остаётся неизвестным. Дату запуска сюда подставлять нельзя: она схлопнула бы месяцы когорт в одну корзину.
|
|
@@ -20534,10 +20551,12 @@ export interface components {
|
|
|
20534
20551
|
alreadyGreeted: number;
|
|
20535
20552
|
/** @description Идёт эпизод регистрации: приветствие ДОЛЖНЫ и не отдали либо подготовлен повторный вход на новый эфир. Считается ПО ЧЕЛОВЕКУ, без скоупа площадки. */
|
|
20536
20553
|
activeEpisode: number;
|
|
20554
|
+
/** @description Пауза повтора сегмента (с 16.09.2026): этим сегментом человеку уже писали, после отправки он зарегистрировался снова, и расписание повторит ему сегмент, но пауза после прошлой отправки ещё не прошла. Только у запуска расписания с включённым повтором; у ручного запуска всегда 0. */
|
|
20555
|
+
resendPause: number;
|
|
20537
20556
|
/** @description Тихий период: человека трогали (нашей отправкой либо шагом календарной цепочки) внутри окна. Окно резолвится настройками — перекрытие рассылки, затем площадка, затем воркспейс, затем 0. По умолчанию 0, то есть правило выключено, пока оператор его не выставит; рекомендация — 7 суток. Волна школы касанием НЕ считается. Расписания судятся своим cooldownDays. */
|
|
20538
20557
|
cooldown: number;
|
|
20539
20558
|
};
|
|
20540
|
-
/** @description
|
|
20559
|
+
/** @description Касание этого сегмента уже занято в журнале касаний под другим именем (строка продолжения до 16.09.2026, старое продолжение этим текстом без ярлыка) либо тот же ТЕКСТ уходил человеку любым сегментом меньше трёх суток назад. Только у продолжения расписания; отдельно от blockedBy: claim журнала такие строки не видит, их держит читающая проверка. */
|
|
20541
20560
|
touchClaimed: number;
|
|
20542
20561
|
/** @description ИНФОРМАЦИЯ, а не запрет: этим же ярлыком человека рассылал ВНЕШНИЙ механизм — волна школы своими процессами либо шаблон Wazzup. Наш догон в мессенджерах уйдёт как обычно: так работает штатный процесс. В отсев это число НЕ входит. */
|
|
20543
20562
|
externalWaveTouched: number;
|
|
@@ -20789,11 +20808,47 @@ export interface components {
|
|
|
20789
20808
|
} | null;
|
|
20790
20809
|
/** @description Сколько отправок ушло ВСЛЕПУЮ: канал взят резервным транспортом площадки, а не доказан привязками контакта или его ответом. Это ПОДМНОЖЕСТВО sentCount, а не отдельный исход — сообщение ушло. Без него «доставлено в мессенджер» и «упало в личный кабинет сайта» в истории неразличимы. null — у волн (отправляет процесс школы) и у запусков до появления счётчика; это НЕ то же, что 0. */
|
|
20791
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;
|
|
20792
20815
|
/** Format: date-time */
|
|
20793
20816
|
createdAt: string;
|
|
20794
20817
|
/** Format: date-time */
|
|
20795
20818
|
completedAt?: string | null;
|
|
20796
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
|
+
};
|
|
20797
20852
|
BroadcastLaunchesPage: {
|
|
20798
20853
|
items: components["schemas"]["BroadcastLaunch"][];
|
|
20799
20854
|
hasMore: boolean;
|
|
@@ -20984,6 +21039,20 @@ export interface components {
|
|
|
20984
21039
|
} & {
|
|
20985
21040
|
[key: string]: unknown;
|
|
20986
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
|
+
};
|
|
20987
21056
|
TriggerActionCatalogItem: {
|
|
20988
21057
|
actionType: string;
|
|
20989
21058
|
title: string;
|
|
@@ -24963,7 +25032,7 @@ export interface components {
|
|
|
24963
25032
|
name: string;
|
|
24964
25033
|
/** @description Латиница, цифры, дефис, подчёркивание. Уникален в воркспейсе. */
|
|
24965
25034
|
slug: string;
|
|
24966
|
-
/** @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 переменные вычищаются, потому что за ним нет конкретного человека. Пустое у контакта значение убирает параметр из адреса целиком. */
|
|
24967
25036
|
targetUrl: string;
|
|
24968
25037
|
productCode?: string;
|
|
24969
25038
|
};
|
|
@@ -26796,6 +26865,8 @@ export interface components {
|
|
|
26796
26865
|
isConstant: boolean | null;
|
|
26797
26866
|
/** @description CHANNEL scope (isConstant=true) only */
|
|
26798
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;
|
|
26799
26870
|
/** Format: date-time */
|
|
26800
26871
|
createdAt: string;
|
|
26801
26872
|
/** Format: date-time */
|
|
@@ -26823,6 +26894,8 @@ export interface components {
|
|
|
26823
26894
|
isConstant?: boolean;
|
|
26824
26895
|
/** @description Required when scope=CHANNEL AND isConstant=true */
|
|
26825
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;
|
|
26826
26899
|
};
|
|
26827
26900
|
UpdateVariableRequest: {
|
|
26828
26901
|
/** @enum {string} */
|
|
@@ -26838,6 +26911,8 @@ export interface components {
|
|
|
26838
26911
|
value?: string | null;
|
|
26839
26912
|
/** @description CHANNEL scope only; null clears */
|
|
26840
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;
|
|
26841
26916
|
};
|
|
26842
26917
|
DeleteVariableRequest: {
|
|
26843
26918
|
/** @enum {string} */
|
|
@@ -27347,6 +27422,8 @@ export interface components {
|
|
|
27347
27422
|
BroadcastFreshness: ("0-7" | "8-14" | "15-30" | "31-45" | "46-60" | "61+")[];
|
|
27348
27423
|
/** @description Мессенджеры волны (транспорты GetCourse + UNKNOWN — канал не определён), мультивыбор. Деньги фильтруются по скалярному каналу сделки. */
|
|
27349
27424
|
BroadcastChannels: string[];
|
|
27425
|
+
/** @description Чьи деньги показывать. `outbound` — рассылок: органические заказы и карточки оплат с органическим якорем исключены. `inbound` — органических диалогов: без `platformId` это все входящие площадки воркспейса, `channels` читает канал ВХОДЯЩИХ контакта, период — по дате оплаты, волновые измерения у органики пусты. */
|
|
27426
|
+
BroadcastPaymentOrigin: "outbound" | "inbound";
|
|
27350
27427
|
/** @description cohort — дата запуска; period — дата события; entry — дата входа в сегмент (segment_entered_at: регистрация, конец серии, предсписок). В entry строки без даты входа выпадают всегда, включая mode=all, а события атрибутируются когортно. */
|
|
27351
27428
|
BroadcastView: "cohort" | "period" | "entry";
|
|
27352
27429
|
/** @description Конкретный день кликнутой ячейки (МСК). */
|