Проект

Общее

Профиль

Wiki » История » Версия 8

Alexandr Vihlaev, 03.07.2026 15:14

1 1 Mariyam Seidaliyeva
{{>TOC}}
2
3
[[Основные идеи]]
4 7 Olzhas Assetuly
[[Exampls|Примеры]] 
5
[[H2K_Pay|Safina Pay]] 
6 1 Mariyam Seidaliyeva
7
h1. API
8
9
h3. Общие для всех запросов параметры:
10
11
Basic URL: 
12
<pre>
13 2 Olzhas Assetuly
https://my.safina.pro/ece/
14 1 Mariyam Seidaliyeva
</pre>
15
16
Электронная подпись:
17
Предполагается, что подпись формировалась библиотеками, предназначенными для ETH сети которые тело подписываемой транзакции добавляют служебную информацию
18
19
<pre>
20
HEADRES:
21
  x-app-ec-from 
22
  x-app-ec-sign-r
23
  x-app-ec-sign-s
24
  x-app-ec-sign-v
25
</pre>
26
27
  x-app-ec-from   : адрес подписавшего (HEX) с префиксом 0x 
28
<pre>0xa75db3c448bb62e208e4babf500925427837e464</pre>
29
  x-app-ec-sign-r : R компонента подписи (HEX) с префиксом 0x <pre>0xdb07295a5f780159d51c4872a104e6e486428942db38ea3b7d91433c38658c0b</pre>
30
  x-app-ec-sign-s : S компонента подписи (HEX) с префиксом 0x <pre>0x3a64d736044d63cff3713b85aa2a2fad902c080c2b64acfcdbee7ce9e20cae0e</pre>
31
  x-app-ec-sign-v : V компонента подписи (HEX) с префиксом 0x, флаг восстановления адреса <pre>0x1b</pre>
