Создание и обновление
Эти эндпоинты создают и редактируют определение Journey: его название, настройки и точки на холсте. Они не запускают Journey. Для этого используйте Lifecycle.
Оба принимают и возвращают объект Journey.
Создание
Anchor link toPOST 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 tocurl -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 toPUT https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}
Заменяет определение существующего Journey. Отправьте полное определение. Точки и комментарии, которые вы отправляете, заменяют текущие.
Параметры пути
Anchor link to| Имя | Тип | Описание |
|---|---|---|
uuid | string | ID Journey для обновления. |
Запрос
Anchor link to| Поле | Тип | Описание |
|---|---|---|
title | string | Новое название Journey. |
params | JourneyParams | Новая общая конфигурация Journey. |
points | array of Point | Новый полный набор точек. |
comments | array of JourneyComment | Новый полный набор комментариев. |
autosave | bool | Если true, изменение рассматривается как автосохранение редактора. По умолчанию false. |
Пример запроса
Anchor link tocurl -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 toPOST https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/resume
Применяет изменения к Journey и возобновляет его одним вызовом. Это эквивалентно вызову Update с последующим вызовом Start жизненного цикла. Тело запроса соответствует Update. Используйте этот метод при редактировании приостановленного Journey, которое вы хотите вернуть в состояние STATUS_RUNNING.
Переименовать
Anchor link toPOST https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/rename
Изменяет только название Journey, не затрагивая его точки или настройки.
| Поле | Обязательно | Тип | Описание |
|---|---|---|---|
title | Да | string | Новое название Journey. |
Пример запроса
Anchor link tocurl -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)" }'