Электронная почта остаётся одним из самых распространённых «интерфейсов интеграции» в бизнесе. Счета, уведомления о доставке, подтверждения заказов, обновления от поставщиков — часто email является единственной точкой интеграции, доступной разработчикам. Однако обработка писем сопряжена с трудностями: изменяющиеся макеты, пересылаемые цепочки, HTML-форматирование, различия в структуре у разных отправителей и даже незначительные изменения формулировок могут нарушить работу парсера.
Ловушка регулярных выражений
Большинство команд начинают с регулярных выражений или шаблонного парсинга. Первоначально такой подход работает:
const match = emailBody.match(/Total:\s*\$([0-9,\.]+)/);
Но рано или поздно возникают проблемы: «Total» меняется на «Amount Due», валюта перемещается в другое место, поставщик обновляет шаблон письма, или кто-то пересылает сообщение. В результате парсер ломается, и вместо разработки продукта приходится заниматься поддержкой логики парсинга.
Альтернативный подход
Вместо сопоставления шаблонов можно определить схему данных, которую необходимо извлечь:
{
"invoiceNumber": "string",
"items": [],
"total": "number",
"currency": "string"
}
Задача сводится к извлечению структурированного JSON, соответствующего этой схеме. Рабочий процесс становится проще: входящее письмо → извлечение структурированных данных → валидация → отправка в вебхук. В результате бэкенд работает только с чистым JSON.
Превращение email в вебхуки
Цель заключается в преобразовании хаотичной структуры электронных писем в чёткий поток данных: email → структурированный JSON → вебхук. Это позволяет системам обрабатывать электронную почту как любой другой API-ввод, упрощая интеграцию и уменьшая сложность кода.
Практические рекомендации
При реализации такого подхода стоит учитывать несколько важных аспектов. Всегда сохраняйте исходные письма — это поможет в отладке и анализе проблем. Обязательно проверяйте извлечённые поля на корректность и полноту. Обрабатывайте случаи с низкой уверенностью в данных, например, когда парсер не может однозначно определить значение. И наконец, будьте готовы к нестандартным ситуациям — электронная почта полна сюрпризов.
Электронная почта никуда не исчезнет из бизнес-процессов, но её обработка не должна быть болезненной. Современные подходы с использованием AI и чётко определённых схем данных позволяют превратить этот канал в надёжный источник структурированной информации.