Light Easy Money




What is LEM?
How to register?
How to get LEMs?
How to transfer LEM to other wallets?
Description of standard system manager
Affiliate program
System statistics
API
SHA-256 online
Download standard system manager
Contacts

API

General description.

All server requests are sent using POST method. You choose any server from the list:

https://s1.light-easy-money.net

Server request always includes three required parameters:

ParameterTypeDescription
operaziyaStringOperation title.
langStringLanguage.
rnd_passStringRandom password.

Other parameters have various set depending on the operation. Text line - operation id – is the result of this request that will help you to get the operation result later. For this you need to make a new POST request with four mandatory parameters (parameter 'operaziya' with the value 'get', two parameters (lang and rnd_pass) are the same plus operation Id):

ParameterTypeDescription
operaziyaStringOperation title (value 'get').
langStringLanguage.
rnd_passStringRandom password.
id_operaziiStringOperation Id.

The result of this request is a response with array in JSON format or a text line with an error.

Possible operations (operaziya):

Parameter
value
Description
newWallet creation.
balanceWallet balance viewing.
transferMoney transfer.
get_codesGetting of current code-tasks.
get_codes_solutionViewing of solved code-tasks.
get_codes_getЗRequest for getting commission for the completed task.
reportGetting of reports on transfers within the wallet.
auth_serverAuthentication servers

Language options (lang):

Parameter
value
Description
enEnglish.
ruRussian.

Random password (rnd_pass) is a line formed by you in order to unambiguously identify that it is you who makes a request for receiving operation result. You can form the line as you choose, for example by an in-built random number generator of your software. The formed random line must be no longer that 16 symbols.

Back to top



Create operation.

#1 POST request:
{
	"operaziya": "new",
	"lang": "en",
	"rnd_pass": "1234567890"
}
Response as a line of operation id (String type):
	40a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "40a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"new_wallet": "20102016-1",
	"new_wallet_pass": "ABcdEFGI12345678",
	"new_wallet_sum": "20.00"
}

ParameterTypeDescription
new_walletStringNumber of wallet created
new_wallet_passStringPassword to wallet created.
new_wallet_sumStringCurrent sum in wallet created, LEM.

Back to top



Balance operation.

#1 POST request:
{
	"operaziya": "balance",
	"lang": "en",
	"rnd_pass": "1234567890",
	"wallet": "20102016-1",
	"rand": "132465",
	"hash": "ea49d36c290e4...cb34f5f626"
}
ParameterTypeDescription
walletStringWallet number.
randStringRandom number.
hashStringString created by SHA-256 hashing algorithm of the sum (concatenation, overlapping, bonding) of lines (in this strict consequence only):

wallet number
random number
wallet password

For example, the sum can be like this:

20102016-1132465ABcdEFGI12345678

20102016-1 - wallet number
132465 - random number
ABcdEFGI12345678 - wallet password

SHA-256 must be calculated from this sum:

ea49d36c290e4953a86c3154e6bcdbf8
b36799c1f48dbda307c118cb34f5f626


and sent as a hash parameter. Note that the password is sent in the hash string only (as a hash parameter).

Response as a line of operation id (String type):
	40a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "40a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"wallet": "20102016-1",
	"wallet_sum": "20.00"
}

ParameterTypeDescription
walletStringWallet number.
wallet_sumStringCurrent sum in the wallet, LEM.




Transfer operation.

