Всем привет!
Сегодня у нас очень важное обновление на сайте: платные вопросы. Что это такое? Это возможность назначить цену за ответ на свой вопрос. Сценарий очень простой:
Вы задаете вопрос
Назначаете за помощь по нему цену (эта сумма сразу блокируется на вашем счету). Это публикуется по сути как объявление.
Кто-нибудь откликается на это объявление, подтверждая свою готовность помочь с решением.
После выполнения, исполнитель отправляет вам заявку на подтверждение перевода ему. Вы подтверждаете, исполнитель получает перевод на свой счет.
Очень надеемся, что данный механизм поможет за небольшую стоимость (50-100+ рублей) получать значительно более оперативную и качественную помощь.
Ну а теперь как это реализовано. Пока еще полутестовый режим (хотя балансы уже реальные), так что не все еще отточено. Получим фидбэк когда, будем дорабатывать. Но в целом все рабочее.
Сразу уточню, что, хотя сама программная часть реализована на сайте, практически все интерфейсы реализованы в слэке, так что чтобы опробовать этот функционал, надо авторизоваться и получить доступ к слэку (запросить его).
?
И так, сначала надо заиметь монетки на счет. Их можно получить тремя способами:
Приобрести доступ к репозиторию пакетов. Часть суммы вернется вам на личный счет в виде монеток (сейчас это 50%).
Просто пополнить баланс на любую сумму (счет пополняется один-к-одному).
Попросить кого-нибудь, у кого есть монетки, подарить вам (выполнить прямой перевод) :)
Затем в слэке пишем свой вопрос обычным сообщением (одним).
?
Собственно, в этот момент еще можно не вешать цену (может кто-то бесплатно ответит) и повесить ценник на это сообщение позже, но если сроки жмут или еще что-то, то можно и сразу цену объявить. К сожалению, я так и не нарыл в слэке достаточных инструментов интерактивности, чтобы сделать это все более удобным, потому сделал это вот так: чтобы инициировать механизм платных объявлений, надо своему сообщению добавить специальную реакцию :payable:
?
?
Если вы использовали ее хоть раз, она будет у вас в ранее используемых вверху списка.
?
И так, когда вы кликаете добавляете эту эмоцию, система вас спросит какую стоимость хотите назначить (если не спросила, значит скорее всего вы не предоставили сайту права на чтение ваших реакций, спросите меня как их предоставить (хотя в большинстве случаев как минимум для новых пользователей все должно быть ОК)).
?
Вот здесь как раз и сказывается недостаток нужных механизмов в слэке. Нельзя в ответ на запрос от сервера написать какое-то произвольное сообщение, которое бы отправилось именно по этому сценарию. Можно только кнопки какие-нибудь кликать. А просить вводить какие-то команды с четким синтаксисом — вообще не удобно. Поэтому пока все это реализовано именно в таком виде. Но сейчас это пока как эксперимент. Если тема полетит, то скорее всего будем ее дублировать на стороне самого сайта, и здесь уже мы сможем дать любые инструменты взаимодействия, чтобы было максимально удобно.
Ладно, едем дальше… Система спросила какую цену хотим назначить — кликаем нужную кнопку, например, 100 монет. В ответ на это действие система создает новое сообщение-объявление.
?
Здесь автор сообщения получает небольшой бонус в виде того, что сообщение опять попадает в самый ТОП. Плюс к этому, система отправляет всем пользователям уведомление с пометкой важно, которое привлекает гораздо больше внимания. Так что сообщение могут увидеть те, кто ранее его пропустил.
?
В этот момент указанная сумма уже замораживается на счету автора объявления, так что кто видит это сообщение, может быть уверен, что оно гарантированно обеспечено финансами.
Если кто-то откликается на объявление, система запрашивает у него подтверждение серьезности его намерений.
?
Если пользователь подтверждает действие, заявка им принимается, и этот пользователь назначается получателем в замороженном обеспечительном платеже по данному объявлению, и больше никто не может откликнуться об этому объявлению (даже если отправили одновременно запрос на подтверждение, успешно запрос пройдет только для одного запроса, другому будет выдана ошибка). Таким образом исключается необходимость у заказчика спрашивать «Исполнителя еще не нашли?».
Если все ОК, пользователь получает подтверждение.
?
В свою очередь и заказчику сразу отправляется личное сообщение от имени откликнувшегося о готовности помочь.
?
?
Далее уже заказчик общаются напрямую друг с другом через личные сообщения.
После выполнения задания исполнителю остается только запросить подтверждение перевода за выполненую работу.
?
Если все ОК, система сообщает, что запрос успешно отправлен
?
А заказчик получает личное сообщение с запросом на подтверждение.
?
Заказчик подтверждает перевод
?
И исполнитель получает личное сообщение от заказчика, что он выполнил перевод.
?
Вот такая вот довольно обширная бизнес-логика получилась. Предлагаю всем заинтересованным попробовать ее в действии. Для этого достаточно пополнить свой баланс на сумму от 50 рублей, зарегистрироваться у нас в слэке (читаем про это в предыдущей статье), и задать свой платный вопрос.
Конечно же хотелось бы, чтобы как можно больше людей откликалось на такие вопросы, но скорее всего так не будет, поэтому сразу заявляю о готовности нашей команды отвечать на ваши вопросы.
Прошу всех, у кого есть замечания и/или предложения, высказываться.