Модуль опроса. API: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) |
Sv (обговорення | внесок) м (→Коды ошибок) |
||
(Не показано 8 проміжних версій цього користувача) | |||
Рядок 21: | Рядок 21: | ||
can_revote : 1 - может переголосовать, 0 - нет | can_revote : 1 - может переголосовать, 0 - нет | ||
can_multi_choice : 1 - можно голосовать за несколько пунктов, 0 - нет | can_multi_choice : 1 - можно голосовать за несколько пунктов, 0 - нет | ||
can_anonymous : 1 - можно голосовать анонимно, 0 - нет | |||
voted : 1 - голосовал, 0 - нет | voted : 1 - голосовал, 0 - нет | ||
vote_time : дата голосования в виде строки, '' если не голосовал | vote_time : дата голосования в виде строки, '' если не голосовал | ||
viewed_time : дата первого просмотра опроса в виде строки, '' если не просматривал еще | viewed_time : дата первого просмотра опроса в виде строки, '' если не просматривал еще | ||
Рядок 30: | Рядок 30: | ||
* Если не разрешено просматривать результаты опроса или пользователь не голосовал, то stats_voted_users = -1. | * Если не разрешено просматривать результаты опроса или пользователь не голосовал, то stats_voted_users = -1. | ||
* ignore - флаг, который указывает на то, что ранее пользователь давал команду не показывать этот опрос. Показывать или нет - на усмотрение. | * ignore - флаг, который указывает на то, что ранее пользователь давал команду не показывать этот опрос. Показывать или нет - на усмотрение. | ||
* vote_time - дата последнего голосования, если голосовал несколько раз | * viewed_time установлен, если пользователь вызывал cmd=choices, т.е. видел названия пунктов меню и возможно статистику (если разрешен ее показ). | ||
* vote_time - дата последнего голосования, если голосовал несколько раз. | |||
==Получить данные опроса== | ==Получить данные опроса== | ||
Рядок 41: | Рядок 42: | ||
</source> | </source> | ||
Если в ответе ключ err_cod - ошибка. Иначе в choices - пункты опроса | Если в ответе ключ err_cod - ошибка. Иначе в choices - пункты опроса: | ||
<pre> | <pre> | ||
id : id пункта опроса | id : id пункта опроса | ||
title : пункт опроса | title : пункт опроса | ||
description : описание | |||
voted : 1 - проголосовал за этот пункт | voted : 1 - проголосовал за этот пункт | ||
votes : количество пользователей проголосовавших за этот пункт | votes : количество пользователей проголосовавших за этот пункт | ||
</pre> | </pre> | ||
Рядок 57: | Рядок 58: | ||
* poll_id - id опроса в списке polls | * poll_id - id опроса в списке polls | ||
* choice - id пункта или список id, разделенных запятыми | * choice - id пункта или список id, разделенных запятыми | ||
* as_anon - голосовать анонимно (1 - да, 0 - нет) | |||
<source lang="bash"> | <source lang="bash"> | ||
Рядок 80: | Рядок 82: | ||
poll_id_required : в параметре poll_id не задан id опроса | poll_id_required : в параметре poll_id не задан id опроса | ||
poll_not_found : опрос не найден (неверный id/опрос в статусе "неактивный"/ | poll_not_found : опрос не найден (неверный id/опрос в статусе "неактивный"/ | ||
время опроса еще не наступило или уже закончилось) | |||
choice_required : в параметре choices не указан ни один пункт опроса | choice_required : в параметре choices не указан ни один пункт опроса | ||
only_one_choice : опрос позволяет выбирать только один пункт | only_one_choice : опрос позволяет выбирать только один пункт | ||
cannot_revote : пользователь уже голосовал и в данном опросе не разрешено менять выбор | cannot_revote : пользователь уже голосовал и в данном опросе не разрешено менять выбор | ||
wrong_choice_id : в параметре choices как минимум один id не указывает на существующий активный пункт меню | wrong_choice_id : в параметре choices как минимум один id не указывает на существующий активный пункт меню | ||
anonymous_deny : опрос не позволяет голосовать анонимно | |||
</pre> | </pre> |
Поточна версія на 08:55, 31 липня 2021
Список опросов
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=list' \
--cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
Если в ответе ключ err_cod - ошибка. Иначе в polls - список опросов.
Данные опроса:
id : id опроса, целое число больше нуля title : заголовок description : описание start_date : дата старта опроса в виде строки end_date : дата завершения опроса в виде строки start : дата старта опроса в виде timestamp end : дата завершения опроса в виде timestamp stats_voted_users : количество проголосовавших пользователей can_see_results : 1 - пользователь может видеть результаты голосования, 0 - нет can_see_results_before_vote : 1 - может видеть результаты до голосования, 0 - только после can_revote : 1 - может переголосовать, 0 - нет can_multi_choice : 1 - можно голосовать за несколько пунктов, 0 - нет can_anonymous : 1 - можно голосовать анонимно, 0 - нет voted : 1 - голосовал, 0 - нет vote_time : дата голосования в виде строки, '' если не голосовал viewed_time : дата первого просмотра опроса в виде строки, '' если не просматривал еще ignore : пользователь просил не показываеть ему этот опрос
- Если не разрешено просматривать результаты опроса или пользователь не голосовал, то stats_voted_users = -1.
- ignore - флаг, который указывает на то, что ранее пользователь давал команду не показывать этот опрос. Показывать или нет - на усмотрение.
- viewed_time установлен, если пользователь вызывал cmd=choices, т.е. видел названия пунктов меню и возможно статистику (если разрешен ее показ).
- vote_time - дата последнего голосования, если голосовал несколько раз.
Получить данные опроса
В параметре poll_id - id опроса в списке polls
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=choices&poll_id=1' \
--cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
Если в ответе ключ err_cod - ошибка. Иначе в choices - пункты опроса:
id : id пункта опроса title : пункт опроса description : описание voted : 1 - проголосовал за этот пункт votes : количество пользователей проголосовавших за этот пункт
- Если не разрешено просматривать результаты опроса или пользователь не голосовал, то votes = -1.
Голосование
В параметре:
- poll_id - id опроса в списке polls
- choice - id пункта или список id, разделенных запятыми
- as_anon - голосовать анонимно (1 - да, 0 - нет)
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=vote&poll_id=1&choice=1,2' \
--cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
Игнорировать опрос
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=ignore&poll_id=1' \
--cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
Не игнорировать опрос
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=dont_ignore&poll_id=1' \
--cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
Коды ошибок
temporary : ошибка на сервере API poll_id_required : в параметре poll_id не задан id опроса poll_not_found : опрос не найден (неверный id/опрос в статусе "неактивный"/ время опроса еще не наступило или уже закончилось) choice_required : в параметре choices не указан ни один пункт опроса only_one_choice : опрос позволяет выбирать только один пункт cannot_revote : пользователь уже голосовал и в данном опросе не разрешено менять выбор wrong_choice_id : в параметре choices как минимум один id не указывает на существующий активный пункт меню anonymous_deny : опрос не позволяет голосовать анонимно