#1 POST request:
{
	"operaziya": "transfer",
	"lang": "en",
	"rnd_pass": "1234567890",
	"version": "1",
	"sender": "20102016-1",
	"beneficiary": "20102016-2",
	"sum": "2.45",
	"rand": "654123",
	"comment": "transfer",
	"hash": "d98a6da981d17f...432914e4"
}
ParameterTypeDescription
versionStringSignature (hashing) version. At the moment it is 1.
senderStringSender’s wallet.
beneficiaryStringRecipient’s wallet.
sumStringTransfer amount, LEM.
randStringRandom number.
commentStringComments (symbols that can be used: numbers, Latin alphabet, Cyrillic alphabet, backspace and the following symbols -=;:,./~!@#$%^()_{}|№).
hashStringThe line created by SHA-256 hashing algorithm of the lines sum (concatenation, overlapping, bonding) (in this strict consequence only):

version number
sender’s wallet number
recipient’s wallet number
transfer amount
random number
comments
sender’s wallet password

For example, the sum can be like this:
120102016-120102016-22.45654123transferABcdEFGI12345678

1 - version number
20102016-1 - sender’s wallet number
20102016-2 - recipient’s wallet number
2.45 - transfer amount
654123 - random number
перевод средств - comments
ABcdEFGI12345678 - sender’s wallet password

SHA-256 must be calculated from this sum:

d98a6da981d17fccdf3c1e803dd8fb26
8191586ef3cdb3ad843ffe1e432914e4


and sent as a hash parameter. Note that the password is sent in the hash string only (as a hash parameter).

Response as a line of operation id (String type):
	60a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "60a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"sender": "20102016-1",
	"benef": "20102016-2",
	"sum": "2.45",
	"oldsum_sender": "20.00",
	"newsum_sender": "17.55"
}

ParameterTypeDescription
senderStringSender’s wallet number.
benefStringRecipient’s wallet number.
sumStringAmount of transfer.
oldsum_senderStringSum in the sender’s wallet before sending.
newsum_senderStringSum in the sender’s wallet after sending.




Get_codes operation.

#1 POST request:
{
	"operaziya": "get_codes",
	"lang": "en",
	"rnd_pass": "1234567890"
}
Response as a line of operation id (String type):
		80a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "80a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"codes": {
		"utime": [
			1477752316,
			1477753087,
			1477766568,
			1477776568,
			1477788568,
			1477996568,
			1477999568
		],
		"data": [
			"29.10.2016",
			"29.10.2016",
			"30.10.2016",
			"30.10.2016",
			"30.10.2016",
			"31.10.2016",
			"31.10.2016"
		],
		"time": [
			"15:34:30",
			"16:45:20",
			"17:02:10",
			"18:52:30",
			"19:52:10",
			"05:32:40",
			"06:52:10"
		],
		"nomer": [
			"68",
			"144",
			"356",
			"357",
			"988",
			"1100",
			"1125"
		],
		"code": [
			"xHPduQR0705UT6LF",
			"4E0qPSvWH5rImISU",
			"Bgq5RtCB2xMMTlcJ",
			"6tJghUK3XU3ubf2T",
			"7q18Wl7XIRxMFHpr",
			"ZFtIr5NYCDcVYiRf",
			"GpC9oadDQscSM3Rs"
		],
		"sum": [
			"10",
			"50",
			"30",
			"90",
			"70",
			"60",
			"80"
		],
		"count": [
			"8",
			"7",
			"5",
			"4",
			"5",
			"7",
			"9"
		]
	}
}

ParameterTypeDescription
codesObjectObject containing a set of arrays "utime", "data", "time", "nomer", "code", "sum", "count"
utimeArray of IntegerArray of creation time for unsolved codes in the UNIX format.
dataArray of StringArray of creation of unsolved codes in dd.mm.yyyy format
timeArray of StringArray of creation time of unsolved codes in hh:mm:ss format.
nomerArray of StringArray of unsolved codes number.
codeArray of StringArray of unsolved codes.
sumArray of StringArray of commissions for completed codes.
countArray of StringArray of difficulties of code solutions.




Get_codes_solution operation.

#1 POST request:
{
	"operaziya": "get_codes_solution",
	"lang": "en",
	"rnd_pass": "1234567890",
	"page": "5"
}
ParameterTypeDescription
pageStringPage number. If the parameter is -1 then we get the data from the latest page. Page number corresponds with data of hundreds of code numbers. For example, for page 2 you can get the list of codes from 200 to 299 and for page 0 – codes from 1 to 99

Response as a line of operation id (String type):
	44a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "44a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"codes": {
		"500": {
			"code": "y2DUn7AEMNJm3eW1",
			"sum": "20",
			"count": "4",
			"solution": "f75dGH",
			"wallet": "20102016-1",
			"datatime": "30.10.2016, 12:10:45"
		},
		"589": {
			"code": "zZmYYCfMBgp7I8nN",
			"sum": "50",
			"count": "3",
			"solution": "4365737232",
			"wallet": "21102016-2",
			"datatime": "30.10.2016, 15:40:42"
		},
		"512": {
			"code": "vCNNAE6hUO8hN7AW",
			"sum": "40",
			"count": "7",
			"solution": "22222khlhg44AAA",
			"wallet": "30102016-1",
			"datatime": "30.10.2016, 21:00:15"
		}			
	},
	"cpage": "900",
	"tpage": "500"
}

