Проверьте команду
Укажите аккаунт, канал, адресата и тип содержимого. До отправки проверьте ограничения канала и наличие обязательных данных. Сообщение с файлом или шаблоном может требовать другой структуры, чем обычный текст.
Сохраните намерение отправки
Назначьте операции устойчивый идентификатор и сохраните результат. Если запрос завершился таймаутом, сначала выясните состояние предыдущей попытки. Повтор без проверки может отправить клиенту два одинаковых сообщения.
Обновляйте статус
Храните внутренний статус отдельно от статуса платформы. Событие «принято» не следует показывать как «прочитано». При редактировании или удалении проверьте, поддерживается ли операция каналом и как она отражается в CRM.
Пример проверки
Менеджер видит «ожидает подтверждения» после сетевого таймаута. Кнопка повторной отправки не запускает дубликат, пока не проверена первая операция.
Перед следующим шагом
- Запрос идентифицируется однозначно
- Таймаут не считается доставкой
- Статусы имеют точное значение