SAP WhatsApp Интеграция
SAP WhatsApp Интеграция
Интеграция SAP с WhatsApp: на телефон клиента через несколько секунд после оплаты
Розничная сеть, использующая SAP S/4HANA, ежедневно выставляла электронные счета-фактуры в систему e-Archive, и многие из них доходили до клиента в нерабочем формате. Распечатанные копии лежали на прилавке. Адреса электронной почты, указанные при оформлении покупки, возвращались. Клиенты возвращались в магазин, чтобы запросить копии, необходимые для гарантийных претензий или отчетов о расходах.
Компания Natura Systems разработала интеграцию SAP с WhatsApp, которая отправляет каждый счет-фактуру на WhatsApp клиента, как только SAP и интегратор e-Archive завершают свою работу. Клиент получает короткое сообщение, одобренное Meta, содержащее номер счета-фактуры, сумму и дату, а также кнопку «Просмотреть счет-фактуру», которая открывает официальный PDF-файл. SAP остается системой учета, пользовательское промежуточное ПО .NET обрабатывает сообщения, и каждый статус доставки записывается обратно в SAP.
Архитектура интеграции SAP с WhatsApp
В основе этой архитектуры лежит тот же принцип, что и в нашей интеграции с SAP Webkassa: SAP определяет дальнейшие действия, а отдельная служба .NET обрабатывает взаимодействие с внешним миром. Это позволяет разгрузить серверы приложений SAP от нагрузки по обмену сообщениями, и SAP S/4HANA никогда не подключается напрямую к интернету.
В SAP SD при совершении транзакции POS создается документ счета-фактуры. SAP отправляет счет-фактуру из электронного архива авторизованному интегратору GIB; интегратор подписывает, формирует отчет и сохраняет счет-фактуру, а затем отправляет обратно ETTN (уникальный идентификатор счета-фактуры) и ссылку на PDF-файл. Наша работа с системами B2B, B2C и электронными архивами означает, что на этом этапе используется существующий поток электронных счетов-фактур розничного продавца.
Когда статус электронного счета-фактуры завершается, SAP записывает запись «счет-фактура готов» в небольшую пользовательскую таблицу очереди: имя клиента, номер мобильного телефона, флаг утверждения, номер документа счета-фактуры, общая сумма, дата счета-фактуры и ETTN. В зависимости от среды, промежуточное ПО считывает очередь через функциональный модуль с поддержкой RFC (через SAP .NET Connector) или службу OData.
Сообщение никогда не ссылается на счет-фактуру, которая еще юридически не существует. Этот счет отправляется после того, как интегратор утвердит счет из электронного архива, что гарантирует соответствие процесса законодательным и налоговым требованиям розничного продавца. Бизнес-правила остаются в SAP. Какие каналы продаж, магазины или группы клиентов получат счета через WhatsApp, контролируется конфигурацией в SAP, а не кодом в промежуточном программном обеспечении.
Промежуточное ПО представляет собой сервис ASP.NET Core с хранилищем SQL Server. Оно разработано для использования в производственной среде с первого дня:
**API NET Core: получает события «готовность счета» от SAP и веб-хуки состояния от Meta, а также предоставляет проверки работоспособности для мониторинга.
**Исходящий поток SQL Server: каждый счет становится отдельной строкой, ключом которой является номер платежного документа. Уникальный ключ делает каждую отправку повторяемой: если SAP отправляет одно и то же событие дважды, клиент все равно получит одно сообщение.**
**Фоновые обработчики Hangfire:** получают ожидающие строки, отправляют, повторно ставят в очередь ошибки и запускают запланированные задания сверки. Панель мониторинга Hangfire отображает глубину очереди и сбойные задания с первого взгляда.
**Политики отказоустойчивости Polly:** экспоненциальный откат для временных ошибок и ограничений API, автоматические выключатели при недоступности API и строгие периоды ожидания гарантируют, что медленный вызов никогда не заблокирует очередь.
**Журнал аудита: Каждый запрос, ответ и изменение статуса регистрируются с указанием времени, что обеспечивает финансовый отдел необходимыми доказательствами.**
Сообщения отправляются через API WhatsApp Business Cloud, размещенный на платформе Meta, с использованием предварительно утвержденного турецкого шаблона «Ваш счет готов». Четыре поля текста заполняются данными из SAP, а кнопка URL имеет динамический суффикс, указывающий на сервис привязки счетов. Для клиентов, предпочитающих русский, казахский или английский языки, под тем же именем шаблона можно сохранить несколько языковых версий.
Веб-хуки статуса (отправлено, доставлено, прочитано, сбой) сопоставляются со строкой исходящих сообщений и записываются обратно в SAP, позволяя пользователям магазинов и финансового отдела просматривать статус доставки платежного документа, не покидая SAP. Если API сообщает о недоступности номера в WhatsApp, промежуточное ПО автоматически переключается на SMS или электронную почту.
- Ссылка «Просмотреть счет»: защищена по своей конструкции.
- Согласие и персональные данные
- Ссылка содержит случайный, одноразовый токен; она никогда не содержит номер счета-фактуры или какие-либо данные клиента.
Ссылки истекают через настраиваемый период [например, 30 дней]; клиент всегда может запросить новую ссылку в магазине.
PDF-файл импортируется из архива интегратора, поэтому клиент всегда видит официальный, подписанный документ. Каждое обращение регистрируется в счете-фактуре.
Номер мобильного телефона записывается на кассе, либо на экране POS-терминала, либо через приложение для поддержки продаж в магазине, вместе с четким подтверждением доставки. Он преобразуется в международный формат и сохраняется с отметкой времени подтверждения. Шаблон содержит только детали транзакции, а промежуточное программное обеспечение хранит только персональные данные, необходимые для отправки сообщений и подтверждения доставки, в соответствии с правилами хранения, согласованными с GDPR (Управление по защите персональных данных Турции) розничного продавца.
