LibreMoney

2. Основная часть

2.8. API (RestAPI)

Операции со счетом

Get Account

Возвращает информацию о аккаунте, ассоциированным с предоставленным номером аккаунта.

Запрос

http://localhost:1400/api/getAccount?
     account=ACCOUNTNUM

Where:

Ответ

{
    "publicKey": "PUBKEY",
    "assetBalances": [
        {
            [ARRAY_OF_ASSETs]
        }
    ],
    "balance": "BALANCE",
    "accountRS": "ACCOUNTRS",
    "unconfirmedAssetBalances": [
        {
            [ARRAY_OF_UNCONFIRMED_ASSETs]
        }
    ],
    "account": "ACCOUNT",
    "effectiveBalance": EFFBALANCE,
    "unconfirmedBalance": "UNCONFBALANCE",
    "forgedBalance": "FORGEDBAL"
}

Where:

Пример

Запрос:

http://localhost:1400/api/getAccount?
     account=7898870630272254992

Ответ:

{
    "publicKey": "ce0fc0f2fed0645f7018e251493a8af1e1ecfb444a4603902e71bfd2a4b41558",
    "assetBalances": [
        {
            "asset": "1013693125509851736",
            "balanceQNT": "48"
        }
    ],
    "balance": "1000700000000",
    "accountRS": "LMA-BK2J-ZMY4-93UY-8EM9V",
    "unconfirmedAssetBalances": [
        {
            "unconfirmedBalanceQNT": "48",
            "asset": "1013693125509851736"
        }
    ],
    "account": "7898870630272254992",
    "effectiveBalance": 9932,
    "unconfirmedBalance": "1000700000000",
    "forgedBalance": "0"
}

Verified 5/12/14

Get Account ID

Возвращает номер счета, связанный с переданной парольной фразой.

Запрос

http://localhost:1400/api/getAccountId?
     secretPhrase=PASSPHRASE

Где:

Ответ

{
     "accountId":       "ACCOUNTNUM"
     "accountRS":       "ACCOUNTRS"
}

Where:

Пример

Запрос:

http://localhost:1400/api/getAccountId?
     secretPhrase=mySuperSecretPassphraseThatYouCanNeverGuess

Ответ:

{
     "accountId":       "4357314498768237104"
     "accountRS":       "LMA-UWKJ-GFEV-AGY4-5C4YS"
}

Внимание: Вы получите ERRORCODE:1, если вы делаете этот запрос не через метод POST

Get Account Block IDs

Возвращает ID всех блоков, созданных данным аккаунтом. Результаты отсортированы в хронологическом порядке.

Запрос

http://localhost:1400/api/getAccountBlockIds?
     account=ACCOUNT
     timestamp=TIME

Где:

Ответ

{
     "blockIds":
          [ARRAY_OF_BLOCK_IDs]
}

Примечание: результаты отсортированы в хронологическом порядке (самый ранний блок отображается первым)

Пример

Запрос:

http://localhost:1400/api/getAccountBlockIds?
     account=387977119245692429
     timestamp=0

Ответ:

{
     "blockIds":
          [
               "932115710792099523"
          ]
}

Get Account Public Key

Возвращает публичный ключ, связанный с переданным номером счета.

Запрос

http://localhost:1400/api/getAccountPublicKey?
     account=ACCOUNTNUM

Где:

Ответ

{
     "publicKey":       "PUBKEY"
}

Где:

Примечание: если переданный номер счета не известен, вы получите ошибку с кодом 5. Если счет существует, но с него не посылались транзакции, вы получите пустое значение: {}

Пример

Запрос:

http://localhost:1400/api/getAccountPublicKey?
     account=6483973064837388393

Ответ:

{
     "publicKey":       "29592749cd26f5c1c4bf0225f8ab225f289449b4978495e6fec09d486ae2d217"
}

Get Account Transaction IDs

Возвращает ID транзакций, связанных с переданным номером счета. Параметр timestamp определяет насколько далеко в прошлое вам нужно заглянуть в вашем списке транзакций; нулевое значение позволит вам получить все транзакции данного счета, начиная с генезис блока.

Запрос

http://localhost:1400/api/getAccountTransactionIds?
     account=ACCOUNT&
     timestamp=TIME&
     type=TYPE&
     subtype=SUBTYPE

Где:

Ответ

{
     "transactionIds":
          [ARRAY_OF_IDs]
}

Где:

Примечание: результаты отсортированы в хронологическом порядке (самая ранняя транзакция отображается первой)

Пример

Запрос:

http://localhost:1400/api/getAccountTransactionIds?
     account=25940420118693217452&
     timestamp=0

Ответ:

{
     "transactionIds":
          [
               "17484500871708980634",
               "51938275284739120529"
          ]
}

Get Balance

Возвращает баланс аккаунта.

Запрос

http://localhost:1400/api/getBalance?
     account=ACCOUNT

Где:

Ответ

{
    "guaranteedBalance": "GUARANTEED_BALANCE",
    "balance": "BALANCE",
    "effectiveBalance": EFFBALANCE,
    "unconfirmedBalance": "UNCONFBALANCE",
    "forgedBalance": "0"
}

