api#347: передавать и настраивать UTM part без ссылки в Preland
This commit is contained in:
1 parent
94619432a3
commit
0d350ed14b
23 files changed
+126
-47
No files matched your search
+6
-3
@@ -21,7 +21,7 @@
|
||||
явно загрузить сохранённое либо отменить черновик. Версии CAS остаются внутренними;
|
||||
даты заметок и версии конфигов в таблице не показываются. Дата последнего чтения с хостинга видна у каждого домена.
|
||||
|
||||
Под таблицей — копирование сохранённых host и восьми канонических UTM из одного
|
||||
Под таблицей — копирование сохранённых host и девяти канонических UTM из одного
|
||||
источника в несколько получателей. Источник исключён из получателей. Черновики
|
||||
источника и выбранных получателей сначала нужно сохранить или отменить. Неизвестные
|
||||
поля, реквизиты, заметки и файлы ZIP не копируются. Отсутствующая группа источника
|
||||
@@ -36,7 +36,7 @@
|
||||
не создаёт задания; сохранённый выбор доступен и при недоступном хостинге.
|
||||
|
||||
`GET /api/link-builder?target=ID` читает выбор, `POST /api/link-builder` сохраняет
|
||||
`{target,selection}` с ровно восемью каноническими UTM-ключами. Действуют общий вход
|
||||
`{target,selection}` с ровно девятью каноническими UTM-ключами. Действуют общий вход
|
||||
и CSRF. Состояние находится в приватном `state/link-builder-ID.json` с режимом0600.
|
||||
При переименовании домена меняется origin ссылки, выбор и сохранённые метки остаются.
|
||||
Неизвестный в текущем config номер сопровождается предупреждением;
|
||||
@@ -54,7 +54,7 @@
|
||||
Черновик сохраняется при обновлении колонок или ошибке запроса. При конфликте
|
||||
сохранения нужно явно загрузить серверный текст; чужой текст молча не заменяется.
|
||||
|
||||
`GET /api/utm-notes` читает восемь заметок, `POST /api/utm-notes` принимает
|
||||
`GET /api/utm-notes` читает девять заметок, `POST /api/utm-notes` принимает
|
||||
`{marker,text,version}`. Авторизация/CSRF общие; версия отдельная у каждой заметки,
|
||||
запись защищена CAS. Plain text до10000 Unicode-символов, пустой текст очищает
|
||||
заметку. Файл `state/utm-notes.json` приватный0600, хранится независимо от
|
||||
@@ -268,3 +268,6 @@ Config/Transport проверяют единый контракт для Save, C
|
||||
GET/POST/DELETE /api/utm-presets требуют вход; записи требуют CSRF. POST принимает только name и utm (канонические группы, только default/weights). DELETE принимает только id. Копирование POST /api/copy принимает preset и targets с ID/версией каждого получателя; прежний источник-домен больше не поддерживается. Очередь фиксирует собственный UTM-снимок, поэтому удаление набора или любого подключения-источника не влияет на задание. Получателем может быть любой доступный домен. Основной сайт и заметки сохраняются, отсутствующая группа набора не удаляет группу получателя. CAS, резерв и подтверждённое перечитывание сохранены.
|
||||
|
||||
Проверки: tests/utm-presets.php, обновлённый tests/copy.php и ui-utm-presets.cjs; helper preset-ui-helper.cjs адаптирует прежние copy-регрессии к независимому источнику. UI покрывает черновик без публикации, имена/дубликаты, два получателя, reload, гонку list GET/delete, 401/relogin, отмену удаления и API-удаление, мобильную ширину. Тестовые удаления выполняются только над созданными этим тестом наборами.
|
||||
|
||||
|
||||
api#347: part — девятая UTM, пятый символ1/2, default1. Поддерживается редактором, именованными UTM-наборами, копированием, заметками и конструктором. Preland только передаёт метку, ссылка «Для бизнеса» там не добавляется. Runtime config автоматически не дополняется. Старые сохранённые ссылки получают независимый part1 без изменения остальных query-шумов; recovery использует общий приоритет сохранённого snapshot перед текущим resolved fallback.
|
||||
Reference in new issue
Block a user