32
33
Подписываемая строка: 
34
<pre>
35
1. "{}" в случае отсутствия полей формы или запроса GET ({})
36
2. json с полями формы в случае запроса POST, PATCH, DELETE 
37
</pre>
38
Пример json: 
39
<pre>
40
{"slist":{"0":{"type":"all","email":"e@mail.com","ecaddres":"0xa12343c448bb62e208e4babf500925427837e464"},"1":{"type":"any","email":"e@mail.ru","sms":"+77777777777","ecaddres":"0x1234567448bb62e208e4babf500925427837e464"}},"network":"1000","info":"My first wallet"}
41
</pre>
42
Никаких пробелов в структуре JSON не допускается, иначе ОШИБКА ПОДПИСИ.
43
44
В случае ошибки ответ будет:
45
{"ERROR":"Ошибка 12313", "LINE":"125"}
46
47
---
48
49
h2. Описание методов:
50
51
h3. Получение справочника сетей:
52
53
*Действующие сети:*
54
55 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/netlist/1</pre>
56 1 Mariyam Seidaliyeva
57
*Отключенные сети:*
58
59 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/netlist/0</pre>
60 1 Mariyam Seidaliyeva
61
Ответ:
62
<pre>
63
[
64
{"network_id":1000,"network_name":"Bitcoin (BTC)",
65
"link":"https://www.bitcoin.com",
66
"address_explorer":"https://www.blockchain.com/btc/address/",
67
"tx_explorer":"https://www.blockchain.com/btc/tx/",
68
"block_explorer":"https://www.blockchain.com/btc/block/","info":null,"status":1},
69
70
{"network_id":1010,"network_name":"Bitcoin Test (BTC)",
71
"link":"https://www.bitcoin.com",
72
"address_explorer":"https://www.blockchain.com/btc-testnet/address/",
73
"tx_explorer":"https://www.blockchain.com/btc-testnet/tx/",
74
"block_explorer":"https://www.blockchain.com/btc-testnet/block/","info":null,"status":1},
75
76
{"network_id":3000,"network_name":"Etherium (ETH)",
77
"link":"https://ethereum.org",
78
"address_explorer":"https://etherscan.io/address/",
79
"tx_explorer":"https://etherscan.io/tx/",
80
"block_explorer":"https://etherscan.io/block/","info":null,"status":1},
81
82
{"network_id":3010,"network_name":"ETH Ropsten Test (ETH)",
83
"link":"https://ethereum.org",
84
"address_explorer":"https://ropsten.etherscan.io/address/",
85
"tx_explorer":"https://ropsten.etherscan.io/tx/",
86
"block_explorer":"https://ropsten.etherscan.io/block/","info":null,"status":1},
87
...
88
]
89
</pre>
90
91
---
92
93
h3. Создание кошелька:
94
95
Запрос:
96 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/newWallet</pre>
97 1 Mariyam Seidaliyeva
98
Body:
99
100
<pre>
101
{
102
  "slist": {
103
          "min_signs":"2",
104
          "0":{"type":"all", "email":"e@mail.com"},
105
          "1":{"type":"any", "email":"e@mail.ru", "sms":"+77777777777"},
106
          "2":{"type":"all", "ecaddress":"0xa75db3c448bb62e208e4babf500925427837e464"}
107 3 Olzhas Assetuly
         },
108 1 Mariyam Seidaliyeva
  "network": "1000",
109
  "info": "Мой первый кошелёк" 
110
}
111
</pre>
112
Если структуры slist нет, то создастся ОБЫЧНЫЙ ОДНОПОДПИСНОЙ КОШЕЛЁК
113
Структура slist в случае наличия означает что это запрос на МУЛЬТИПОДПИСНОЙ кошелёк. В ней содержатся данные подписантов.
114
type = all значит для совершения транзакции необходимо подтверждение всеми способами, указанными в slist
115
type = any значит для совершения транзакции необходимо подтверждение любым одним способом из указаннымх в slist
116
117
min_signs - необязательный параметр, определяющий какое минимальное количество подписей необходимо чтобы транзакция была подтверждена, значение больше нуля. Если не указан - то подтвердить должны все подписанты. 
118
119
Необязательные параметры "email", "sms", "ecaddress", при наличии элемента slist обязательно присутствие одного из них.
120
121
Ответ:
122
<pre>{"myUNID":"BE96CC2F2455C63546258901003B170C"}</pre>
123
124
"myUNID" - уникальное имя заявки на создание кошелька
125
126
---
127
128
h3. Получение списка кошельков:
129
130 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/wallets</pre>
131
<pre>GET https://my.safina.pro/ec/wallets_2 то же самое, но разделитель у токенов не запятая, а ";"</pre>
132 1 Mariyam Seidaliyeva
В ответ придёт JsonArray, каждый элемент которого будет содержать данные о кошельке. Если кошельков нет, то вернётся просто "[]":
133
134
<pre>
135
[
136
{"wallet_id":849,"network":5010,"wallet_type":1,"name":"945C6F4C54B3921F4625890300235114","info":"Test Test","addr":"TXuQVGNiu38V5fcxCgawKucnL1MikefHB5","addr_info":null,"myUNID":"C4834FE85AD1B20E4625890300231CC8","tokenShortNames":"TRX,USDT"},
137
{"wallet_id":857,"network":5010,"wallet_type":1,"name":"786D9289D827EB5046258903002DE1BC","info":"Test Test","addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","addr_info":null,"myUNID":"F74E34049A12714446258903002DAB04","tokenShortNames":"TRX,USDT"},
138
{"wallet_id":858,"network":5010,"wallet_type":1,"name":"E256AAB7E8E0B0E646258903002DE217","info":"Test Test","addr":"TTsoaqmR795wPT1ohVYSJFVXinHjwW6ex8","addr_info":null,"myUNID":"3A8FA1DFAC303D0C46258903002DCA23","tokenShortNames":"TRX,USDT"},
139
{"wallet_id":861,"network":5010,"wallet_type":1,"name":"0F12E99B06DAFF9E46258903002EAAAE","info":"Test Test","addr":"TF1WzAQX2hkWnspEgwqyNaQoa3dqCuNT1Z","addr_info":null,"myUNID":"FB48C991F6A78B9A46258903002E6665","tokenShortNames":"TRX,USDT"},
140
{"wallet_id":862,"network":5010,"wallet_type":1,"name":"5852554B1764A7A946258903002EAB0F","info":"Test Test","addr":"TY1crvAPB8Z1qpfWTkjjFqZJRztvD9ECoS","addr_info":null,"myUNID":"BB4C9B312887AA4D46258903002E7F6E","tokenShortNames":"TRX,USDT"},
141
{"wallet_id":863,"network":5010,"wallet_type":1,"name":"C63C1591E72687E1462589030034C9F4","info":"Test Test","addr":"TS5sFz9mo3RS3z2kifw3q2i1ypLbXiCTsQ","addr_info":null,"myUNID":"FF297EC3C1B86300462589030034A4D5","tokenShortNames":"TRX,USDT"},
142
{"wallet_id":962,"network":5010,"name":"BE96CC2F2455C63546258901003B170C","info":"Test Test Test","addr":""}
143
]
144
</pre>
145
146
где "wallet_type":1 значит что кошелёк горячий
147
если запись кошелька имеет поле пустое addr = "", то она соответствует заявке на создание кошелька и выводится сокращённым набором полей:
148
<pre>
149
{"wallet_id":962,"network":5010,"name":"BE96CC2F2455C63546258901003B170C","info":"Test Test Test","addr":""}
150
</pre>
151
поле name соответствует уникальному номеру заявки на создание кошелька (myUNID) и после создания кошелька будет изменено на новое.
152
153
---
154
155
h3. Получение списка всех токенов пользователя:
156
157
Для пользователя, подписавшего запрос отдаются все токены со всех его кошельков.
158
Базовые токены сети с балансом 0 создаются в момент создания кошелька, производные токены появляются после того, как на адрес кошелька поступят эти токены.
159
160 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tokens</pre>
161 1 Mariyam Seidaliyeva
162
Ответ:
163
<pre>[
164
{
165
  "id" : "357",
166
  "wallet_id" : "254",
167
  "network" : "3010",
168
  "token" : "TRX",
169
  "value" : "154,254"
170
  "decimals" " "6"
171
  "value_hex" : "0x931BAB0"
172
},
173
{
174
  "id" : "371",
175
  "wallet_id" : "259",
176
  "network" : "3010",
177
  "token" : "TRX",
178
  "value" : "15,0"
179
  "decimals" " "6"
180
  "value_hex" : "0xE4E1C0"
181
},
182
183
]</pre>
184
185
---
186
187
h3. Получение справочника токенов:
188
189
Для пользователя, подписавшего запрос отдаётся справочник токенов, поддерживаемых системой.
190
191
"token" = токен,
192
"c" = множитель комиссии (например 0.01 = 1%),
193
"cMin" = минимальная сумма комиссии,
194
"cMax" = максимальная сумма комиссии
195
196 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tokensinfo</pre>
197 1 Mariyam Seidaliyeva
198
Ответ:
199
<pre>[
200
  {"token":"1000:::BTC","c":"0.01","cMin":"0.001","cMax":"100"},
201
  {"token":"1010:::BTC","c":"0.01","cMin":"0.001","cMax":"100"},
202
  {"token":"3000:::ETH","c":"0.01","cMin":"0.001","cMax":"100"},
203
  {"token":"3010:::ETH","c":"0.01","cMin":"0.001","cMax":"100"},
204
  {"token":"3030:::ETH","c":"0.01","cMin":"0.001","cMax":"100"},
205
  {"token":"3040:::ETH","c":"0.01","cMin":"0.001","cMax":"100"},
206
  {"token":"3000:::USDT","c":"0.01","cMin":"0.001","cMax":"100"},
207
  {"token":"3010:::USDT","c":"0.01","cMin":"0.001","cMax":"100"},
208
  {"token":"3030:::USDT","c":"0.01","cMin":"0.001","cMax":"100"},
209
  {"token":"3040:::USDT","c":"0.01","cMin":"0.001","cMax":"100"},
210
  {"token":"5000:::TRX","c":"0.01","cMin":"0.001","cMax":"100"},
211
  {"token":"5010:::TRX","c":"0.01","cMin":"0.001","cMax":"100"},
212
  {"token":"5000:::USDT","c":"0.01","cMin":"0.001","cMax":"100"},
213
  {"token":"5010:::USDT","c":"0.01","cMin":"0.001","cMax":"100"}
214
]</pre>
215
216
---
217
218
h3. Получение параметров и списка адресов кошелька по его имени:
219
220
Для пользователя, подписавшего запрос отдаётся информация по одному кошельку.
221
222
223 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/wallet/:name</pre>
224 1 Mariyam Seidaliyeva
225
Пример: 
226 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/wallet/4079BF13E4A8619846258903003556D5</pre>
227 1 Mariyam Seidaliyeva
228
Ответ:
229
<pre>
230
231
{
232
  "wallet_name":"6E879E7AC87C6B00462589020067E03D",
233
  "info":"Test Test",
234
  "network":5010,
235
  "wallet_type":1,
236
  "myFlags":"",
237
  "unid":"09283CBBF50094D046258902006722E3",
238
  "slist":{
239
    "0":{
240
      "type":"all",
241
      "ecaddress":"0xa15db3c448bb62e208e4ba12500925427837e464",
242
      "email":"treests@oris.space",
243
      "sms":"+77777777777"
244
    }
245
  },
246
  "addrs":"TEdxjMESmmgREyqXbqBeHq5PRqNoW3MnvF,T01xjMESmmgRE78XbqBeHq5PRqNoW387vA"
247
}
248
249
</pre>
250
251
252
253
---
254
255
h3. Получение параметров и списка адресов кошелька по его уникальному идентификатору заявки на создания (UNID) :
256
257
Для пользователя, подписавшего запрос отдаётся информация по одному кошельку.
258
259
260 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/walletbyunid/:unid</pre>
261 1 Mariyam Seidaliyeva
262
Пример: 
263 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/walletbyunid/5049BF13E4A8619846849903A03556D5</pre>
264 1 Mariyam Seidaliyeva
265
Ответ:
266
<pre>
267
268
{
269
  "wallet_name":"6E879E7AC87C6B00462589020067E03D",
270
  "info":"Test Test",
271
  "network":5010,
272
  "wallet_type":1,
273
  "myFlags":"",
274
  "unid":"09283CBBF50094D046258902006722E3",
275
  "slist":{
276
    "0":{
277
      "type":"all",
278
      "ecaddress":"0xa15db3c448bb62e208e4ba12500925427837e464",
279
      "email":"treests@oris.space",
280
      "sms":"+77777777777"
281
    }
282
  },
283
  "addrs":"TEdxjMESmmgREyqXbqBeHq5PRqNoW3MnvF,T01xjMESmmgRE78XbqBeHq5PRqNoW387vA"
284
}
285
286
</pre>
287
288
289
290
---
291
292
h3. Получение списка токенов пользователя с одного кошелька:
293
294
Для пользователя, подписавшего запрос отдаются токены со одного кошелька.
295
296
297 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/wallet_tokens/:name</pre>
298 1 Mariyam Seidaliyeva
299
Пример: 
300 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/wallet_tokens/4079BF13E4A8619846258903003556D5</pre>
301 1 Mariyam Seidaliyeva
302
Ответ:
303
<pre>[
304
{
305
  "id" : "357",
306
  "wallet_id" : "254",
307
  "network" : "3010",
308
  "token" : "TRX",
309
  "value" : "154,254"
310
  "decimals" " "6"
311
  "value_hex" : "0x931BAB0"
312
},
313
{
314
  "id" : "371",
315
  "wallet_id" : "259",
316
  "network" : "3010",
317
  "token" : "TRX",
318
  "value" : "15,0"
319
  "decimals" " "6"
320
  "value_hex" : "0xE4E1C0"
321
},
322
323
]</pre>
324
325
---
326
327 8 Alexandr Vihlaev
h3. Получение баланса по адресу для Трон и Оргон
328
TODO: добавить ключ "instant":"". Если он есть, то транзакция не требует подтверждения пользователя после сбора подписей.
329
330
<pre>POST https://my.safina.pro/ece/all_balances_ext</pre>
331
332
<pre>
333
{
334
  "networkID":"5810",
335
  "address":"oY9Yc15AC4YMexewXnLxpZ84cuALcYtSB7",
336
}
337
</pre>
338
339
Ответ:
340
<pre>  { 
341
  "status": 1,
342
  "networkID": "5810",
343
  "address": "oY9Yc15AC4YMexewXnLxpZ84cuALcYtSB7",
344
  "balances": {
345
    "ORGON_int": 5000000000,
346
    "ORGON": "5000E6",
347
    "oRC10": [],
348
    "oRC20": [
349
      {
350
        "key": "oZo9ZekPmHpj6KBbEHSA9686JKNuXY4N5z",
351
        "value": 500000000,
352
        "decimals": 6,
353
        "oZo9ZekPmHpj6KBbEHSA9686JKNuXY4N5z": 500,
354
        "name": "USDT"
355
      }
356
    ],
357
    "oZo9ZekPmHpj6KBbEHSA9686JKNuXY4N5z": "500E6"
358
  }
359
}
360
361
</pre>
362
363
---
364
365 1 Mariyam Seidaliyeva
h3. Отправка транзакции
366
367
TODO: добавить ключ "instant":"". Если он есть, то транзакция не требует подтверждения пользователя после сбора подписей.
368 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/tx</pre>
369 1 Mariyam Seidaliyeva
370
<pre>
371
{
372
  "token":"5010:::TRX###945C6F4C54B3921F4625890300235114",
373
  "info":"Test Test",
374
  "value":"1,01",
375
  "toAddress":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
376
  "json_info":{"order_id":"125478"}
377
}
378
</pre>
379
380
"value" - разделитель дробной части всегда запятая
381
382
Ответ:
383
<pre>{"tx_unid":"FA581EE3B5899573462589030071DF52"}</pre>
384
385
---
386
387
h3. Получение списка транзакций:
388
389
Для пользователя, подписавшего запрос отдаются все исходящие транзакции со всех его кошельков, инициированные в нашей системе. Внешние транзакции не отображаются
390
391 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx</pre>
392 1 Mariyam Seidaliyeva
393
Ответ:
394
<pre>[
395
  {
396
   "id":470,
397
   "tx":null,
398
   "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB",
399
   "token_name":"TRX",
400
   "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
401
   "value":"1,005","value_hex":"0",
402
   "unid":"2E19FB324B3867C146258915006AC7F0",
403
   "init_ts":1670786865,
404
   "min_sign":null,
405
   "wait":[{"ecaddress":"0xA285990a1Ce696d770d578Cf4473d80e0228DF95"}],
406
   "signed":null
407
  },
408
  {
409
   "id":469,
410
   "tx":null,
411
   "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB",
412
   "token_name":"TRX",
413
   "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
414
   "value":"1,005","value_hex":"0",
415
   "unid":"C9D0C61AD75DF26F4625891500402B26",
416
   "init_ts":1670758938,
417
   "min_sign":null,
418
   "wait":[{}],
419
   "signed":[
420
              {"ecaddress":"0xA285990a1Ce696d770d578Cf4473d80e0228DF95",
421
               "ecsign":"0xb1cb0ac4a67df3dbe4a018bb2f398d98024ca0be12c5c137f980814f8eaf339d0x0ac527b42e5510646b9f8d4254913ba0c000d454bb2ebbc145cf731d037744950x1c"
422
              }
423
            ]
424
  },
425
  {
426
   "id":468,
427
   "tx":null,
428
   "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB",
429
   "token_name":"TRX",
430
   "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
431
   "value":"1,005","value_hex":"0",
432
   "unid":"D09BBF3B2A77A1B746258915003FB2EC",
433
   "init_ts":1670758630,
434
   "min_sign":null,
435
   "wait":null,
436
   "signed":null
437
  }
438
]</pre>
439
440
"tx" - хэш транзакции, заполняется только если транзакция уже размещена в сети, до этого передаётся null
441
442
---
443
444
h3. Получение списка транзакций определённого токена:
445
446
Для пользователя, подписавшего запрос отдаются все исходящие транзакции определённого токена по всем кошелькам, инициированные в нашей системе. Внешние транзакции не отображаются
447
448 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx/:token</pre>
449 1 Mariyam Seidaliyeva
450
<pre>
451 2 Olzhas Assetuly
GET https://my.safina.pro/ece/tx/5040:::ETH 
452 1 Mariyam Seidaliyeva
</pre>
453
454
Ответ:
455
<pre>[
456
  {
457
   "id":470,
458
   "tx":null,
459
   "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
460
   "value":"1,005",
461
   "value_hex":"0",
462
   "unid":"2E19FB324B3867C146258915006AC7F0",
463
   "init_ts":1670786865
464
  },
465
  {
466
   "id":469,
467
   "tx":null,
468
   "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL",
469
   "value":"1,005",
470
   "value_hex":"0",
471
   "unid":"C9D0C61AD75DF26F4625891500402B26",
472
   "init_ts":1670758938   
473
  }
474
]</pre>
475
476
"tx" - хэш транзакции, заполняется только если транзакция уже размещена в сети, до этого передаётся null
477
478
---
479
480
h3. Получение списка ожидаемых подписей для транзакции
481
482 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign_wait/:tx_unid</pre>
483 1 Mariyam Seidaliyeva
484
Пример
485 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign_wait/AD9EAFA6DADCC3BE4625890E007795B3</pre>
486 1 Mariyam Seidaliyeva
487
Ответ
488
<pre>[{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"},{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}]</pre>
489
490
---
491
492
h3. Получение списка полученных подписей для транзакции
493
494 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign_signed/:tx_unid</pre>
495 1 Mariyam Seidaliyeva
496
Пример
497 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign_signed/AD9EAFA6DADCC3BE4625890E007795B3</pre>
498 1 Mariyam Seidaliyeva
499
Ответ
500
<pre>[{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"},{}]</pre>
501
502
---
503
504
h3. Получение списка полученных и ожидаемых подписей для транзакции
505
506 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign/:tx_unid</pre>
507 1 Mariyam Seidaliyeva
508
Пример
509 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign/AD9EAFA6DADCC3BE4625890E007795B3</pre>
510 1 Mariyam Seidaliyeva
511
Ответ
512
<pre>[{"signed":{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}},{"wait":{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}}]</pre>
513
514
---
515
516
h3. Получение массива tx_unid (транзакций)
517
518
Запрос возвращает массив информации по транзакций которые должен утвердить (подписать) отправивший запрос пользователь (владелец ECAddress подписи запроса)
519
520 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_by_ec</pre>
521 1 Mariyam Seidaliyeva
522
Ответ:
523
<pre>[{"token":"5010:::TRX###6F8B336576989FA246258909002D76E3","to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,105","init_ts":1670190446,"unid":"AD9EAFA6DADCC3BE4625890E007795B3"}]</pre>
524
525
---
526
527
h3. Подписание транзакции
528
529 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/tx_sign/:tx_unid</pre>
530 1 Mariyam Seidaliyeva
531
Пример
532 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/tx_sign/AD9EAFA6DADCC3BE4625890E007795B3</pre>
533 1 Mariyam Seidaliyeva
534
Ответ
535
<pre>{}</pre>
536
537
---
538
539
h3. Отклонение транзакции
540
541 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/tx_reject/:tx_unid</pre>
542 1 Mariyam Seidaliyeva
543
Пример
544 2 Olzhas Assetuly
<pre>POST https://my.safina.pro/ece/tx_reject/AD9EAFA6DADCC3BE4625890E007795B3</pre>
545 1 Mariyam Seidaliyeva
{
546
  "ec_reject":"Это текст причины отклонения транзакции",
547
}
548
549
550
Ответ
551
<pre>{}</pre>
552
553
---
554
555
h3. Получение массива токенов пользователя и общего баланса по ним
556
557
Запрос возвращает массив с информацией о всех токенах пользователя и общий баланс по ним
558
Базовые токены возвращаются даже если баланс 0, производные только те, по которым были изменения баланса.
559
560 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/user_tokens/</pre>
561 1 Mariyam Seidaliyeva
562
Ответ:
563
<pre>
564
[
565
  {"network_name":"Tron Nile TestNet (TRX)","token":"TRX","value":100},
566
  {"network_name":"Tron Nile TestNet (TRX)","token":"USDT","value":10}
567
]
568
569
</pre>
570
571
---
572
573
h3. Получение последних 50-ти транзакций, которые подписал пользователь
574
575
Запрос возвращает массив с информацией о 50ти последних транзакциях, которые подписывал пользователь.
576
577 2 Olzhas Assetuly
<pre>GET https://my.safina.pro/ece/tx_sign_signed/</pre>
578 1 Mariyam Seidaliyeva
579
Ответ:
580
<pre>
581
[
582
  {"to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,005","tx":null,"init_ts":1670758938,"info":null,"token":"5010:::TRX"},
583
  {"to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,005","tx":null,"init_ts":1670758133,"info":null,"token":"5010:::TRX"}
584
]
585
586
587
</pre>
588
589
h3. Примеры
590
591
[[Exampls|Примеры]]