Files
portal/app/tests
Дмитрий 0d0978a656 fix(смс): Теле2 не принимал имя отправителя в чужом написании
Первая клиентская рассылка на Теле2 упала: invalid_source_address.

Причина не опечатка, а устройство: имена регистрируются У КАЖДОГО ОПЕРАТОРА
ОТДЕЛЬНО, и написание разное — у МТС согласовано `liderra.ru`, у t2
`Liderra.ru`. Клиентская рассылка несёт ОДНО имя на всех получателей
(campaign.sender_name): имя выбирается на кампанию, а не на канал. Для МТС
оно верное, для t2 — нет.

Проверено опытом на живом t2, а не рассуждением:
  имя [liderra.ru] → ОТКАЗ: invalid_source_address
  имя [Liderra.ru] → ПРИНЯТО, message-id-kDQU1vVzEMbT

Лечение: канал приводит написание к согласованному с t2 — но ТОЛЬКО когда это
то же самое имя, отличающееся регистром. Чужое имя не трогаем: подменить его
значило бы соврать про отправителя, а честный отказ t2 лучше тихой подмены.
Пустое имя, как и раньше, заменяется именем канала.

🪤 Лечение половинчатое и так и подписано в коде: правильное — реестр имён по
каналам и в клиентском модуле (в модуле отдела продаж он уже есть,
SalesSmsSender::activeByProviderKey). Тогда эта склейка станет не нужна.

Четыре теста на разбор имени: тот же в другом регистре, точное совпадение,
чужое имя, пустое. Всего 82 теста зелёные, Pint чист, статанализ по всему
проекту 0 ошибок.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 18:15:31 +03:00
..