Получение структуры кампании проекта
- 1 Метод
- 2 Версии метода
- 2.1 v4
- 3 Пример метода
- 4 Структура ответа
- 5 Коды ответов и ошибок
- 5.1 423 Locked
- 5.2 404 Not Found
- 5.3 200 Ok
Метод
GET https://api.uxfeedback.ru/{version}/forms/{project_alias}/campaigns/{campaign_id}
где
{version}- это версия метода, которая предполагает какое-то поведение метода. Рекомендуется использовать “последнюю” или “более высокую” версию метода, как самую актуальную
Авторизация для метода не требуется, как в других методах ClientAPI.
Версии метода
v4
GET https://api.uxfeedback.ru/v4/forms/{project_alias}/campaigns/{campaign_id}
Внесены изменения в версию v3:
добавлена возможность получения в структуре кампании вопросов опросной формы типа “stars“
в строке запроса необходимо передавать:
{project_alias}- зашифрованный идентификатор проекта, выданный на этапе создания проекта для Клиента.{campaign_id}- id кампании, по которой хотим получить структуру для показа её в интерфейсе приложения / сайта.
Пример метода
Пример максимально полного запроса:GET https://api.uxfeedback.ru/v4/forms/{project_alias}/campaigns/{campaign_id}
Структура ответа
{
"site": {
"userId": 1,
"campaign": {
"pages": [
{
"id": "string" // id страницы опроса
"type": 1, // тип страницы: 1 - не последняя, 2 - последняя в опросе
"buttons": [ // описание кнопок на странице опроса
{
"id": "string", // id кнопки
"type": "button", // тип поля "button"
"value": "string", // наименование кнопки, например "Отправить"
}
],
"fields": [ // описание вопросов на странице опроса
{
"id": "string", // id вопроса
"type": "header", // тип вопроса "header"
"value": "string" // заголовок опроса
},
{
"id": "string", // id вопроcа
"type": "text", // тип вопроса "text"
"value": "string" // текст для опроса
},
{
"id": "string", // id вопроса
"type": "comment", // тип вопроса "comment"
"value": "string", // заголовок вопроса про "оставьте комментарий"
"mode": "single", // тип комментария - однострочный
"placeholder": "string" // плейсхолдер для поля комментария
"warning": "string", // опционален - призыв к заполнению комментария
"required": true // опционален - обяз-ть заполнения комментария
},
{
"id": "string", // id вопроcа
"type": "comment", // тип вопроса "comment"
"value": "string", // заголовк вопроса про "оставьте комментарий"
"mode": "multi", // тип комментария - многострочный
"placeholder": "string" // плейсхолдер для поля комментария
"warning": "string", // опционален - призыв к заполнению комментария
"required": true // опционален - обяз-ть заполнения комментария
},
{
"id": "string", // id вопроса
"type": "email", // тип вопроса "email"
"value": "string", // заголовк вопроса про "email"
"placeholder": "string" // плейсхолдер для поля email
},
{
"id": "string", // id вопроса
"type": "rating", // тип вопроса "rating"
"value": "string", // заголовк вопроса про шкалу рейтинга
"ratingCount": 5, // кол-во значений в рейтинге
"messages": { // описание ответов - рейтинг
"positive": "string",
"negative": "string"
}
},
{
"id": "string", // id вопроса
"type": "smiles", // тип вопроса "smiles"
"value": "string", // заголовк вопроса про шкалу смайлов
"smiles": { // описание ответов - смайлов
"0": {
"hint": "Ужасно"
},
"1": {
"hint": " Плохо"
},
"2": {
"hint": "Нормально"
},
"3": {
"hint": "Хорошо"
},
"4": {
"hint": "Отлично"
}
}
},
{
"id": "string", // id вопроса
"type": "stars", // тип вопроса "stars"
"value": "string", // заголовок вопроса про шкалу звёзд
"stars": { // описание ответов - звёзд
"1": {
"hint": "1 звезда"
},
"2": {
"hint": "2 звезды"
},
"3": {
"hint": "3 звезды"
},
"4": {
"hint": "4 звезды"
},
"5": {
"hint": "5 звезд"
}
}
},
{
"id": "string", // id вопроса
"type": "nps", // тип вопроса "nps"
"value": "string", // заголовк вопроса про nps
"mode": "circle", // тип "nps"
"messages": { ... } // описание ответов - nps
},
{
"id": "string", // id вопроса
"type": "checkboxes", // тип вопроса "checkboxes"
"value": "string", // заголовок вопроса с чекбоксами
"shuffle": false, // перемешивать ли варианты ответов на вопрос
"options": [ // описание вариантов ответа на вопрос
{
"id": "string", // id варианта 1
"value": "string" // 'Вараинт 1'
},
...
{
"id": "string", // id варианта N
"value": "string" // 'Вараинт N'
},
{
"id": "KiUR0vdy", // id варианта 'Другое'
"value": "string", // 'Другое'
"other": true, // альтернативынй вариант 'Другое'
"exceptional": true, // исключает ли все другие варианты
"isLocked": true // зафиксировано место в списке
},
{
"id": "KiUR0vdy", // id варианта 'Ничего из перечисленного'
"value": "string", // 'Ничего из перечисленного'
"other": false, // альтернативынй вариант 'Другое'(нет)
"exceptional": true, // исключает ли все другие варианты
"isLocked": true // зафиксировано место в списке
}
]
},
{
"id": "string", // id вопроса
"type": "radiobuttons", // тип вопроса "radiobuttons"
"value": "string", // заголовок вопроса с radiobuttons
"shuffle": false, // перемешивать ли варианты ответов на вопрос
"options": [
{
"id": "string", // id варианта 1
"value": "string" // 'Вараинт 1'
},
...
{
"id": "string", // id варианта N
"value": "string" // 'Вараинт N'
}
]
},
{
"id": "string", // id вопроcа
"type": "image", // тип вопроса "изображение"
"value": "string", // заголовк вопроса с изображением
"alignment": "center", // центровка изображения на форме: center | left | right
"set": { // изображение в разных размерах
"1x": "https://cdn3.uxfeedback.ru/i/sets/conversation@1x.png"
"2x": "https://cdn3.uxfeedback.ru/i/sets/conversation@2x.png",
"3x": "https://cdn3.uxfeedback.ru/i/sets/conversation@3x.png",
"svg": "https://cdn3.uxfeedback.ru/i/sets/conversation.svg",
}
},
{
"id": "string", // id вопроcа
"type": "screenshot", // тип вопроса "screenshot"
"value": "string", // заголовок вопроса про "оставьте скриншот"
"buttons": {
"create": "Создать скриншот",
"upload": "Прикрепить скриншот"
}
}
]
},
{
... // аналогичное описание другой страницы опроса
},
...
],
"type": 1,
"position": null,
"progress": {
"enabled": true
},
"privacy": { // согласие на обработку перс.данных
"warningMessage": "Пожалуйста, подтвердите свое согласие",
"type": "checkboxDisabled",
"declaration": "<p>Я соглашаюсь на обработку</p>",
"showType": "all",
"enabled": false
},
"autoClose": null,
"transforms": [ ... ], // описание логики переходов от вопроса к вопрсоу
"gaCounter": "string" // id счётчика Google аналитики
},
"theme": { ... } // описание стилей темы опроса
"copyright": {
"isShow": true,
"image": {
"1x": "https://cdn.uxfeedback.ru/i/logo/uxfb@1x.png",
"2x": "https://cdn.uxfeedback.ru/i/logo/uxfb@2x.png",
"3x": "https://cdn.uxfeedback.ru/i/logo/uxfb@3x.png",
"imageUrl": "https://cdn.uxfeedback.ru/i/logo/uxfb.svg"
},
"href": "https://uxfeedback.ru?utm_campaign=1&utm_medium=test_widget"
},
"yaid": "string" // id счётчика Yandex метрики
},
"answerId": "string",
"fromCache": true
}Коды ответов и ошибок
Код ответа | Пример JSON'а |
|---|
Код ответа | Пример JSON'а |
|---|---|
423 Locked | Запрос: Ответ: без тела ошибки Пояснения: |
404 Not Found | Запрос: Ответ: без тела ошибки Пояснения: |
200 Ok | Запрос: Ответ: {
"site": {
"userId": 1,
"campaign": {
"pages": [
{
"id": "string",
"type": 1,
"buttons": [ ... ],
"fields": [ ... ]
},
{
... // аналогичное описание другой страницы опроса
},
...
],
"type": 1,
"position": null,
"progress": { ... },
"privacy": { ... },
"autoClose": null,
"transforms": [ ... ],
"gaCounter": "string"
},
"theme": { ... },
"copyright": { ... },
"yaid": "string"
},
"answerId": "string",
"fromCache": true
}Пояснения: Если указали некорректный
|