Перейти к содержанию

Объект Journey

Методы жизненного цикла, создания и обновления возвращают объект Journey с одинаковой структурой верхнего уровня:

Структура
{
"info": { ... }, // метаданные только для чтения (только в ответах)
"params": { ... }, // конфигурация для всего Journey (создание / обновление)
"points": [ ... ], // узлы на холсте и их соединения
"comments": [ ... ] // комментарии на холсте
}

При создании или обновлении Journey вы отправляете title, params, points и comments. Ответы возвращают info (который содержит params), а также points и comments.

Метаданные Journey только для чтения. Возвращаются каждым методом v3. Не являются частью тела запроса.

ПолеТипОписание
uuidstringID Journey.
titlestringНазвание Journey.
statusJourneyStatusТекущее состояние.
created_atstringВременная метка создания (ISO 8601).
updated_atstringВременная метка последнего обновления (ISO 8601).
is_first_activatedboolБыло ли Journey запущено хотя бы один раз.
paramsJourneyParamsКонфигурация для всего Journey.
category_uuidstringUUID категории, или пусто, если без категории.
pointCountsmap<string, uint32>Количество элементов по типам.
campaign_typeCampaignTypeКак пользователи попадают в Journey.
stop_reasonstringПричина остановки Journey, если применимо.
last_edited_byUserПользователь, который последним редактировал Journey.
dynamic_entryboolВключен ли динамический вход.

JourneyParams

Anchor link to

Конфигурация для всего Journey. Отправляется при создании/обновлении и возвращается внутри info.params.

ПолеТипОписание
application_codestringКод приложения, к которому относится Journey. Обязательно при создании.
silent_hoursSilentHoursЧасы, в течение которых сообщения не отправляются, для каждого канала.
cappingEntryCappingОграничения на то, как часто пользователь может повторно входить в Journey.
conversion_windowConversionWindowОкно для атрибуции конверсий по целям.
user_id_track_change_policyUserIDTrackChangePolicyКак обрабатывать изменение ID пользователя в середине Journey.

SilentHours

Anchor link to

Подавляет отправку в тихие часы. Настраивается для каждого канала: каждый канал принимает свои собственные SilentHoursParams:

ПолеТипОписание
push_paramsSilentHoursParamsТихие часы для push-уведомлений.
inapp_paramsSilentHoursParamsТихие часы для in-app сообщений.
email_paramsSilentHoursParamsТихие часы для email.
sms_paramsSilentHoursParamsТихие часы для SMS.
whatsapp_paramsSilentHoursParamsТихие часы для WhatsApp.
line_paramsSilentHoursParamsТихие часы для LINE.

Каждый SilentHoursParams это:

ПолеТипОписание
enabledboolПрименяются ли тихие часы к этому каналу.
from_timeTimeНачало тихого окна: { "hour": 0–23, "minute": 0–59 }.
to_timeTimeКонец тихого окна.
week_daysbool[]Семь булевых значений для дней, к которым применяется окно (понедельник = индекс 0).
behaviorenumЧто делать, если сообщение попадает в тихие часы: WaitAndSend (удержать, затем отправить, когда окно закончится), DropAndGo (пропустить сообщение, немедленно продолжить Journey) или WaitAndDrop (переждать окно, затем продолжить без отправки).

EntryCapping

Anchor link to

Ограничивает, как часто один и тот же пользователь может входить в Journey.

ПолеТипОписание
is_enabledboolВключено ли ограничение входа.
perioduint64Минимальное количество секунд между входами пользователя.

ConversionWindow

Anchor link to
ПолеТипОписание
secondsuint64Как долго после входа в Journey достижение цели пользователем все еще считается конверсией.

Элемент (point) — это узел на холсте Journey: точка входа, сообщение, задержка, разделитель и так далее.

ПолеТипОписание
uuidstringУникальный ID элемента в рамках Journey. Должен быть каноническим RFC 4122 UUID: 32 шестнадцатеричных цифры в группах 8-4-4-4-12.
titlestringОтображаемое имя элемента.
point_typePointTypeТип узла.
outputsarray of PointOutputСоединения с последующими элементами.
positionPositionКоординаты на холсте.
point_dataobjectРовно один вложенный ключ, соответствующий point_type (см. таблицу типов элементов).

PointOutput

Anchor link to

Выходы элемента — это его исходящие ветви. Их ключи не являются произвольными. Валидатор ожидает точный набор ключей для каждого типа элемента и отклоняет Journey, у которого элемент имеет неверное количество выходов или ключ, который он не распознает.

ПолеТипОписание
identity.keystringКлюч ветви. Должен соответствовать правилам для ключей выходов ниже.
identity.orderintПорядок отображения ветви.
info.titlestringНеобязательная метка ветви.
info.next_point_uuidstringUUID следующего элемента, к которому подключается эта ветвь. Необязательно — если оставить его неустановленным, Journey для пользователя завершится, так же как и при явном элементе terminator.

Ключи выходов

Anchor link to

Ветвь по умолчанию (первая) всегда называется "default". Дополнительные ветви называются "output1", "output2", … (префикс output, за которым следует индекс, начинающийся с 1). Два типа элементов нарушают это правило, что отмечено ниже.

