Перейти к содержимому

Четыре события платформы запускают кампанию: комментарий на посте страницы Facebook, комментарий на посте Instagram, сообщение Facebook Messenger, и личное сообщение Instagram. Каждое событие сопоставляется с активными кампаниями, привязанными к подключённой странице, для которой оно пришло, и каждая кампания, чья текущая версия графа держит подходящий узел-триггер, запускает одно выполнение. Нажатия кнопок и собственные комментарии страницы никогда не запускают кампанию.

СобытиеУзел-триггерПлатформа кампанииЗапускает выполнение
Комментарий на посте страницы Facebooktrigger_commentFacebookДа, один раз на каждую подходящую активную кампанию на этой странице
Комментарий на посте Instagramtrigger_commentInstagramДа, один раз на каждую подходящую активную кампанию на этой странице
Сообщение Facebook Messengertrigger_dmFacebookДа, когда сообщение несёт текст и для этого человека ничего не выполняется
Личное сообщение Instagramtrigger_dmInstagramДа, когда сообщение несёт текст и для этого человека ничего не выполняется
Нажатие кнопки внутри ЛСнетобеНет — оно возобновляет выполнение, ожидающее ответа
Ответ в ветке комментария, на который ждёт выполнениенетобеНет — оно возобновляет это выполнение, без дальнейшего сопоставления кампаний
Комментарий или ЛС приходитдля подключённой страницыОтправлено самой страницей,эхо отправленного ЛС,удалённый или скрытый комментарий,или ЛС без текста?ИгнорируетсяЖдёт ли ответа выполнениедля этого человека на этой странице?Это выполнение возобновляется и берёттекст как ответ.Сопоставление кампаний не происходитАктивная кампания на странице, чьятекущая версия графа держитподходящий узел-триггер?Запускается одно выполнениена каждую подходящую кампанию Да Нет Да Нет Нет Да
  • Узел-триггер: trigger_comment
  • Платформа кампании: Facebook
  • Несёт: комментарий, его пост, текст комментария, имя комментатора, любое приложенное фото или видео, и родительский комментарий для ответа

Комментарий на посте подключённой страницы Facebook сопоставляется с каждой активной кампанией, привязанной к этой странице. Кампания, чей триггер имеет post_scope, установленный на specific, совпадает только с комментариями на посте, указанном в post_id; триггер с областью all совпадает с комментариями на любом посте страницы.

Область поста — единственное, по чему фильтрует триггер комментария. Узел-триггер не содержит настройки ключевых слов, так что фильтрация текста происходит дальше по графу, на первом узле condition, которого достигает выполнение.

Комментарий без текста — стикер, или вложение, опубликованное без подписи — приходит с текстом-заполнителем {{sticker}}, так что узлу-условию всегда есть с чем детерминированно сравнивать.

  • Узел-триггер: trigger_comment
  • Платформа кампании: Instagram
  • Несёт: комментарий, его медиа, текст комментария, имя пользователя комментатора, и родительский комментарий для ответа

Комментарии Instagram идут тем же путём, что и комментарии Facebook, и используют тот же узел-триггер. Кампания должна быть привязана к бизнес-аккаунту Instagram, для которого пришёл комментарий; платформа кампании определяется страницей, на которую она нацелена, так что привязка её к аккаунту Instagram — это то, что делает её пригодной для событий Instagram.

Комментарий, который возобновляет ожидающее выполнение на пути Instagram, приходит с текстом-заполнителем {{media}}, когда несёт медиа вместо текста.

  • Узел-триггер: trigger_dm
  • Платформа кампании: Facebook
  • Несёт: отправителя и текст сообщения

Входящее сообщение Messenger сначала проверяется против выполнений, уже идущих для этого человека на этой странице. Идущее выполнение берёт сообщение как ответ. Без идущего выполнения AFP ищет активные кампании на странице, чей текущий граф начинается с trigger_dm, и запускает одно выполнение на каждое совпадение.

Узел trigger_dm не имеет области поста и текстового фильтра, так что любое ЛС, несущее текст, запускает каждую активную кампанию trigger_dm на странице. Какие из них пойдут дальше и что-то отправят, решают их узлы-условия.

  • Узел-триггер: trigger_dm
  • Платформа кампании: Instagram
  • Несёт: отправителя и текст сообщения

