Интеграция UserVoice для сбора обратной связи на сайте

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция UserVoice для сбора обратной связи на сайте
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Интеграция UserVoice для сбора обратной связи

UserVoice — платформа для сбора фичереквестов и обратной связи с поддержкой SSO, кастомных полей и интеграции с Jira/Salesforce. Ориентирована на B2B SaaS с роулями администраторов продукта.

Встраивание виджета

<!-- Базовая интеграция через Gadget (sidebar виджет) -->
<script>
  UserVoice = window.UserVoice || [];
  (function(){
    var uv = document.createElement('script');
    uv.type = 'text/javascript';
    uv.async = true;
    uv.src = '//widget.uservoice.com/YOUR_KEY.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(uv, s);
  })();

  UserVoice.push(['identify', {
    email:       currentUser.email,
    name:        currentUser.name,
    id:          currentUser.id,
    account: {
      id:   currentUser.accountId,
      name: currentUser.accountName,
    }
  }]);

  UserVoice.push(['addTrigger', '#feedback-button', {
    mode:  'satisfaction',
    forum_id: 12345,
  }]);
</script>

REST API для управления идеями

class UserVoiceService
{
    private string $baseUrl;
    private string $token;

    public function __construct()
    {
        $this->baseUrl = 'https://' . config('services.uservoice.subdomain') . '.uservoice.com/api/v2';
        $this->token   = config('services.uservoice.token');
    }

    public function getSuggestions(string $forumId, array $params = []): array
    {
        $response = Http::withToken($this->token)
            ->get("{$this->baseUrl}/forums/{$forumId}/suggestions", array_merge([
                'sort'     => 'votes',
                'per_page' => 25,
                'filter'   => 'public',
            ], $params));

        return $response->json('suggestions', []);
    }

    public function createSuggestion(string $forumId, string $title, string $body, int $userId): array
    {
        return Http::withToken($this->token)
            ->post("{$this->baseUrl}/forums/{$forumId}/suggestions", [
                'suggestion' => [
                    'title' => $title,
                    'body'  => $body,
                ],
                'user_id' => $userId,
            ])->json('suggestion');
    }
}

Синхронизация с Jira

UserVoice поддерживает нативную интеграцию с Jira (в платных тарифах). Идеи с определённым статусом автоматически создают задачи в Jira, а изменение статуса задачи обновляет статус идеи в UserVoice.

Для кастомной синхронизации — webhook от UserVoice и Jira REST API:

Route::post('/webhooks/uservoice', function (Request $request) {
    if ($request->json('event') === 'suggestion.status_changed') {
        $suggestion = $request->json('suggestion');

        if ($suggestion['status']['key'] === 'planned') {
            // Создаём задачу в Jira
            Http::withBasicAuth(config('jira.user'), config('jira.token'))
                ->post(config('jira.url') . '/rest/api/3/issue', [
                    'fields' => [
                        'project'     => ['key' => 'PROD'],
                        'summary'     => $suggestion['title'],
                        'description' => ['type' => 'doc', 'version' => 1,
                            'content' => [['type' => 'paragraph',
                                'content' => [['type' => 'text', 'text' => $suggestion['body']]]]]],
                        'issuetype'   => ['name' => 'Story'],
                    ],
                ]);
        }
    }
    return response('ok');
});

Сроки

Встраивание UserVoice с SSO и синхронизацией статусов: 2–3 рабочих дня.