Отзывы на товары

Мы работаем только через POST-запросы

Отзывы на товары Дополнительные интеграции вводятся в эксплуатацию после завершения основных интеграций:

Для подключения дополнительных интеграций обратитесь к вашему менеджеру в IMSHOP.IO

Получение отзывов на товар

Формат запроса

  • id - идентификатор товара в системе продавца (на сайте / в CRM итд)

{
    "id": "1234567890"
}

Формат ответа

  • rating - суммарный рейтинг отзывов по товару, от 1 до 5

  • reviews - список отзывов

    • id - id отзыва (string), необязательно, но необходимо для функционала лайков/дизлайков отзыва (в разработке)

    • positiveReviews - кол-во позитивных оценок отзыва, необязательно (в разработке)

    • negativeReviews - кол-во негативных оценок отзыва, необязательно (в разработке)

    • text - текст отзыва, обязательно наличие либо текста либо картинок

    • author - автор, обязательное поле

    • date - дата отзыва, в формате YYYY-MM-DDTHH:MM, обязательное поле по гринвичу (UTC / GMT +0)

    • title - (опционально), заголовок отзывы

    • rating - (опционально), рейтинг отзыва по шкале от 1 до 5

    • pictures (опционально) - массив картинок отзыва

      • src - веб-ссылка на картинку

    • extraValues - (опционально) - массив описаний значений расширенных полей для добавляемых отзывов (слайдеры, чекбоксы, текст)

      • id - уникальное для поля id

      • type - тип поля (test, slider, checkbox) - значения полученные из типов полей select и radio должны быть переданы как text

      • label - Название поля

      • value - Значения указанные в отзыве (для типа slider число, для типа checkbox массив отмеченных значений из возможных. см. пример ответа с расширенными полями)

      • options - (обязательно для типов slider и checkbox) массив вариантов

        • label - Название значения поля

        • value - Значение поля (тип данных для типа slider число по порядку от 1, см. пример ответа для расширенных полей)

      • start - (обязательно для типа slider) начальное крайнее значение у слайдера

      • end - (обязательно для типа slider) конечное крайнее значение у слайдера

  • extraFields - (опционально) - массив описаний расширенных полей для добавляемых отзывов (слайдеры, селекторы, чекбоксы, радиобаттоны)

    • id - уникальное для поля id

    • type - тип поля (select, slider, checkbox, radio)

    • label - Название поля

    • options - массив вариантов проставляемых значений поля

      • label - Название значения поля

      • value - Значение поля (тип данных для типа slider число по порядку от 1, см. пример ответа для расширенных полей)

    • start - (обязательно для типа slider) начальное крайнее значение у слайдера

    • end - (обязательно для типа slider) конечное крайнее значение у слайдера

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

{
    "rating": "1.7",
    "reviews":
    [
        {
            "author": "Jake",
            "date": "2020-04-25T08:30",
            "id": "123",
            "negativeReviews": 2,
            "pictures":
            [
                {
                    "src": "https://pmdn.sokolov.io/pics/F7/A5/84C379E76E8EE97A3B23EBE39DE4.jpg"
                }
            ],
            "positiveReviews": 10,
            "rating": 3,
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
            "title": "Lorem ipsum"
        }
    ],
    "extraFields": []
}

Пример ответа с расширенными полями отзыва