Где:

Пример

Запрос:

http://localhost:1400/api/getBalance?
     account=7898870630272254992

Ответ:

{
    "guaranteedBalance": "0",
    "balance": "1000700000000",
    "effectiveBalance": 9932,
    "unconfirmedBalance": "1000700000000",
    "forgedBalance": "0"
}

Get Guaranteed Balance

Возвращает баланс счета, который подтвержден определенное число раз. Реализовано, начиная с версии 0.5.5

Запрос

http://localhost:1400/api/getGuaranteedBalance?
     account=ACCOUNT&
     numberOfConfirmations=CONFIRMATIONS

Где:

Ответ

{
     "guaranteedBalance":       GUARANTEED_BALANCE
}

Где:

Пример

Запрос:

http://localhost:1400/api/getGuaranteedBalance?
     account=3847997711292454692&
     numberOfConfirmations=15

Ответ:

{
     "guaranteedBalance":       1303400000000
}

Lease Balance

Передача вашего баланса в аренду другому аккаунту.

Запрос

http://localhost:1400/api/leaseBalance?
     period=PERIOD&
     recipient=REC&
     secretPhrase=SECRET&
     fee=FEE&
     deadline=DEADLINE&
     referencedTransaction=REFTXID&
     broadcast=BROAD

Где:

Ответ

{
     "fullHash":                 "FULLHASH", 
     "signatureHash":            "SIGHASH", 
     "transactionBytes":         "TXBYTES", 
     "hash":                     "HASH", 
     "transaction":              "TX", 
     "broadcasted":              BROAD, 
     "unsignedTransactionBytes": "UNTXBYTES" 
}

Где:

Пример

Запрос:

http://localhost:1400/api/leaseBalance?
     period=2880&
     recipient=1562462127635514638&
     secretPhrase=123&
     fee=100000000&
     deadline=1440

Ответ:

{
     "fullHash":                 "e4d1f83e1cf26ee71d8566d00077510c4a641e04174e7ec3893d7e5aafc82e65", 
     "signatureHash":            "48cab5351b4c08ac2816b5e13e9d238fa910085a0d07a16e1c7d7986222fc444", 
     "transactionBytes":         "0400401adb00a005668683e673274c671802492d6f5...", 
     "hash":                     "9b64d859cecdf63773d0696777c2783892616f3a793794544531e4fd7b8a66b2", 
     "transaction":              "16676532673329025508", 
     "broadcasted":              true, 
     "unsignedTransactionBytes": "0400401adb00a005668683e673274c671802492d6f54cdc..." 
}

Start / Stop Forging

Запуск или остановка форжинга аккаунтом, или проверка, чтобы увидеть, форжит ли учетная запись. Учетная запись форжит, когда ее секретная фраза (закрытый ключ) предоставлена серверу/узлу LibreMoney.

Запрос

http://localhost:1400/api?
     requestType=START_OR_STOP_OR_GET&
     secretPhrase=SECRET

Где:

Ответ

{
     "deadline":       DEADLINE
}

Где:

Для "stopForging":

{
     "foundAndStopped":       TRUE_OR_FALSE
}


Пример

Запрос:

http://localhost:1400/api/startForging?
     secretPhrase=MySuperSecretPasswordThatIsNotActuallyPostedHereOrIsEvenRealSoDoNotEvenTryIt

Ответ:

{
     "deadline":       1036742
}

Set Account Information

Установка сведений об аккаунте

Request

http://localhost:1400/api/setAccountInfo?
     secretPhrase=SECRET&
     name=NAME&
     description=DESCRIPT&
     publicKey=PUBKEY&	
     fee=FEE&
     deadline=DEADLINE&
     referencedTransactionFullHash=REFTXHASH&
     broadcast=BROAD

Где:

Ответ

{
     "fullHash":                 "FULLHASH", 
     "signatureHash":            "SIGHASH", 
     "transactionBytes":         "TXBYTES", 
     "hash":                     "HASH", 
     "transaction":              "TX", 
     "broadcasted":              BROAD, 
     "unsignedTransactionBytes": "UNTXBYTES" 
}

Where:

Пример

Запрос:

http://localhost:1400/api/setAccountInfo?
     secretPhrase=MySuperSecretPasswordThatIsNotActuallyPostedHereOrIsEvenRealSoDoNotEvenTryIt&
     fee=100000000&
     deadline=1440

Ответ:

{ 
     "fullHash":                 "93e8bba270eed8693f62576e13b45b45a848dd475e510fdb1e4026712829b734", 
     "signatureHash":            "5487681f5a828d379864cbbdba9b1f4f2c6f7035c8cf2f272dc323147aea5eac", 
     "transactionBytes":         "0105c84ad700a005668683e673274c671802492d6f54cdc33d247aa426e7...", 
     "hash":                     "6b6ec6ad2f06119493caca546b6561069cd5341b41884d5be068e0b1d9ce7748", 
     "transaction":              "7627108136485906579", 
     "broadcasted":              true, 
     "unsignedTransactionBytes": "0105c84ad700a005668683e673274c671802492d6f54cdc33d247aa4..." 
}