Как я сделал бесплатный сервис голосований внутри WhatsApp

В отличие от всеми любимого Telegram, в WhatsApp нет возможности проводить голосования, и это один из его недостатков. Всё, что есть на текущий момент, работает через ссылки на сторонние сайты.

Я решил это исправить, благо у WhatsApp есть API. Мои опросы и голосования создаются и проводятся исключительно в WhatsApp, без необходимости установки сторонних приложений или перехода на сайт.

Первая версия

Проект начался ровно год назад, когда я, сидя в саду, накидал первую версию ТЗ, в рамках которой, сервис собирал сообщения с кодами ответов и в реальном времени выводил организатору голосования статистику: сколько человек проголосовало за ответы от 1 до 10. А в конце голосования, каждый участник получал итоговые результаты. В первой версии предмет голосования и что именно стояло за каждым вариантом ответа, организатор должен был донести до своей аудитории самостоятельно. Это было не слишком удобно, но тем не менее, такой MVP показал востребованность и побудил развивать проект далее.

Вторая (текущая) версия

Через несколько месяцев, осенью 2020-го года я модернизировал сервис. Теперь при создании голосования, организатор указывал тему, количество возможных ответов, формулировку каждого из ответов и возможность голосовать за 1 или несколько ответов. По завершении создания голосования, организатор получает сообщение, в котором в готовом виде содержится вся необходимая информация для участников голосования: предмет голосования, варианты ответов с нужным префиксом, ссылка на чат с голосованием и информация о том, как проголосовать. Организатору достаточно было переслать это сообщение в WhatsApp-группу, где он хочет провести опрос. По мере поступления голосов, организатор будет в реальном времени получать информацию о ходе опроса.

Готовое сообщение, которое надо переслать в WhatsApp-группу
Готовое сообщение, которое надо переслать в WhatsApp-группу

Этого функционала оказалось вполне достаточно и вот уже 9 месяцев как сервис работает в такой конфигурации. В будущем я планирую добавить новый тип сообщений, который недавно появился в WhatsApp: Quick reply buttons и List message.

Пример одного из реальных опросов в WhatsApp
Пример одного из реальных опросов в WhatsApp

Как протестировать

По этой ссылке откроется WhatsApp с аккаунтом с голосованиями (номер 79119554510), отправьте туда слово Справка или сразу слово Создать чтобы создать своё голосование.

Отсканируйте чтобы перейти в чат с голосованиями
Отсканируйте чтобы перейти в чат с голосованиями

Если вы не хотите создавать своё голосование, то можете проголосовать в уже действующем: отправьте на тот же номер (ссылка) текст A1 (на любом языке) если у вас телефон Samsung, A2 если Apple, A3 если Xiaomi и A10 если другой. Проголосовав, вы сможете посмотреть текущие результаты этого голосования.

Как это сделано

Сервис работает в официальном аккаунте WhatsApp Business API. Логика реализована на базе Chat2Desk с помощью встроенных скриптов на языке Питон.

Вирусность

Любое голосование содержит в себе механизм вирусности: кто-то создал опрос, разместил в WhatsApp-группе, несколько человек проголосовало, увидело как создавать такие же опросы и т.д. Поэтому сервис не нуждается в рекламе после первоначальной небольшой раскрутки.

Особенности

Все голосования на русском языке проводятся на одном номере. У каждого голосования имеется свой префикс. Чтобы проголосовать надо прислать префикс + цифру варианта ответа на номер с голосованием, например, b1 или dx7.

В голосовании может быть до 10 вариантов ответов. Имеется опция мультиголосования, то есть выбора нескольких ответов. В любом случае, за 1 вариант ответа можно проголосовать только 1 раз. Результаты невозможно «накрутить», т.к. идёт проверка по номеру телефона.

Голосование длится 23 часа (можно завершить досрочно). 23 часа связано с тем, что аккаунт WhatsApp Business API позволяет писать только в течении 24 часов после входящего сообщения от участника. Затем чтобы написать участнику голосования придётся использовать платный HSM-шаблон (4,8 руб. за 1 шт.). Таким образом, все участники голосования получат его результаты и это будет бесплатно.

Фактически, почти все голосования проводятся в WhatsApp-группах. Как было сказано выше, организатор создаёт голосование, получает готовое сообщение для участников и пересылает его в группу.

Статистика

Ниже приведена ежедневная статистика по участникам голосований и количеству этих голосований за последние 2 месяца. Сейчас я пробую раскрутить этот сервис в Индии, т.к. там WhatsApp очень популярен.

Количество участников голосований (красное - Индия)
Количество участников голосований (красное - Индия)
Кол-во голосований (красное - Индия)
Кол-во голосований (красное - Индия)

Бонус

Для тех, кто дочитал до конца, бонусная команда. Чтобы узнать какие голосования активны в данный момент, отправьте в WhatsApp слово Список на номер с голосованиями (79119554510). Как вы сможете убедиться, наибольшая доля опросов и голосований проводится в WhatsApp-группах жильцов и касается ЖКХ: покупать ли видеонаблюдение, ставить ли шлагбаумы, менять ли УК и т.п.

Предложения?

Пишите мне в Telegram: @vsevolod.

44
2 комментария

Возможно ли  для ответов использовать только цифры или хотя бы русские буквы?

1