LibreMoney
2. Основная часть
2.8. API (RestAPI)
Операции с опросами
Create Poll
Создать новый опрос
Запрос
http://localhost:1400/api/createPoll? name=NAME& description=DESCRIP& minNumberOfOptions=MINOPTIONS& maxNumberOfOptions=MAXOPTIONS& optionsAreBinary=BINARY& option1=OPTION1& option2=OPTION2& option3=OPTION3& secretPhrase=SECRET& fee=FEE& deadline=DEADLINE& referencedTransactionFullHash=REFTXHASH& broadcast=BROAD
Где:
- DESCRIP описание опроса
- NAME название опроса
- MINOPTIONS минимальное число вариантов для опроса
- MAXOPTIONS максимальное число вариантов для опроса
- OPTION1 название первой опции (OPTIONS 2 & 3 опционально)
- SECRET секретная фраза (private key) аккаунта
- DEADLINE дедлайн транзакции, задается в минутах
- FEE комиссия за транзакцию (в MilliLm)
- BINARY указатель бинарности опций (опционально)
- REFTXHASH Идентификатор (ID)предыдущей транзакции на которую ссылается данная транзакция (опционально)
- BROAD true или false если должна быть широковещаиельная передача (опционально)
Ответ
{ "fullHash": "FULLHASH", "signatureHash": "SIGHASH", "transactionBytes": "TXBYTES", "hash": "HASH", "transaction": "TX", "broadcasted": BROAD, "unsignedTransactionBytes": "UNTXBYTES" }
Где:
- FULLHASH полный хэш транзакции
- SIGHASH sha256 хэш подписи транзакции. Используется для транзакций условного депонирования
- TXBYTES байткод транзакции
- HASH хеш всех полей транзакции, за исключением подписи
- TX ID транзакции
- BROAD статус - транзакция была передана или нет
- UNTXBYTES байты транзакции с частью подписи, заменяемой нулями
Пример
Запрос:
http://localhost:1400/api/createPoll? name=Testing123& description=Testing& minNumberOfOptions=1& maxNumberOfOptions=1& option1=yes& option2=no& secretPhrase=MySuperSecretPasswordThatIsNotActuallyPostedHereOrIsEvenRealSoDoNotEvenTryIt& fee=100000000& deadline=1440
Ответ:
{ "fullHash": "7ef9e19d0c7943002fd98a7ae08f1b4a1d473c67796f89225b167fd4913ce73f", "signatureHash": "a76722be0652d5c88cb7292d1cb04ea299eaea74c35ad726e868d08799946c38", "transactionBytes": "010234fbda00a005668683e673274c671802492d6f54cdc33d247aa426e...", "hash": "940383ff1bf177d4e4fee05c78865b12ace2570152c64570219dfc0aa10c246b", "transaction": "18991918535014782", "broadcasted": true, "unsignedTransactionBytes": "010234fbda00a005668683e673274c671802492d6f54cdc33d247..." }
Get Poll
Получить информацию о заданном опросе
Запрос
http://localhost:1400/api/getPoll? poll=POLL
Где:
- POLL идентификатор (id) опроса который вас интересует
Ответ
{ "description": "DESCRIP", "name": "NAME", "maxNumberOfOptions": MAXOPTIONS, "optionsAreBinary": BINARY, "voters": [VOTERS], "minNumberOfOptions": MINOPTIONS, "options": [OPTIONS] }
Where:
- DESCRIP описание опроса
- NAME название опроса
- MAXOPTIONS максимальное количество опций опроса
- BINARY указатель что опции бинарные
- VOTERS количество голосующих в опросе
- MINOPTIONS минимальное количество опций опроса
- OPTIONS список опций
Пример
Request:
http://localhost:1400/api/getPoll? poll=15826354927269615782
Response:
{ "description": "Does this work?", "name": "Test", "maxNumberOfOptions": 1, "optionsAreBinary": false, "voters": [], "minNumberOfOptions": 1, "options": [ "Yes", "No", "I don't know" ] }
Get Poll IDs
Возвращает ID (идентификаторы) всех голосований
Запрос
http://localhost:1400/api/getPollIds
Ответ
{ "pollIds": [ "POLLID", ... ] }
Где:
- POLLID ID голосования
Пример
Запрос:
http://localhost:1400/api/getPollIds
Ответ:
{ "pollIds": [ "15826354927269615782", "8883605113950920958" ] }
Cast Vote
Проголосовать в опросе
Запрос
http://localhost:1400/api/castVote? poll=NAME& vote1=VOTE1& vote2=VOTE2& vote3=VOTE3& secretPhrase=SECRET& fee=FEE& deadline=DEADLINE& referencedTransactionFullHash=REFTXHASH& broadcast=BROAD
Где:
- NAME название голосования в котором вы желаете принять участие, проголосовать
- VOTE1 ваш голос (VOTE 2 & 3 опционально, если голосование допускает множественные опции)
- SECRET секретная фраза (private key) вашего аккаунта
- DEADLINE дедлайн транзакции, задается в минутах
- FEE комиссия за транзакцию (в MilliLm)
- REFTXHASH Идентификатор (ID)предыдущей транзакции на которую ссылается данная транзакция (опционально)
- BROAD если вы хотите чтобы транзакция широковещательно передавалась или нет (опционально)
Ответ
{ "fullHash": "FULLHASH", "signatureHash": "SIGHASH", "transactionBytes": "TXBYTES", "hash": "HASH", "transaction": "TX", "broadcasted": BROAD, "unsignedTransactionBytes": "UNTXBYTES" }
Where:
- FULLHASH полный хэш транзакции
- SIGHASH sha256 хэш подписи транзакции. Используется для транзакций условного депонирования
- TXBYTES байткод транзакции
- HASH хеш всех полей транзакции, за исключением подписи
- TX ID транзакции
- BROAD статус - транзакция была передана или нет
- UNTXBYTES байты транзакции с частью подписи, заменяемой нулями
Пример
Запрос:
http://localhost:1400/api/castVote? poll=18991918535014782& vote1=yes& secretPhrase=MySuperSecretPasswordThatIsNotActuallyPostedHereOrIsEvenRealSoDoNotEvenTryIt& fee=100000000& deadline=1440
Ответ:
{ "fullHash": "637ea3215258adef61f7fc5a90eff6435d1a7ad8c3790d5855c6943b9aff1daf", "signatureHash": "a6745e26165e9c7870c85bd174348e4e72c825378cfb71760e04f08e30879fa6", "transactionBytes": "010314feda00a005668683e673274c671802492d6f54cdc33...", "hash": "10ee68836162f6a8e2559a6dbcbc41c4db4b7441e6ff321f01b268d761c6916d", "transaction": "17270557255810645603", "broadcasted": true, "unsignedTransactionBytes": "010314feda00a005668683e673274c671802492d6f54cdc33d247aa426e7..." }