2 :
1. 1kk - iCardId, iCardNumber, dOverDate, iRestCode, iStatus, iSaleNumber, iTerminalId, sXmlText
2. fail iCardId, iCardNumber, dOverDate, iRestCode, iTerminalId, iPartnerId
iCardId id ()
iCardNumber -
dOverDate
iRestCode
Status 0/1, 0 , 1
iSaleNumber ( )
iTerminalId
iPartnerId - id KFC
sXmlText - xml
DLL,
: -
, , !
GetCardInfoEx
function GetCardInfoEx(
Card: Int64; Restaurant, UnitNo: DWORD;
Info: Pointer;
InpBuf: Pointer; InpLen: DWORD; InpKind: Word;
var OutBuf: Pointer; var OutLen: DWORD; var OutKind: Word
): Integer; stdcall;
:
Card -
Restaurant -
UnitNo -
Info - , ,
InpBuf -
InpLen -
InpKind - (0- 1-XML)
OutBuf -
OutLen - ( 150kb)
OutKind - (2-Pr1me 101-)
0 - , Info
1 -
, Info:
Word = 1164 ( )
Byte ,
0 - ,
1 - ,
Byte
0 -
1 -
Byte
0 -
1 -
Byte
0 - ,
1 - ,
Byte
0 -
1 -
Byte
0 -
1 -
256 Asciiz - -
40 Asciiz -
Int64
DWORD
DWORD
Word
Word
Int64 ,
Int64 , ,
Int64 N 2,
Int64 N 3,
Int64 N 4,
Int64 N 5,
Int64 N 6,
Int64 N 7,
Int64 N 8,
256 Asciiz -
256 Asciiz -
256 Asciiz -
TransactionsEx
function TransactionsEx(
Count: DWORD; List: Pointer;
InpBuf: Pointer; InpLen: DWORD; InpKind: Word;
|
|
var OutBuf: Pointer; var OutLen: DWORD; var OutKind: Word
): Integer; stdcall;
:
Count -
List - , o - (Pointer) (. )
InpBuf -
InpLen -
InpKind - (0- 1-XML)
OutBuf -
OutLen - ( 150kb)
OutKind -
0 -
1 -
- , !
Word = 122
Int64
Int64
DWORD
Byte
0 - ( )
1 -
2 - ( )
3 - ( )
Int64 , ,
0 ():
- ,
- ;
1 ():
- ,
- ;
2 ():
- ,
- ;
3 ():
- ,
- ;
Word
DWORD (0 -> 30/12/1899)
Byte
DWORD
(8 )
Int64 A
Word A * 100 (1500 -> 15.00%)
Int64 B
Word B * 100
Int64 C
Word C * 100
Int64 D
Word D * 100
Int64 E
Word E * 100
Int64 F
Word F * 100
Int64 G
Word G * 100
Int64 H
Word H * 100
DLL -
.
-. . , . :
tokena. , Get_token, token , .
Dll
1. Has_connect, false, (, cards.txt done_cards.txt) .2.1. true, .
2. , , Get_token. true, ( ). false, 2 . false 3 , , 1 OutBuf ( 500). OutBuf 500.
|
|
2.1. GetCardInfoEx: ( cards.txt) ( cards.txt) 0 dOverDate , , , 0. 1 OutBuf ( 2), ( cards.txt). 1 dOverDate , 1 OutBuf ( 3). OutBuf 2,3.
2.2. TransactionEx: ( done_cards.txt) ( ) . , , 0. , 1 OutBuf ( 201). OutBuf 201.
3. GetCardInfoEx.
a.
i. Card -
ii. Restaurant -
iii. UnitNo -
b. Card ( if , ). , 1 OutBuf ( 1). OutBuf 1.
c. .1
d. , .2. , Has_one_card. true, 0 ( cards.txt), false, 1 OutBuf ( 2,3). OutBuf 2,3.
4. TransactionEx.
a.
i. Int64
ii. Word
iii. Byte
b. .1.
c. , .2. , Transaction_complete. true, 0, false false, 1 OutBuf ( 6). OutBuf 6.
d. InpBuf - .
Off-line
3:00-4:00 ( ) ( , ). Gat_all_cards, Update_cards.
4:00-5:00 dll ( ) 1kk sXmlText
:
{} { } { } { } { }
API
Get_token (GET)
1.
a. login
● str
b. pass
● str
c. hash
● str md5(login+pass+login+date(m))
d. type_request
● Get_token -
2.
a.
{
"result": true,
"token": str
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Has_one_card (GET)
3.
a. card_number
● int
b. type_request
● Has_one_card
c. rest_number
● int
d. terminal_number
● int
e. token
● str
4.
a.
{
"result": true,
"sale_number": int -
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Transaction_complete (GET)
1.
|
|
a. card_number
● int
b. type_request
● Transaction_complete
c. rest_number
● int
d. terminal_number
● int
e. token
● str
2.
a.
{
"result": true,
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Get_all_cards (GET)
1.
a. type_request
● Get_all_cards
b. token
● str
2.
a.
{
"result": true,
"cards": [{
"card_number": int,
"status": int,
}],
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Update_cards (GET)
1.
a. type_request
1. Update_cards
b. token
1. str
c. cards (json) "cards":[{"card_number":123456789,"over_date": 2016-10-02 01:01:00}]
1. card_number
● int
2. over_date
● date
2.
a.
{
"result": true,
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Has_connect (GET)
1.
a. type_request
● Has_connect
2.
a.
{
"result": true,
}
b.
{
"result": false,
"err_message":
{
"code": code_errors,
}
}
Code_errors:
● 1 -
● 2 -
● 3 (Status=1 dOverDate )
● 6 (, )
● 7 type_request
● 100
● 101
● 201 , GetCardInfoEx
● 301
● 302
● 500 ! !
● 666
● 501
● 502 -