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

Создание и обновление

Эти эндпоинты создают и редактируют определение Journey: его название, настройки и точки на холсте. Они не запускают Journey. Для этого используйте Lifecycle.

Оба принимают и возвращают объект Journey.

Создание

Anchor link to

POST https://journey.pushwoosh.com/api/v3/journeygateway

Создает новое Journey в состоянии STATUS_DRAFT.

Запрос

Anchor link to
ПолеОбязательноТипОписание
titleДаstringНазвание Journey.
paramsДаJourneyParamsОбщие настройки Journey. params.application_code является обязательным.
pointsНетarray of PointЭлементы Journey на холсте и их связи.
commentsНетarray of JourneyCommentКомментарии на холсте.
Пример запроса
Anchor link to
Создание Journey
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway \
-H "Authorization: Api YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Welcome series",
"params": { "application_code": "XXXXX-XXXXX" },
"points": [],
"comments": []
}'

Ответ

Anchor link to

Возвращает новый объект Journey. Считайте UUID Journey из info.uuid и используйте его для последующих вызовов обновления и жизненного цикла.

Пример ответа
Anchor link to
{
"info": {
"uuid": "11111111-2222-3333-4444-555555555555",
"title": "Welcome series",
"status": "STATUS_DRAFT",
"params": { "application_code": "XXXXX-XXXXX" }
},
"points": [],
"comments": []
}

Пример полного Journey

Anchor link to

Полное тело запроса Create для небольшого приветственного потока. Граф выглядит так:

Старт по сегменту ──default──▶ Отправить push ──default──▶ Ждать 1 день ──default──▶ Логический разделитель ──output1──▶ Отправить email ──default──▶ Выход
└──default───────────────────────────▶ Выход

Точки связаны между собой через info.next_point_uuid каждого выхода. Обратите внимание на ключи выходов: каждая точка использует default, за исключением логического разделителя, который добавляет output1 для ветви с совпавшим условием (default является его запасным вариантом). Точка выхода не имеет выходов.

{
"title": "Welcome series",
"params": {
"application_code": "XXXXX-XXXXX",
"user_id_track_change_policy": "TRACK"
},
"points": [
{
"uuid": "11111111-1111-1111-1111-111111111111",
"title": "New signups",
"point_type": "POINT_TYPE_START_BY_SEGMENT",
"position": { "x": 80, "y": 200 },
"outputs": [
{ "identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "22222222-2222-2222-2222-222222222222" } }
],
"point_data": {
"start_by_segment": {
"application_code": "XXXXX-XXXXX",
"filter_code": "AAAAA-BBBBB"
}
}
},
{
"uuid": "22222222-2222-2222-2222-222222222222",
"title": "Welcome push",
"point_type": "POINT_TYPE_SEND_PUSH",
"position": { "x": 340, "y": 200 },
"outputs": [
{ "identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "33333333-3333-3333-3333-333333333333" } }
],
"point_data": {
"send_push": {
"application_code": "XXXXX-XXXXX",
"title": "Welcome!",
"content": "Thanks for joining — here's how to get started."
}
}
},
{
"uuid": "33333333-3333-3333-3333-333333333333",
"title": "Wait 1 day",
"point_type": "POINT_TYPE_WAIT",
"position": { "x": 600, "y": 200 },
"outputs": [
{ "identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "44444444-4444-4444-4444-444444444444" } }
],
"point_data": {
"delay": { "sec": 86400 }
}
},
{
"uuid": "44444444-4444-4444-4444-444444444444",
"title": "Opened the push?",
"point_type": "POINT_TYPE_BOOLEAN_SPLITTER",
"position": { "x": 860, "y": 200 },
"outputs": [
{ "identity": { "key": "output1", "order": 1 },
"info": { "title": "Matched", "next_point_uuid": "55555555-5555-5555-5555-555555555555" } },
{ "identity": { "key": "default", "order": 0 },
"info": { "title": "Everyone else", "next_point_uuid": "66666666-6666-6666-6666-666666666666" } }
],
"point_data": {
"boolean_splitter": {
"application_code": "XXXXX-XXXXX",
"split_strategy": "SPLIT_FILTER",
"load_policy": "ALL",
"filter_code": "CCCCC-DDDDD"
}
}
},
{
"uuid": "55555555-5555-5555-5555-555555555555",
"title": "Follow-up email",
"point_type": "POINT_TYPE_SEND_EMAIL",
"position": { "x": 1120, "y": 120 },
"outputs": [
{ "identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "66666666-6666-6666-6666-666666666666" } }
],
"point_data": {
"send_email": {
"application_code": "XXXXX-XXXXX",
"preset_code": "12345-67890"
}
}
},
{
"uuid": "66666666-6666-6666-6666-666666666666",
"title": "Exit",
"point_type": "POINT_TYPE_EXIT",
"position": { "x": 1380, "y": 200 },
"outputs": [],
"point_data": {
"terminator": {}
}
}
],
"comments": []
}

Обновление

Anchor link to

PUT https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}

Заменяет определение существующего Journey. Отправьте полное определение. Точки и комментарии, которые вы отправляете, заменяют текущие.

Параметры пути

Anchor link to
ИмяТипОписание
uuidstringID Journey для обновления.

Запрос

Anchor link to
ПолеТипОписание
titlestringНовое название Journey.
paramsJourneyParamsНовая общая конфигурация Journey.
pointsarray of PointНовый полный набор точек.
commentsarray of JourneyCommentНовый полный набор комментариев.
autosaveboolЕсли true, изменение рассматривается как автосохранение редактора. По умолчанию false.
Пример запроса
Anchor link to
Переименование и перенастройка Journey
curl -X PUT https://journey.pushwoosh.com/api/v3/journeygateway/11111111-2222-3333-4444-555555555555 \
-H "Authorization: Api YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Welcome series v2",
"params": { "application_code": "XXXXX-XXXXX" },
"points": [],
"comments": []
}'

Ответ

Anchor link to

Возвращает обновленный объект Journey.

Обновить и возобновить

Anchor link to

POST https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/resume

Применяет изменения к Journey и возобновляет его одним вызовом. Это эквивалентно вызову Update с последующим вызовом Start жизненного цикла. Тело запроса соответствует Update. Используйте этот метод при редактировании приостановленного Journey, которое вы хотите вернуть в состояние STATUS_RUNNING.

Переименовать

Anchor link to

POST https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/rename

Изменяет только название Journey, не затрагивая его точки или настройки.

ПолеОбязательноТипОписание
titleДаstringНовое название Journey.
Пример запроса
Anchor link to
Переименование Journey
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway/11111111-2222-3333-4444-555555555555/rename \
-H "Authorization: Api YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Welcome series (Q3)" }'

Связанные статьи

Anchor link to