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

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

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

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

Создание

Anchor link to

POST https://journey-api.svc-nue.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-api.svc-nue.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 для небольшого приветственного сценария. Граф выглядит так:

Start by segment ──default──▶ Send push ──default──▶ Wait 1 day ──default──▶ Boolean splitter ──output1──▶ Send email ──default──▶ Exit
└──default───────────────────────────▶ Exit

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

{
"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": {
"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-api.svc-nue.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-api.svc-nue.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-api.svc-nue.pushwoosh.com/api/v3/journeygateway/{uuid}/resume

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

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

Anchor link to

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

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

ПолеОбязательноТипОписание
titleДаstringНовое название Journey.
Пример запроса
Anchor link to
Переименование Journey
curl -X POST https://journey-api.svc-nue.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