Dell Boomi - анализ значений из тела письма

Я работаю с платформой Dell Boomi и NetSuite.

У меня уникальная ситуация, когда нам нужно получить электронные письма из почтового ящика с почтовым (IMAP) соединителем, а затем взять тело письма и прочитать его построчно, чтобы извлечь конкретную информацию.

Примерная диаграмма того, что мне нужно Это грубая диаграмма того, что мне нужно сделать.


Коннектор почты (IMAP) работает отлично, но я не могу понять, что оттуда делать. Я пытаюсь выучить Boomi, и это оказывается более сложной задачей.

В основном мне нужно создать 3 переменные из тела письма:

var customer = [];
var memo = [];
var amount = [];

Анализируемое тело письма без заголовков будет выглядеть примерно так:

-----Исходное сообщение-----

От: [email protected]

Отправлено: среда, 28 августа 2019 г., 21:07

Кому: [email protected];

Тема: Журнал событий: Строка темы резюме отчета

Пример 123456, 123412532452346346: ALKNBAQWIOET235QA08WSAQ2038YTQ12 {

Пример 120985, 109285710928561239: IO2Q0AIHJG698AE64A98GA654AG98DGF {

Пример 489072, 987651498795654987: S54DGFH9A84D65F4A6SDF98A4SD138A4 {

12341253643876843589, #12345, 100.00

12387019287654984616, #12324, 125.00

12359870923654987465, #51232, 100.00

Эта часть письма - это то, что мне нужно прочитать, а остальное игнорировать

12341253643876843589, #12345, 100.00

12387019287654984616, #12324, 125.00

12359870923654987465, #51232, 100.00

Я предполагаю, что мне понадобится форма обработки данных для управления информацией. Но я не понимаю, какие сценарии следует включить, чтобы преобразовать их в переменные, которые можно будет связать с картой в будущем.

Грубо написанный сценарий мне нужен для следующих действий:

  • Прочтите первую строку электронного письма и убедитесь, что первое слово состоит не менее чем из 20 символов.
  • Если не прочтите следующую строчку
  • Если он хранится в переменной customer, сохраните значение после, в переменной memo (# 12345), затем сохраните последнее значение как переменную amount
  • затем разрешите передачу / отображение этих переменных в NetSuite

Прошу прощения, если в этом нет особого смысла. Я очень надеюсь, что смогу найти здесь помощь. Я изо всех сил пытаюсь выучить это, но это просто выше моей головы, в отчаянии, и мне просто нужна помощь ...

Мой текущий процесс в Boomi, я понятия не имею, что делать после этого, снова электронная почта тянет отлично. текущий процесс Boomi


person NinjaRuki    schedule 07.11.2019    source источник


Ответы (1)


Один из способов решить эту проблему - разделить документ по строкам, протолкнуть его по карте, а затем оценить, больше ли первый столбец, чем ноль, по маршруту. Пропустите переменные и просто обработайте это через карту. Это предполагает, что вы имеете некоторое фундаментальное представление о DellDoomi.

Пример:  введите описание изображения здесь

Двигаясь слева направо:

  1. «Тестовые данные» - сообщение с вашим примером текста, чтобы я мог протестировать.
  2. «Разделить документ - Плоский файл - Разделить по строкам» - здесь вы должны начать и подключить его к своему почтовому коннектору. Это форма процесса данных, разделенные документы  введите описание изображения здесь

Это в основном разделит ваше электронное сообщение на отдельные документы в каждой строке.

  1. «Плоский файл» - это карта. Я вручную создал новый профиль плоского файла (ввод сообщения электронной почты), разделенный запятыми с тремя элементами. Это придает структуру каждой строке. Источник и цель используют один и тот же профиль, ваша правая сторона, вероятно, будет профилем для netsuite, отображающим соответствующие столбцы.

введите описание изображения здесь

  1. «Маршрут» - это в основном смотрит на значение в первом столбце и проверяет, больше ли оно 0. Все остальное перенаправляется на значение по умолчанию, и мы ничего не делаем с этим. Маршрутизация по первому столбцу созданного профиля «ввода сообщения электронной почты».

введите описание изображения здесь

  1. Ветвь "Больше 0" - это то место, где вы подключаете пункт назначения. Поскольку это должны быть только те 3 строки, как показано в вашем примере, поскольку они на самом деле больше нуля.

введите описание изображения здесь

person Tim Mylott    schedule 11.11.2019
comment
Спасибо за ответ, Тим! Я отмечаю ваш ответ как ответ, так как он работает для приведенного мной сценария. Я не смог точно представить мои фактические данные, и это полностью моя вина. Технически наш столбец выглядит так: с буквенно-цифровым обозначением и текстом: 4T1CE38P76U656260: ЗАКАЗ НАЙДЕН ДЛЯ Типа (Trans Charge), Voucher 00XY9230A01, $ 295.00 Если мы поместим его в плоский файл, наши первые столбцы будут выглядеть так: COLUMN 1: 4T1CE38P76U656260: NO НАЙДЕН ЗАКАЗ ДЛЯ Типа (трансферт) КОЛОНКА 2: Ваучер 00XY9230A01 КОЛОНКА 3: $ 295,00 - person NinjaRuki; 13.11.2019
comment
Знаете ли вы какие-либо другие источники, которые помогут в изучении Boomi, кроме документации Boomi? Я бы хотел иметь возможность рассматривать фактические варианты использования, а не общие определения. Спасибо!!! - person NinjaRuki; 13.11.2019
comment
Есть обучение, boomi.com/services/training, которое я считаю бесплатным. Если у вас есть доступ к платформе, есть библиотека процессов, в которой есть предварительно созданные процессы, которые вы можете просмотреть и использовать повторно. Могут быть и другие ресурсы, о которых я не знаю. - person Tim Mylott; 14.11.2019
comment
Читая ваш другой комментарий, какие именно данные вам понадобятся в этом сценарии? Ваучер и сумма, или вам также понадобится это первое буквенно-цифровое значение? - person Tim Mylott; 14.11.2019
comment
В этом сценарии нам нужно было получить данные 4T1CE38P76U656260, 00XY9230A01, 295 долларов США. Благодарим вас за продолжение, с помощью коллеги мы смогли получить то, что нам нужно, и запустить. Мы разделили сообщение электронной почты построчно, а затем использовали скрипт Groovy для получения и установки свойств, содержащих информацию, которую мы хотели получить из письма. После этого мы смогли запросить NetSuite и обновить целевую запись. Сейчас он работает очень хорошо. Еще раз спасибо за ваши последующие действия и предыдущие советы! - person NinjaRuki; 15.11.2019