ParameterTypeDescription
codesObjectObject containing code numbers. Every number object contains "code", "sum", "count", "solution", "wallet", "datatime" dataset for this task number.
codeStringCode.
sumStringCommission for solved code.
countStringDifficulty.
solutionStringSolution line. If it is empty the code has not been solved yet.
walletStringWallet to which commission was transferred.
datatimeStringDate and time of task completion (commission transferring) in dd.mm.yyyy, hh:mm:ss format.
cpageStringTotal code pages multiplied by 100 (for this example – just 9 pages).
tpageStringPage number multiplied by 100 for which data was received (for this example – page 5).

Back to top



Get_codes_get operation.

#1 POST request:
{
	"operaziya": "get_codes_get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"cod_nomer": "534",
	"cod_rand": "FDG4dg67879",
	"wallet": "20102016-1"
}
ParameterTypeDescription
cod_nomerStringCode number (task number).
cod_randStringSolution line for this code.
walletStringWallet to receive commission for the completed task.

Response as a line of operation id (String type):
	11a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "11a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"benef": "20102016-1",
	"sum": "50",
	"comment": "for code #534"
}

ParameterTypeDescription
benefStringКWallet that received commission for the completed task.
sumStringCommission sum for code solution.
commentStringComment in "for code #{nomer}" format where {nomer} is a code number.




Report operation.

#1 POST request:
{
	"operaziya": "report",
	"lang": "en",
	"rnd_pass": "1234567890",
	"wallet": "20102016-1",
	"period_report": "lastmonth",
	"period_report_day": "2",
	"period_report_month": "11",
	"period_report_year": "2016",	
	"rand": "654123",
	"hash": "fa077fb52...ca0bdcdfb1dba"
}
ParameterTypeDescription
walletStringWallet that the report is requested for.
period_reportStringTime period the report is requested for. Possible options of values:
today (for today)
yesterday (for the previous day)
thisweek (for current week)
lastweek (for previous week)
thismonth (for current month)
lastmonth (for previous month)
date (for a certain date that is stated in the parameters below).
period_report_dayStringDay when the parameter is shown like period_report:"date".
period_report_monthStringMonth when the parameter is shown like period_report:"date".
period_report_yearStringYear when the parameter is shown like period_report:"date".
randStringRandom number.
hashStringThe line created by SHA-256 hashing algorithm of the lines sum (concatenation, overlapping, bonding) (in this strict consequence only):

wallet number
random number
wallet password

For example, the sum can be like this:
20102016-1654123999ABcdEFGI12345678

20102016-1 - wallet number
654123999 - random number
ABcdEFGI12345678 - wallet password

SHA-256 must be calculated from this sum:

fa077fb52c1247139df6a977bba1115
e47ceda9b7c718629fffca0bdcdfb1dba


and sent as a hash parameter. Note that the password is sent in the hash string only (as a hash parameter).

Response as a line of operation id (String type):
	50a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "50a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"datafrom": "01.10.2016",
	"datato": "31.10.2016",
	"wallet": "21102016-1",
	"mass": {
		"29.10.2016": {
			"utime": [
				1477752316,
				1477753087,
				1477766568
			],
			"data": [
				"29.10.2016",
				"29.10.2016",
				"29.10.2016"
			],
			"time": [
				"15:34:30",
				"15:45:20",
				"15:52:10"
			],
				"sender": [
				"21102016-2",
			"21102016-1",
					"22102016-3"
			],
			"benef": [
				"21102016-1",
				"11102016-1",
				"22102016-1"
			],
			"sum": [
				"10.00",
				"40.00",
				"25.00"
			],
			"comment": [
				"perevod",
				"transfer",
				""
			],
			"balance": [
				"80.00",
				"40.00",
				"65.00"
			]			
		},
		"31.10.2016": {
			"utime": [
				1477949054,
				1477949555,
				1477949777
			],
			"data": [
				"31.10.2016",
				"31.10.2016",
				"31.10.2016"
			],
			"time": [
				"21:24:30",
				"21:45:20",
				"21:52:10"
			],
			"sender": [
				"21102016-67",
				"21102016-1",
				"22102016-55"
			],
			"benef": [
				"21102016-1",
				"31102016-10",
				"22102016-1"
			],
			"sum": [
				"10.00",
				"5.00",
				"40.00"
				],
			"comment": [
				"text",
				"#456",
				"for text"
			],
			"balance": [
				"75.00",
				"70.00",
				"110.00"
			]			
		}			
	}
}

