Модуль опроса. API: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
(Новая страница: «<source lang="bash"> curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=list' \ --cookie 'noses=o5U0SSeFy5FiJWv5GaWjng' </source> В отве...»)
 
 
(Не показані 24 проміжні версії цього користувача)
Рядок 1: Рядок 1:
==Список опросов==
<source lang="bash">
<source lang="bash">
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=list' \
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=list' \
     --cookie 'noses=o5U0SSeFy5FiJWv5GaWjng'
     --cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
</source>
</source>


В ответе ключ:
Если в ответе ключ err_cod - ошибка. Иначе в polls - список опросов.
* error - ошибка
* polls - список опросов


Данные опроса:
Данные опроса:
Рядок 17: Рядок 16:
start            : дата старта опроса в виде timestamp
start            : дата старта опроса в виде timestamp
end              : дата завершения опроса в виде timestamp
end              : дата завершения опроса в виде timestamp
stats_voted_users : количество проголосовавших
stats_voted_users : количество проголосовавших пользователей
can_see_results  : 1 - пользователь может видеть результаты голосования, 0 - нет
can_see_results  : 1 - пользователь может видеть результаты голосования, 0 - нет
can_see_results_before_vote : 1 - может видеть результаты до голосования, 0 - только после
can_see_results_before_vote : 1 - может видеть результаты до голосования, 0 - только после
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 - нет
can_anonymous    : 1 - можно голосовать анонимно, 0 - нет
vote_time        : дата голосования в виде строки, '' если не голосовал
vote_time        : дата голосования в виде строки, '' если не голосовал
viewed_time      : дата первого просмотра опроса в виде строки, '' если не просматривал еще
viewed_time      : дата первого просмотра опроса в виде строки, '' если не просматривал еще
ignore            : пользователь просил не показываеть ему этот опрос
ignore            : пользователь просил не показываеть ему этот опрос
</pre>
* Если не разрешено просматривать результаты опроса или пользователь не голосовал, то stats_voted_users = -1.
* ignore - флаг, который указывает на то, что ранее пользователь давал команду не показывать этот опрос. Показывать или нет - на усмотрение.
* viewed_time установлен, если пользователь вызывал cmd=choices, т.е. видел названия пунктов меню и возможно статистику (если разрешен ее показ).
* vote_time - дата последнего голосования, если голосовал несколько раз.
==Получить данные опроса==
В параметре poll_id - id опроса в списке polls
<source lang="bash">
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=choices&poll_id=1' \
    --cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
</source>
Если в ответе ключ err_cod - ошибка. Иначе в choices - пункты опроса:
<pre>
id          : id пункта опроса
title      : пункт опроса
description : описание
voted      : 1 - проголосовал за этот пункт
votes      : количество пользователей проголосовавших за этот пункт
</pre>
* Если не разрешено просматривать результаты опроса или пользователь не голосовал, то votes = -1.
==Голосование==
В параметре:
* poll_id - id опроса в списке polls
* choice - id пункта или список id, разделенных запятыми
* as_anon - голосовать анонимно (1 - да, 0 - нет)
<source lang="bash">
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'
</source>
==Игнорировать опрос==
<source lang="bash">
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=ignore&poll_id=1' \
    --cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
</source>
==Не игнорировать опрос==
<source lang="bash">
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_poll&cmd=dont_ignore&poll_id=1' \
    --cookie 'noses=zpP6gc2lJjeYKzskLBK7zA'
</source>
==Коды ошибок==
<pre>
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  : опрос не позволяет голосовать анонимно
</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   : опрос не позволяет голосовать анонимно