Клиент приложил чертёж, увидел сообщение об отправке и ждёт расчёт. В CRM пришёл комментарий, а ссылка на файл не открывается. Повторно просить вложение неудобно и дорого для продажи. Передачу файлов принимайте отдельно от обычных полей формы: загрузка, хранение, связь с записью и доступ имеют собственные точки отказа.
Определите, какие вложения нужны бизнесу

Составьте перечень допустимых форматов и максимальный размер на файл и заявку. Для фото объекта, чертежей и резюме требования разные. Не разрешайте любые расширения только ради удобства. Если менеджеру нужен PDF, предложите клиенту именно этот формат и объясните ограничение до выбора файла.
Для условного производства вывесок можно принять эскиз и фотографии места установки. Согласуйте, какие материалы обязательны, а какие клиент пришлёт позже. Нельзя терять всю заявку только из-за дополнительной фотографии, если бизнес допускает её отдельную передачу. Такое поведение должно быть заранее определено и понятно пользователю.
Проверяйте файл на сервере
Проверка в браузере помогает быстро показать ошибку, но не заменяет серверную. Учитывайте допустимое расширение, фактический тип, содержимое и размер в сочетании, а не по одному признаку. Имя и объявленный Content-Type можно подделать. Меры обработки подбирайте для конкретных форматов и применяемых библиотек.
Храните вложения с безопасными именами вне публичной выдачи либо через контролируемый доступ. Исходное название можно сохранить как подпись для сотрудника после проверки. Не позволяйте загрузке исполняемого файла превращаться в выполнение кода на сервере. Антивирусная проверка или обезвреживание содержимого, если применяются, дополняют ограничения, а не отменяют их.
Разделите заявку и состояние вложения
У файла должны быть идентификатор, связанная заявка и состояние передачи. Если CRM недоступна, сохраняйте разрешённое к хранению вложение по согласованным правилам и показывайте сотруднику задержку. Не отправляйте клиенту обещание полной готовности, если часть данных ещё не сохранена надёжно.
Решите, как повторять неудачную передачу и когда удалять временную копию. Не создавайте новую заявку при каждом повторе загрузки одного файла. Для журнала достаточно идентификатора и причины сбоя; содержимое документов и секретные ссылки не нужно выводить в открытые сообщения об ошибках.
Выберите способ вложения в CRM
Файл может загружаться в хранилище CRM и связываться с записью либо передаваться защищённой ссылкой, если процесс это допускает. Например, API файлов amoCRM предусматривает загрузку и отдельную работу со связями. Уточните доступность выбранного сценария и права вашей интеграции. Поле с URL само по себе не даёт безопасного доступа.
Для ссылки определите срок жизни, проверку прав и поведение после истечения. Менеджер не должен получать временный адрес, который исчезнет раньше обработки заявки. Одновременно нельзя делать документ публичным ради удобства. Срок хранения и доступ согласуйте с владельцем процесса и требованиями к данным.
Примите вложения под ролью менеджера
Отправьте допустимый файл, слишком большой, повреждённый и файл с неожиданным типом. Проверьте одинаковые названия, несколько вложений и обрыв связи. Затем откройте запись под обычным сотрудником: администратор может иметь доступ, которого нет у принимающего заявку менеджера.
Повторите передачу после сбоя и убедитесь, что вложение связано с исходной записью. Проверьте удаление и завершение установленного срока хранения. Для команды оставьте инструкцию: где найти файл, что означает задержка и как запросить замену. Хорошая интеграция сохраняет контекст обращения и не заставляет клиента повторять весь путь из-за одной ошибки загрузки.
Связанные материалы
CRM недоступна: как сохранить заявку и повторить передачу
Заявки в amoCRM: контакты, сделки и источники обращения
Приёмка интеграции CRM: набор проверочных сценариев
Документация для проверки
Безопасная загрузка файлов: OWASP
Ссылки на документацию проверены 8 октября 2026 года. Названия настроек и возможности сервисов могут меняться; перед внедрением сверяйте актуальные условия.
Коротко о важном
Достаточно ограничить расширения в поле загрузки?
Нет. Проверяйте файл на сервере, сочетая ограничения формата, содержимого, размера и хранения. Данные из браузера нельзя считать доверенными.
Можно дать менеджеру обычную публичную ссылку на документ?
Для документов с ограниченным доступом нужен контролируемый способ выдачи. Согласуйте права, срок хранения и срок действия ссылки, проверив доступ под ролью менеджера.
Как избежать дублей при повторной передаче вложения?
Храните идентификатор файла, связь с исходной заявкой и результат загрузки. Повтор должен восстанавливать нужное вложение, а не создавать новую заявку целиком.