{
    "rating": "1.7",
    "reviews":
    [
        {
            "author": "Jake",
            "date": "2020-04-25T08:30",
            "id": "123",
            "negativeReviews": 2,
            "pictures":
            [
                {
                    "src": "https://pmdn.sokolov.io/pics/F7/A5/84C379E76E8EE97A3B23EBE39DE4.jpg"
                }
            ],
            "positiveReviews": 10,
            "rating": 3,
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
            "title": "Lorem ipsum",
            "extraValues": [
                {
                  "id": "select",
                  "type": "text",
                  "label": "Качество продукта",
                  "value": "Хорошо"
                },
                {
                  "id": "slider",
                  "type": "slider",
                  "label": "Удобство",
                  "value": 1,
                  "start": "Неудобно",
                  "end": "Очень удобно",
                  "options": [
                    {
                      "label": "Неудобно",
                      "value": 1
                    },
                    {
                      "label": "Удобно",
                      "value": 2
                    },
                    {
                      "label": "Очень удобно",
                      "value": 3
                    }
                  ]
                },
                {
                  "id": "checkbox",
                  "type": "checkbox",
                  "value": [1, 2],
                  "label": "Что понравилось",
                  "options": [
                    {
                      "label": "Быстро доставили",
                      "value": 1
                    },
                    {
                      "label": "Простая сборка",
                      "value": 2
                    },
                    {
                      "label": "Легко вписать в интерьер",
                      "value": 3
                    }
                  ]
                },
                {
                  "id": "radio",
                  "type": "text",
                  "value": "Да",
                  "label": "Порекомендуете ли товар"
                }
            ]
        }
    ],
    "extraFields": [
        {
          "id": "select",
          "type": "select",
          "label": "Качество продукта",
          "options": [
            {
              "label": "Плохо",
              "value": "Плохо"
            },
            {
              "label": "Хорошо",
              "value": "Хорошо"
            }
          ]
        },
        {
          "id": "slider",
          "type": "slider",
          "label": "Удобство",
          "start": "Неудобно",
          "end": "Очень удобно",
          "options": [
            {
              "label": "Неудобно",
              "value": 1
            },
            {
              "label": "Удобно",
              "value": 2
            },
            {
              "label": "Очень удобно",
              "value": 3
            }
          ]
        },
        {
          "id": "checkbox",
          "type": "checkbox",
          "label": "Что понравилось",
          "options": [
            {
              "label": "Быстро доставили",
              "value": 1
            },
            {
              "label": "Простая сборка",
              "value": 2
            },
            {
              "label": "Легко вписать в интерьер",
              "value": 3
            }
          ]
        },
        {
          "id": "radio",
          "type": "radio",
          "label": "Порекомендуете ли товар",
          "options": [
            {
              "label": "Да",
              "value": 1
            },
            {
              "label": "Нет",
              "value": 0
            }
          ]
        }
    ],
}

Пример заполнения extraFields для использования checkbox для соглашений

Когда поле required имеет значение true, отзыв нельзя будет отправить пока пользователь не отметит checkbox

В тексте чекбокса поддерживаются ссылки в формате markdown.

{
  "rating": "5.0",
  "reviews": [ /*...тут список отзывов*/ ],
  "extraFields": [
    {
      "id": "agreement",
      "type": "checkbox",
      "label": "",
      "required": true,
      "options": [
        {
          "label": "При использовании чекбокса для [соглашения](https://www.google.com/) нужно передавать как два раздельных чекбокса с опцией из 1 варианта и полем required: true",
          "value": 1
        }
      ]
    },
    {
      "id": "agreement2",
      "type": "checkbox",
      "label": "",
      "required": true,
      "options": [
        {
          "label": "Второй чекбок для соглашения [передан отдельно от первого с 1 варианом](https://www.google.com/)",
          "value": 1
        }
      ]
    }
  ]
}

Сохранение нового отзыва

Формат запроса

  • item - идентификатор товара

  • rating - число-рейтинг

  • name - имя, которым представился покупатель

  • comment - текст отзыва

  • userId - идентификатор пользователя, если он авторизован в приложении, или null

  • images - фотографии в формате base64, прикрепленные к отзыву. Включается опционально. Массив с данными изображений:

    • type - MIME-тип изображения, например image/jpeg

    • base64 - изображение в формате base64

Дополнительные поля

По согласованию с менеджером, в форму отправки отзыва можно добавить любые произвольные текстовые поля, и задать им любые идентификаторы. Например "Преимущества" и "Недостатки" с идентификаторами pros и cons. Дополнительные поля могут быть как обязательными, так и опциональными. В случае если были в новом отзыве настроены расширенные поля, то в запросе они будут как id:значение

Пример запроса

{
    "item": "67128736",
    "userId": "1122334455",
    "name": "Иван Иванов",
    "comment": "В реальности кажется более вместительным, чем на фото. Отличный материал. За такую цену - просто подарок.",
    "rating": 5,
    "pros": "Цена. Надо брать",
    "cons": "После установки первые несколько часов сильно шумел",
    "quality_slider": 1,
    "happy_checkbox": [1,2]
}

Формат ответа:

  • success - true / false. Принят ли отзыв в обработку

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

{
    "success": true
}

Last updated