Как отправить электронное письмо со всей информацией, связанной с идентификатором пользователя в Firebase

Когда новый пользователь добавляется в Firebase, я хотел бы отправить себе электронное письмо со всеми данными, связанными с этим пользователем. Поэтому, если у меня есть путь / contacts и путь / projects, я хотел бы включить данные из обоих путей, когда в путь / contacts добавляется дочерний элемент.

Я посмотрел на Zapier с помощью Mailgun, но не могу понять, как это сделать.

Если Zapier не работает, можно ли этого добиться с помощью firebase-util?

Дерево для my-firebase-app.firebaseio.com/contacts

-contacts
--anonymous:-JttGEelQDsVtZ55n3d2
---name: john doe
---address: 100 Main St.
// . . . 

Дерево для my-firebase-app.firebaseio.com/projects:

-projects
--anonymous:-JttGEelQDsVtZ55n3d2
---projectName: "My first project"
---projectDate: July 27, 2015
// . . . 

ОБНОВЛЕНО:

В ответ на комментарий ниже вот некоторая дополнительная информация:

Я пробовал следующие шаги в Zapier:

  1. Выбрано Add child record в Firebase
  2. Выбрано Send email в Mailgun
  3. Установить путь к данным: /contacts
  4. В разделе тела письма я вставил Raw Json Data

Электронное письмо содержит только данные Json, расположенные в /contacts. Он не содержит данных, находящихся в /projects.


person Ken    schedule 27.07.2015    source источник
comment
Запуск отправки электронной почты из zapier через Firebase должен работать нормально. Запрашивать другое стороннее решение для StackOverflow не по теме. Вместо этого опишите, что вы сделали и где застряли. Вы также можете обратиться в службу поддержки Zapier.   -  person Frank van Puffelen    schedule 28.07.2015
comment
возможный дубликат Отправлять электронное письмо при совпадении в базе данных Firebase   -  person Frank van Puffelen    schedule 28.07.2015
comment
@Frank van Puffelen Спасибо за отзыв. Я отредактировал свой вопрос, чтобы предоставить дополнительную информацию. Надеюсь, это поможет. Я посмотрел на возможный дубликат, но он не дал ответа на мой вопрос.   -  person Ken    schedule 28.07.2015
comment
Перекрестная публикация: groups.google.com/forum/#!topic/ firebase-talk / rIOvKfRKeJ8   -  person Frank van Puffelen    schedule 28.07.2015
comment
@Frank van Puffelen Это сообщение в группах Google, на которое вы указали ссылку выше, было написано не мной. Как бы то ни было, я использую Angular, Node и Firebase.   -  person Ken    schedule 28.07.2015
comment
Ой. По-видимому, здесь не удалось выполнить обнаружение перекрестных сообщений foo. Прости за это.   -  person Frank van Puffelen    schedule 28.07.2015


Ответы (1)


Это довольно легко сделать с помощью Zapier.

Вы определили узел, который запустит Zapier для чтения ваших данных. Затем установите Zapier на «наблюдение» за этим триггерным узлом. Вы определяете поля в узле, а затем в Zapier сопоставляете их с переменными, которые используются для заполнения электронного письма.

В общем используйте что-то вроде этого (ObjC)

Firebase *zapierRef = [myRootRef childByAppendingPath:@"zapier_queue/out"];

Затем скомпилируйте данные, которые вы хотите, чтобы Zapier прочитал, в этом примере я использую словарь.

NSDictionary *dict = @{
                     @"name", @"john doe",
                     @"address", @"100 main street",
                     @"anonymous: @"-JttGEelQDsVtZ55n3d2",
                     @"projectName": @"My first project",
                     @"projectDate": @"July 27, 2015"
                     }

затем запишите это как дочерний узел в узле Zapier

Firebase *zapChildRef = [zapierRef childByAppendingPath@"data"]

[zapChildRef setValue:dict];

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

person Jay    schedule 28.07.2015
comment
Спасибо, это интересно. Я не знал об этом варианте. Как мне скомпилировать данные, если я не знаю информации, которую вы указали в примере словаря? то есть, если все, что я знаю, это то, что я хочу получить информацию для нового UID и любых дочерних элементов, связанных с ним в пути /contacts и пути /projects? - person Ken; 29.07.2015
comment
В какой-то момент вы узнаете эту информацию: возможно, при записи данных в узел / contacts или узел проектов вы также можете записать их в узел, который наблюдает Zapier. Вы также можете настроить наблюдатель firebase на своем узле / projects, чтобы инициировать запись в узел zapier. то есть записывать данные в / contacts, а затем записывать данные в / projects (что наблюдается в вашем приложении). Это запускает чтение информации из / contacts и / projects - компилирует данные и, наконец, записывает их в узел zapier. - person Jay; 29.07.2015