Wiki » История » Версия 7
Olzhas Assetuly, 07.06.2024 10:05
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 | h3. Отправка транзакции |
||
328 | |||
329 | TODO: добавить ключ "instant":"". Если он есть, то транзакция не требует подтверждения пользователя после сбора подписей. |
||
330 | 2 | Olzhas Assetuly | <pre>POST https://my.safina.pro/ece/tx</pre> |
331 | 1 | Mariyam Seidaliyeva | |
332 | <pre> |
||
333 | { |
||
334 | "token":"5010:::TRX###945C6F4C54B3921F4625890300235114", |
||
335 | "info":"Test Test", |
||
336 | "value":"1,01", |
||
337 | "toAddress":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
338 | "json_info":{"order_id":"125478"} |
||
339 | } |
||
340 | </pre> |
||
341 | |||
342 | "value" - разделитель дробной части всегда запятая |
||
343 | |||
344 | Ответ: |
||
345 | <pre>{"tx_unid":"FA581EE3B5899573462589030071DF52"}</pre> |
||
346 | |||
347 | --- |
||
348 | |||
349 | h3. Получение списка транзакций: |
||
350 | |||
351 | Для пользователя, подписавшего запрос отдаются все исходящие транзакции со всех его кошельков, инициированные в нашей системе. Внешние транзакции не отображаются |
||
352 | |||
353 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx</pre> |
354 | 1 | Mariyam Seidaliyeva | |
355 | Ответ: |
||
356 | <pre>[ |
||
357 | { |
||
358 | "id":470, |
||
359 | "tx":null, |
||
360 | "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB", |
||
361 | "token_name":"TRX", |
||
362 | "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
363 | "value":"1,005","value_hex":"0", |
||
364 | "unid":"2E19FB324B3867C146258915006AC7F0", |
||
365 | "init_ts":1670786865, |
||
366 | "min_sign":null, |
||
367 | "wait":[{"ecaddress":"0xA285990a1Ce696d770d578Cf4473d80e0228DF95"}], |
||
368 | "signed":null |
||
369 | }, |
||
370 | { |
||
371 | "id":469, |
||
372 | "tx":null, |
||
373 | "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB", |
||
374 | "token_name":"TRX", |
||
375 | "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
376 | "value":"1,005","value_hex":"0", |
||
377 | "unid":"C9D0C61AD75DF26F4625891500402B26", |
||
378 | "init_ts":1670758938, |
||
379 | "min_sign":null, |
||
380 | "wait":[{}], |
||
381 | "signed":[ |
||
382 | {"ecaddress":"0xA285990a1Ce696d770d578Cf4473d80e0228DF95", |
||
383 | "ecsign":"0xb1cb0ac4a67df3dbe4a018bb2f398d98024ca0be12c5c137f980814f8eaf339d0x0ac527b42e5510646b9f8d4254913ba0c000d454bb2ebbc145cf731d037744950x1c" |
||
384 | } |
||
385 | ] |
||
386 | }, |
||
387 | { |
||
388 | "id":468, |
||
389 | "tx":null, |
||
390 | "token":"5010:::TRX###9C51E0B331882BCF46258913005338CB", |
||
391 | "token_name":"TRX", |
||
392 | "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
393 | "value":"1,005","value_hex":"0", |
||
394 | "unid":"D09BBF3B2A77A1B746258915003FB2EC", |
||
395 | "init_ts":1670758630, |
||
396 | "min_sign":null, |
||
397 | "wait":null, |
||
398 | "signed":null |
||
399 | } |
||
400 | ]</pre> |
||
401 | |||
402 | "tx" - хэш транзакции, заполняется только если транзакция уже размещена в сети, до этого передаётся null |
||
403 | |||
404 | --- |
||
405 | |||
406 | h3. Получение списка транзакций определённого токена: |
||
407 | |||
408 | Для пользователя, подписавшего запрос отдаются все исходящие транзакции определённого токена по всем кошелькам, инициированные в нашей системе. Внешние транзакции не отображаются |
||
409 | |||
410 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx/:token</pre> |
411 | 1 | Mariyam Seidaliyeva | |
412 | <pre> |
||
413 | 2 | Olzhas Assetuly | GET https://my.safina.pro/ece/tx/5040:::ETH |
414 | 1 | Mariyam Seidaliyeva | </pre> |
415 | |||
416 | Ответ: |
||
417 | <pre>[ |
||
418 | { |
||
419 | "id":470, |
||
420 | "tx":null, |
||
421 | "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
422 | "value":"1,005", |
||
423 | "value_hex":"0", |
||
424 | "unid":"2E19FB324B3867C146258915006AC7F0", |
||
425 | "init_ts":1670786865 |
||
426 | }, |
||
427 | { |
||
428 | "id":469, |
||
429 | "tx":null, |
||
430 | "to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL", |
||
431 | "value":"1,005", |
||
432 | "value_hex":"0", |
||
433 | "unid":"C9D0C61AD75DF26F4625891500402B26", |
||
434 | "init_ts":1670758938 |
||
435 | } |
||
436 | ]</pre> |
||
437 | |||
438 | "tx" - хэш транзакции, заполняется только если транзакция уже размещена в сети, до этого передаётся null |
||
439 | |||
440 | --- |
||
441 | |||
442 | h3. Получение списка ожидаемых подписей для транзакции |
||
443 | |||
444 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign_wait/:tx_unid</pre> |
445 | 1 | Mariyam Seidaliyeva | |
446 | Пример |
||
447 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign_wait/AD9EAFA6DADCC3BE4625890E007795B3</pre> |
448 | 1 | Mariyam Seidaliyeva | |
449 | Ответ |
||
450 | <pre>[{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"},{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}]</pre> |
||
451 | |||
452 | --- |
||
453 | |||
454 | h3. Получение списка полученных подписей для транзакции |
||
455 | |||
456 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign_signed/:tx_unid</pre> |
457 | 1 | Mariyam Seidaliyeva | |
458 | Пример |
||
459 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign_signed/AD9EAFA6DADCC3BE4625890E007795B3</pre> |
460 | 1 | Mariyam Seidaliyeva | |
461 | Ответ |
||
462 | <pre>[{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"},{}]</pre> |
||
463 | |||
464 | --- |
||
465 | |||
466 | h3. Получение списка полученных и ожидаемых подписей для транзакции |
||
467 | |||
468 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign/:tx_unid</pre> |
469 | 1 | Mariyam Seidaliyeva | |
470 | Пример |
||
471 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign/AD9EAFA6DADCC3BE4625890E007795B3</pre> |
472 | 1 | Mariyam Seidaliyeva | |
473 | Ответ |
||
474 | <pre>[{"signed":{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}},{"wait":{"ecaddress":"0x534dfB93c5e19974C16c380e9B822CD80Cc3a825"}}]</pre> |
||
475 | |||
476 | --- |
||
477 | |||
478 | h3. Получение массива tx_unid (транзакций) |
||
479 | |||
480 | Запрос возвращает массив информации по транзакций которые должен утвердить (подписать) отправивший запрос пользователь (владелец ECAddress подписи запроса) |
||
481 | |||
482 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_by_ec</pre> |
483 | 1 | Mariyam Seidaliyeva | |
484 | Ответ: |
||
485 | <pre>[{"token":"5010:::TRX###6F8B336576989FA246258909002D76E3","to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,105","init_ts":1670190446,"unid":"AD9EAFA6DADCC3BE4625890E007795B3"}]</pre> |
||
486 | |||
487 | --- |
||
488 | |||
489 | h3. Подписание транзакции |
||
490 | |||
491 | 2 | Olzhas Assetuly | <pre>POST https://my.safina.pro/ece/tx_sign/:tx_unid</pre> |
492 | 1 | Mariyam Seidaliyeva | |
493 | Пример |
||
494 | 2 | Olzhas Assetuly | <pre>POST https://my.safina.pro/ece/tx_sign/AD9EAFA6DADCC3BE4625890E007795B3</pre> |
495 | 1 | Mariyam Seidaliyeva | |
496 | Ответ |
||
497 | <pre>{}</pre> |
||
498 | |||
499 | --- |
||
500 | |||
501 | h3. Отклонение транзакции |
||
502 | |||
503 | 2 | Olzhas Assetuly | <pre>POST https://my.safina.pro/ece/tx_reject/:tx_unid</pre> |
504 | 1 | Mariyam Seidaliyeva | |
505 | Пример |
||
506 | 2 | Olzhas Assetuly | <pre>POST https://my.safina.pro/ece/tx_reject/AD9EAFA6DADCC3BE4625890E007795B3</pre> |
507 | 1 | Mariyam Seidaliyeva | { |
508 | "ec_reject":"Это текст причины отклонения транзакции", |
||
509 | } |
||
510 | |||
511 | |||
512 | Ответ |
||
513 | <pre>{}</pre> |
||
514 | |||
515 | --- |
||
516 | |||
517 | h3. Получение массива токенов пользователя и общего баланса по ним |
||
518 | |||
519 | Запрос возвращает массив с информацией о всех токенах пользователя и общий баланс по ним |
||
520 | Базовые токены возвращаются даже если баланс 0, производные только те, по которым были изменения баланса. |
||
521 | |||
522 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/user_tokens/</pre> |
523 | 1 | Mariyam Seidaliyeva | |
524 | Ответ: |
||
525 | <pre> |
||
526 | [ |
||
527 | {"network_name":"Tron Nile TestNet (TRX)","token":"TRX","value":100}, |
||
528 | {"network_name":"Tron Nile TestNet (TRX)","token":"USDT","value":10} |
||
529 | ] |
||
530 | |||
531 | </pre> |
||
532 | |||
533 | --- |
||
534 | |||
535 | h3. Получение последних 50-ти транзакций, которые подписал пользователь |
||
536 | |||
537 | Запрос возвращает массив с информацией о 50ти последних транзакциях, которые подписывал пользователь. |
||
538 | |||
539 | 2 | Olzhas Assetuly | <pre>GET https://my.safina.pro/ece/tx_sign_signed/</pre> |
540 | 1 | Mariyam Seidaliyeva | |
541 | Ответ: |
||
542 | <pre> |
||
543 | [ |
||
544 | {"to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,005","tx":null,"init_ts":1670758938,"info":null,"token":"5010:::TRX"}, |
||
545 | {"to_addr":"TRx6xXChS5sXz3mpvLSNfKuL6w3PBdMZzL","tx_value":"1,005","tx":null,"init_ts":1670758133,"info":null,"token":"5010:::TRX"} |
||
546 | ] |
||
547 | |||
548 | |||
549 | </pre> |
||
550 | |||
551 | h3. Примеры |
||
552 | |||
553 | [[Exampls|Примеры]] |