ЛС Instagram разрешаются в подключённую страницу либо напрямую, для бизнес-аккаунта Instagram, подключённого отдельно, либо через страницу Facebook, к которой присоединён аккаунт. Событие для аккаунта Instagram, не подключённого к AFP, отбрасывается.

ЗначениеСобытия комментарияСобытия ЛСЧто это использует
Человек, который его отправилдадаПолучатель каждого send_dm в выполнении, и контакт, к которому применяются add_tag и remove_tag
Текст сообщениятекст комментариятекст сообщенияСопоставление condition, включая списки ключевых слов
Имя отправителядадаПерсонализация текста send_dm, reply_comment или send_comment
Комментарий-триггерданетreply_comment, hide_comment и delete_comment, которые действуют на этот комментарий
Пост, на котором находится комментарийданетПроверка post_scope триггера
Приложенное фото или видеоданетМедиафильтры на condition, такие как filter_images
Подключённая страница и её платформададаРешение, куда публикуются действия выполнения

Ответ, который возобновляет ожидающее выполнение, несёт текст, но без вложения. condition с включённым фильтром изображений поэтому не совпадает с обычным текстовым ответом, и ветка “ждать изображение” направляет текстовые ответы через выход No Match.

Событие ЛС не несёт ни комментария, ни поста, поэтому действия с комментарием нельзя добавить в кампанию, чей триггер — trigger_dm.

СобытиеЧто происходит
Комментарий, удалённый или скрытый на платформеИгнорируется. Обрабатываются только новые комментарии.
Активность страницы, не являющаяся комментариемИгнорируется.
Комментарий, который страница опубликовала сама, включая тот, что опубликовала кампанияИгнорируется, так что reply_comment или send_comment не может повторно запустить собственную кампанию.
Эхо ЛС, которое отправила страницаИгнорируется, так что send_dm не может возобновить собственное выполнение.
ЛС без текста — только изображение, стикер или вложениеИгнорируется. Оно не запускает выполнение и не возобновляет ожидающее.
Нажатие кнопки в ЛСВозобновляет ожидающее выполнение с подписью кнопки как текстом ответа; если для этого человека ничего не выполняется, ничего не происходит.
Второе подходящее событие от того же человека, пока выполняется его выполнение этой кампанииПропускается. Один человек не может иметь два выполнения одной кампании одновременно.
Событие для страницы, не подключённой к AFPОтбрасывается.
Событие для страницы, чей владелец не имеет активной подпискиКампания не запускается. Комментарий записывается как ошибка подписки в ленте активности.
Событие для страницы, чей токен доступа больше не работаетКампания не запускается. Комментарий записывается как ошибка повторного входа, пока доступ страницы не будет обновлён.
Событие для неактивной кампании, или совпадающее с триггером в более старой сохранённой версии графаНе сопоставляется. Только текущая версия активной кампании запускает выполнения.
Событие для активной кампании без сохранённого графа, или чей граф не имеет узла-триггераНе сопоставляется. Одной активации недостаточно, чтобы кампания стала пригодной.

События доходят до AFP только для подключённой страницы, чья подписка на события зарегистрирована на платформе и подтверждена. Пока это рукопожатие не удалось, комментарии и ЛС на странице ничего не производят, как бы ни была построена кампания.

Создание первой кампании на странице подписывает эту страницу, так что отдельного шага подписки выполнять не нужно. Изменение страницы, на которую нацелена кампания, тоже подписывает новую страницу, а удаление последней кампании на странице снова убирает подписку.

Подписка покрывает активность комментариев на постах страницы, входящие сообщения и нажатия кнопок внутри этих сообщений — все четыре события триггеров проходят через неё.

Деактивация кампании не убирает подписку. События продолжают приходить для страницы и ничего не сопоставляют, пока все кампании на ней неактивны, поэтому повторная активация кампании начинает работать немедленно.

  • Каждая подходящая кампания на странице запускает своё собственное выполнение. Две активные кампании с пересекающимися ключевыми словами обе запускаются для одного и того же комментария.
  • Сопоставление происходит с версией графа, сохранённой в момент прихода события, и выполнение остаётся закреплённым за этой версией всю свою жизнь.
  • Настройка триггера unique_per_user сужает, какие повторные события от того же человека запускают кампанию. Типы узлов описывает, что она ограничивает.
  • Комментарий, опубликованный как ответ внутри ветки, на которую ждёт выполнение, возобновляет это выполнение и останавливается там — комментарий не предлагается никакой другой кампании на странице.