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

Объект 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 следующей точки, с которой соединяется эта ветвь.

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

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": "Присвоить тег 'вовлечен'",
"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