ParameterTypeDescription
datafromStringStart date in dd.mm.yyyy format.
datatoStringEnd date in dd.mm.yyyy format
walletStringWallet the report has been made for.
massObjectObject containing date objects in "dd.mm.yyyy". Every date object includes "utime", "data", "time", "sender", "benef", "balance", "sum", "comment" array set for this date.
utimeArray of IntegerArray of time transfers in UNIX format.
dataArray of StringArray of date transfers in dd.mm.yyyy format.
timeArray of StringArray of time transfers in hh:mm:ss format.
senderArray of StringArray of wallets-senders.
benefArray of StringArray of wallets-recipients.
sumArray of StringArray of transfer sums.
commentArray of StringArray of comments to transfers.
balanceArray of StringArray of wallet balances according to which report was made after each transfer.




Auth_server operation.

#1 POST request:
{
	"operaziya": "auth_server",
	"lang": "en",
	"rnd_pass": "1234567890",
	"auth_wallet": "20102016-1",
	"auth_server": "s1.light-easy-money.net"
}
ParameterTypeDescription
auth_walletStringWallet number.
auth_serverStringServer address without the https:// and without www.

Response as a line of operation id (String type):
	40a36e718c2a...8e0e88b93016a230
#2 POST request:
Note that lang and rnd_pass parameters do not change.
{
	"operaziya": "get",
	"lang": "en",
	"rnd_pass": "1234567890",
	"id_operazii": "40a36e718c2a...8e0e88b93016a230"
}
Response in JSON format:
{
	"auth_wallet": "20102016-1",
	"auth_server": "s1.light-easy-money.net",
	"auth_rand": "132465",
	"auth_hash": "e718c2a...8e0e88b930"
}

ParameterTypeDescription
auth_walletStringWallet number.
auth_serverStringServer address.
auth_randStringRandom number.
hashStringThe line created by SHA-256 hashing algorithm of the lines sum (concatenation, overlapping, bonding) (in this strict consequence only):

wallet number
server address
random number
AuthServer password

For example, the sum can be like this:
20102016-1s1.light-easy-money.net132465ABcdEFGI12345678

20102016-1 - wallet number
s1.light-easy-money.net - server address
132465 - random number
ABcdEFGI12345678 - AuthServer password

SHA-256 is calculated from this sum and then passed as a auth_hash parameter. After getting the response from the sever, you need to calculate the SHA-256 hash on your side and compare it with auth_hash value. If these hashes are equal then the server being checked is authentic. If they are not equal or you did not get the response from the server at all, then the server is not authentic. The verification request can be sent to the previously verified (authentic) server or to the server being checked.




Errors.

In some cases the server can show line with error instead of operation id or response in JSON format. It always begins with “Error” word. Then the error number is given after backspace; for example, "#501". Then the line explaining the error code on request language is given after backspace. So, the full error line can be like this "Error #501 Wrong solution".

List of possible errors (not full):

#990 Server not responding
#921 No file
#923 Wrong RND pass
#931 Unable to create wallet

#101 Not POST request
#102 Too many requests
#104 Unknown operation
#106 Wrong data
#199 Server is temporarily unavailable

#404 Empty content

#301 This sender does not exist
#302 This beneficiary does not exist
#303 Not enough money in your wallet
#304 Wrong request data hash
#305 Re-transfer operation
#306 Incorrect signature version
#307 Sender and beneficiary are the same
#311 Wallet does not exist

#501 Wrong solution
#502 Invalid code number

If after the first POST request you immediately make another POST request then you will probably receive #921 error that means there is no file of operation being processed. Thus, repeated request should be made again in a few seconds with the same parameters and again if need be. Do not make your server requests too often as you can receive #102 error. Try to make your requests with no less than 5 seconds between them.






© https://Light-Easy-Money.com, 2016-2017