Тип элементаОжидаемые ключи выходов
Точки входа (START_BY_SEGMENT, START_BY_API, EVENT), INAPP, SET_TAGS, WEBHOOK, AUDIENCE_SYNC и элементы сообщений без разделителя (SEND_PUSH, SEND_EMAIL, SEND_SMS, SEND_WHATSAPP, SEND_LINE, SEND_KAKAO, SEND_TELEGRAM, SEND_DATA)default
GOAL_EVENT, EXITнет (нет выходов)
FILTERdefault, output1
BOOLEAN_SPLITTERdefault, затем output1outputN (одна дополнительная ветвь на каждое условие. Простое разделение да/нет — это default + output1)
WAIT (задержка)default. Динамическая задержка с разделением ветвей добавляет output1
WAIT_EVENTdefault — это ветвь событие-не-сработало. output1 (или, при использовании скрипта условий, одна ветвь на каждое условие) — это путь при срабатывании
SEND_PUSH с разделителемdefault, output1output2, когда включены разделители и по сообщению, и по доставке)
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP с разделителемdefault, output1
SEND_WHATSAPP с пресетом быстрых ответовdefault, плюс одна ветвь на каждый быстрый ответ. Ключ — это само значение быстрого ответа
AB_SPLITTERoutput0, output1, output2, … (по одному на каждый вариант. Ветви default нет)
ПолеТипОписание
xfloatГоризонтальная координата на холсте.
yfloatВертикальная координата на холсте.

Типы элементов и point_data

Anchor link to

point_data — это одно из: он содержит ровно один вложенный объект, ключ которого определяется point_type элемента.

point_typeключ point_dataНазначение
POINT_TYPE_START_BY_SEGMENTstart_by_segmentВход: пользователи, соответствующие сегменту.
POINT_TYPE_EVENTmessage_busВход: пользователи, вызвавшие событие.
POINT_TYPE_START_BY_APIstart_by_apiВход: пользователи, добавленные через вызов Start by API.
POINT_TYPE_WAITdelayОжидание фиксированного или динамического интервала.
POINT_TYPE_WAIT_EVENTwait_eventОжидание наступления события.
POINT_TYPE_SEND_PUSHsend_pushОтправка push-уведомления.
POINT_TYPE_SEND_EMAILsend_emailОтправка email.
POINT_TYPE_SEND_SMSsend_smsОтправка SMS.
POINT_TYPE_SEND_WHATSAPPsend_whatsappОтправка сообщения WhatsApp.
POINT_TYPE_SEND_TELEGRAMsend_telegramОтправка сообщения Telegram.
POINT_TYPE_SEND_KAKAOsend_kakaoОтправка сообщения Kakao.
POINT_TYPE_SEND_LINEsend_lineОтправка сообщения LINE.
POINT_TYPE_SEND_DATAsend_dataОтправка тихого сообщения с данными.
POINT_TYPE_INAPPinappПоказ in-app сообщения.
POINT_TYPE_BOOLEAN_SPLITTERboolean_splitterРазделение пользователей по условию (сегмент, теги или событие).
POINT_TYPE_AB_SPLITTERab_splitterРазделение пользователей на A/B группы.
POINT_TYPE_FILTERfilterРазрешить продолжить только пользователям, соответствующим фильтру.
POINT_TYPE_SET_TAGSset_tagsОбновление тегов пользователя.
POINT_TYPE_WEBHOOKweb_hookОтправка исходящего HTTP-запроса.
POINT_TYPE_GOAL_EVENTgoal_eventОтслеживание цели конверсии.
POINT_TYPE_AUDIENCE_SYNCaudience_syncСинхронизация пользователей с внешней аудиторией.
POINT_TYPE_EXITterminatorВыход из Journey.

Пример элемента

Anchor link to

Элемент “установить теги” с одним последующим соединением:

{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"title": "Tag as engaged",
"point_type": "POINT_TYPE_SET_TAGS",
"position": { "x": 480, "y": 120 },
"outputs": [
{
"identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "ffffffff-1111-2222-3333-444444444444" }
}
],
"point_data": {
"set_tags": {
"application_code": "XXXXX-XXXXX",
"tags": [ { "name": "engaged", "value": "true" } ]
}
}
}

JourneyComment

Anchor link to
ПолеТипОписание
idstringUUID комментария.
messagestringТекст комментария.
positionPositionКоординаты на холсте.
indexintПорядок отображения.
created_atstringВременная метка создания (ISO 8601).
deletedboolУдален ли комментарий.

Перечисления (Enums)

Anchor link to

JourneyStatus enum

Anchor link to

STATUS_DRAFT, STATUS_RUNNING, STATUS_FINISHED, STATUS_ARCHIVED, STATUS_PAUSED, STATUS_UNKNOWN.

CampaignType enum

Anchor link to
  • TriggerBased: пользователи входят по событию.
  • AudienceBased: пользователи входят из сегмента.
  • APIBased: пользователи входят через вызов Start by API.
  • Mixed: более одного типа входа.
  • Unknown: тип входа не определен.

PointType enum

Anchor link to

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

UserIDTrackChangePolicy enum

Anchor link to

Определяет, что происходит с пользователем, который находится в середине Journey, когда его User ID меняется:

  • DEFAULT: поведение по умолчанию.
  • TRACK: продолжать отслеживать пользователя под новым ID.
  • DROP: удалить пользователя из Journey при изменении его ID.

Связанные материалы

Anchor link to