1. Введение
+Приложение dm-cli - интерфейс командной строки для доступа к функциям модуля сделок (dm) сервиса обработки bitcoin платежей BitDeals. Приложение должно предоставлять доступ к основной функциональности dm через командную строку.
Ресурсы:
+-
+
-
+
Исходный код модуля сделок: https://git.bitdeals.org/private/apostol-dm/.
+
+ -
+
Docker образ модуля сделок:
+docker pull registry.bitdeals.org/apostol-dm
+ -
+
Документация API модуля сделок: https://git.bitdeals.org/private/apostol-dm/src/branch/master/doc/REST-API-ru.md
+
+ -
+
Веб интерфейс модуля сделок: https://testnet-dm2.bitdeals.org/dm/.
+
+ -
+
Доступные пользователи bitdeals для работы с учётными данными и сделками при выполнении ТЗ:
+mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp(продавец);mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC(покупатель);mynFyJJkRhsbB6y1Q5kTgDGckVz2m9NKH8(пользователь модуля сделок).
+
2. Общие требования
+-
+
-
+
В режиме работы
+--debugприложение должно дополнительно выводить данные API запросов и ответов.
+ -
+
Значение параметра
+--addressприложения должно принимать IP адрес и порт, или URL путь, напримерhttps://testnet-dm2.bitdeals.org/dm/.
+
3. Функции dm-cli
+3.1. Документация по использованию
+-
+
-
+
Приложение должно выводить справку по использованию приложения по ключу
+-hили--help
+ -
+
Если переменная в значении:
+LANG=ru_RU.UTF-8, то справка должна быть на русском языке.++
++
Пример сообщения 'dm-cli --help':+++++На английском:
+++++
+Usage: dm-cli [global] <group> [<args>] + +Global options: + --debug print debug information, input and output API requests + --address <ip:port> address of the bitdeals dm, default: 127.0.0.1:4999 + --help print condensed help for all subcommands + --version print version string + + dm-cli account status <bitcoin_address> + Show account data details + dm-cli account update [options] + Update your account data + + dm-cli deal create + Create a new deal + dm-cli deal status + Show deal data details + dm-cli deal complete + Complete deal + dm-cli deal cancel + Cancel deal + dm-cli deal negative + Leave negative feedback++На русском:
+++++
+Использование: dm-cli [глобальные параметры] <группа> [<аргументы>] + +Глобальные параметры: + --debug выводить отладочную информацию, входные и выходные API-запросы + --address <ip:port> адрес модуля сделок (dm), по умолчанию: 127.0.0.1:4999 + --help вывести краткую справку по всем подкомандам + --version вывести строку версии + + dm-cli account status <биткоин адрес> + Показать учётные данные аккаунта + dm-cli account update [параметры] + Изменить учётные данные аккаунта + + dm-cli deal create + Создать новую сделку + dm-cli deal status + Показать данные сделки + dm-cli deal complete + Завершить сделку + dm-cli deal cancel + Отменить сделку + dm-cli deal negative + Оставить негативный отзыв+
+
3.2. Запрос данных пользователей
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli account status --help':+++++На английском:
+++++
+Usage: dm-cli account status [options] <bitcoin_address> + + Show info about a bitdeals user. + + -f|--feedbacks [p|n] Show last 1K received feedbacks. + Use p or n to filter only positive or negative feedbacks. + -i|--info Show user account details. + -r|--rating Show user rating information. + -s|--status Show user account status (default action).++На русском:
+++++
+Использование: dm-cli account status [параметры] <биткоин адрес> + + Показать информацию о пользователе bitdeals. + + -f|--feedbacks [p|n] Показать последнюю 1 тыс. полученных отзывов. + Используй p или n для фильтрации только позитивных или негативных отзывов. + -i|--info Показать данные учётной записи. + -r|--rating Показать данные рейтинга. + -s|--status Показать статус пользователя (действие по умолчанию).+
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос статуса (
+--status) пользователяmnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp:++++
+curl "https://testnet-dm.bitdeals.org/api/v1/account/status?address=mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp"++
++
Пример ответа:+++++++
+{ + "id": "c381f540d48c1d34", + "action": "Status", + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "result": { + "success": true, + "message": "Open" + }, + "payload": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkJpdERlYWxzIFBheW1lbnQgU2VydmljZSI+CjwvaGVhZD4KPGJvZHk+CjxwcmU+SGVsbG8sIDxiPm1udW1IczlIUU1ydzJRMWlLTE5ueDlOekV4UzduTUxteXA8L2I+IQoKWW91ciBhY2NvdW50IHN0YXR1czogPGI+T3BlbjwvYj4KCi0tLS0tIEJJVENPSU4gUFVCTElDIEtFWSAtLS0tLQoKPGI+MDI0ZjIyNmNkMzdhYjdlNzY4ZGU3YjY4OTQ2ZDY2MWQwNjdlZjFkNThhMTgzMjU0MjI1YTRmOTFmNmFlODkxOGVlPC9iPgoKLS0tLS0gUEdQIFBVQkxJQyBLRVkgLS0tLS0KCjxiPnB1YiAgMTAyNFIvNDlkZmNjYjk3YjkwNzRjNiAyMDI1LTA4LTA0Cgp1aWQgQWNjb3VudF9VUkwgKGh0dHBzOi8vZXhhbXBsZS0zMjA4OTI4MTIzLmNvbSkKc2lnICBzaWcgICA0OWRmY2NiOTdiOTA3NGM2IDIwMjUtMDgtMDQgICAgICAgICAgICAgICAgICAgIAoKc3ViICAxMDI0Ui80MDYwZjlkNDdkMzgyZGUyIDIwMjUtMDgtMDQKc2lnIHNiaW5kICA0OWRmY2NiOTdiOTA3NGM2IDIwMjUtMDgtMDQgICAgICAgICAgICAgICAgICAgIAo8L2I+Ci0tLS0tIEFDQ09VTlQgVVJMIExJU1QgLS0tLS0KCjxhIGhyZWY9Imh0dHBzOi8vZXhhbXBsZS0zMjA4OTI4MTIzLmNvbSI+aHR0cHM6Ly9leGFtcGxlLTMyMDg5MjgxMjMuY29tPC9hPgoKLS0tLS0gVFJVU1RFRCBVUkwgTElTVCAtLS0tLQoKPGEgaHJlZj0iaHR0cDovLzE3MC43NS4xNzMuNzA6NDk5OSI+aHR0cDovLzE3MC43NS4xNzMuNzA6NDk5OTwvYT4KPGEgaHJlZj0iaHR0cHM6Ly9wbGFjYXJkLnpyLWNvZGUuY29tIj5odHRwczovL3BsYWNhcmQuenItY29kZS5jb208L2E+CjxhIGhyZWY9Imh0dHBzOi8vdGVzdG5ldC5iaXRkZWFscy5vcmciPmh0dHBzOi8vdGVzdG5ldC5iaXRkZWFscy5vcmc8L2E+CjxhIGhyZWY9Imh0dHA6Ly9wbGFjYXJkLnpyLWNvZGUuY29tIj5odHRwOi8vcGxhY2FyZC56ci1jb2RlLmNvbTwvYT4KPGEgaHJlZj0iaHR0cDovL3Rlc3RuZXQtZG0uYml0ZGVhbHMub3JnIj5odHRwOi8vdGVzdG5ldC1kbS5iaXRkZWFscy5vcmc8L2E+CjxhIGhyZWY9Imh0dHBzOi8vdGVzdG5ldC1kbTIuYml0ZGVhbHMub3JnIj5odHRwczovL3Rlc3RuZXQtZG0yLmJpdGRlYWxzLm9yZzwvYT4KPGEgaHJlZj0iaHR0cDovL3Rlc3RuZXQtZG0yLmJpdGRlYWxzLm9yZyI+aHR0cDovL3Rlc3RuZXQtZG0yLmJpdGRlYWxzLm9yZzwvYT4KPGEgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo0OTk5Ij5odHRwOi8vbG9jYWxob3N0OjQ5OTk8L2E+CjxhIGhyZWY9Imh0dHA6Ly90ZXN0bmV0LmJpdGRlYWxzLm9yZyI+aHR0cDovL3Rlc3RuZXQuYml0ZGVhbHMub3JnPC9hPgo8YSBocmVmPSJodHRwOi8vcGxhY2FyZC5iaXRkZWFscy5vcmciPmh0dHA6Ly9wbGFjYXJkLmJpdGRlYWxzLm9yZzwvYT4KPGEgaHJlZj0iaHR0cHM6Ly9wbGFjYXJkLmJpdGRlYWxzLm9yZyI+aHR0cHM6Ly9wbGFjYXJkLmJpdGRlYWxzLm9yZzwvYT4KPGEgaHJlZj0iaHR0cHM6Ly90ZXN0bmV0LWRtLmJpdGRlYWxzLm9yZyI+aHR0cHM6Ly90ZXN0bmV0LWRtLmJpdGRlYWxzLm9yZzwvYT4KPGEgaHJlZj0iaHR0cHM6Ly90ZXN0bmV0Mi5iaXRkZWFscy5vcmciPmh0dHBzOi8vdGVzdG5ldDIuYml0ZGVhbHMub3JnPC9hPgo8YSBocmVmPSJodHRwOi8vdGVzdG5ldDIuYml0ZGVhbHMub3JnIj5odHRwOi8vdGVzdG5ldDIuYml0ZGVhbHMub3JnPC9hPgo8YSBocmVmPSJodHRwczovL3BsYWNhcmQyLmJpdGRlYWxzLm9yZyI+aHR0cHM6Ly9wbGFjYXJkMi5iaXRkZWFscy5vcmc8L2E+CjxhIGhyZWY9Imh0dHA6Ly9wbGFjYXJkMi5iaXRkZWFscy5vcmciPmh0dHA6Ly9wbGFjYXJkMi5iaXRkZWFscy5vcmc8L2E+CjxhIGhyZWY9Imh0dHBzOi8vZXhhbXBsZS0zMjA4OTI4MTIzLmNvbSI+aHR0cHM6Ly9leGFtcGxlLTMyMDg5MjgxMjMuY29tPC9hPgoKCi0tLS0tClRoYW5rIHlvdSwKQml0RGVhbHMuPC9wcmU+CjwvYm9keT4KPC9odG1sPgo=" +} ++
+ -
+
Запрос информации (
+--info) о пользователеmraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC:++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/user/profile" \ + -H "Content-Type: application/json" + -d '{"code":"mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC"}'++
++
Пример ответа:+++++++
+{ + "id": "65380112-e797-4041-8254-0c8878ea36e2", + "userid": "fdbde2fe-d7c4-42d4-a6fd-39c58a17afac", + "created": "2023-03-15T17:03:32.192766+03:00", + "code": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "bitmessages": [ + "BM-2cWUG4jmW9CwKtNYv6nrJFTiNL4f8Ys8Dd" + ], + "module": "mynFyJJkRhsbB6y1Q5kTgDGckVz2m9NKH8", + "btckey": "02128188a04564583a8540bcd584116d7de1d04dbbcc79c8fd5d45e6a1a65c7031", + "pgpkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmI0EaByQKQEEAMfwUb7ErrEBDLkjYNwxFvzqdekC3+gR/GpyKOz55kNX/Cwm6ohS\nkNJGVlTR73pXSrQV0c14Dwzgf+HCBFamx1toOCW72GytX71aom2uXHLy8JOzc7bk\naQ+wLti0ghx+cdwvgRuJV5co2tlTxh87iariasP3Dgas4wtRrNvDcQNNABEBAAG0\nJEFjY291bnRfVVJMIChodHRwOi8vcmFuZG9tLXNpdGUuY29tKYjOBBMBCgA4FiEE\nnvbbPXqkDv91aLC/44t8noXtKDgFAmgckCkCGwMFCwkIBwMFFQoJCAsFFgIDAQAC\nHgECF4AACgkQ44t8noXtKDhovwP/eSVEE4234FPSAbI04DFSwt+TtwTqlFHV4O0d\nIzoGHNrQDB/jROugZtRsYR5mQtKbRuSSZTxZZikoJAufG3GBaq4JbDVsYQWRYl/G\ncxmOlS3u+qzjLCDKnn7VDDer+Ewbj2Cc4feH4eJe5vk7TOlXRAfPjV+Mm1gxTVUg\ncw44f624jQRoHJApAQQAu1u/UED5BYEblglb399KDyWHWRPSgM7yQvQHSUxUG4y9\nvzyDC303Hj238RI3AsYRF61EoriHlwAibf2d5LXwPpQrBuKyAzOPus3AIsVPqerK\naQB9poEpdHFr6qhDBumm1uHDKeFMhMcObI0Spz1Y5vUfJq5bMV3KGoYcxlac5bEA\nEQEAAYi2BBgBCgAgFiEEnvbbPXqkDv91aLC/44t8noXtKDgFAmgckCkCGwwACgkQ\n44t8noXtKDj1uwP+IS11c2N2dGLzpTHdujN1NVrvPxGur3lAxIidG57fGwK76RYm\nCrXws6SHORphBUw8nYzE1k9ZTOaZ4c/cNYYpDv6sxYqbFcco5WB1BnGUqtXUj4eK\n8vtje+VeZ+DOPmjUIEd3lMcTJo9sUXzLUxwiFIk89IGXSieOJ5QL+8M/M38=\n=4NLS\n-----END PGP PUBLIC KEY BLOCK-----", + "urlaccount": [ + "https://testnet.bitdeals.org", + "http://random-site.com" + ], + "urltrusted": [ + "https://testnet.bitdeals.org", + "http://170.75.173.70:4999", + "https://placard.zr-code.com", + "http://testnet-dm.bitdeals.org:4999", + "http://placard.zr-code.com", + "http://testnet-dm.bitdeals.org", + "https://testnet-dm2.bitdeals.org", + "http://testnet-dm2.bitdeals.org", + "http://testnet.bitdeals.org", + "https://testnet-dm.bitdeals.org", + "https://placard.bitdeals.org", + "http://placard.bitdeals.org", + "http://testnet2.bitdeals.org", + "https://testnet2.bitdeals.org", + "http://placard2.bitdeals.org", + "https://placard2.bitdeals.org", + "http://random-site.com" + ], + "seller": { + "count": 11, + "positive": 5 + }, + "customer": { + "count": 604, + "positive": 36 + }, + "state": "2565936d-6798-4035-b30d-9b1d388f40a6", + "statecode": "enabled", + "statelabel": "Open" +}+
+ -
+
Запрос списка отзывов (
+--feedbacks) пользователяmraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC:++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/deal/feedback/list" \ + -H "Content-Type: application/json" \ + -d '{"search":[{"field":"sellercode","compare":"EQL","value":"mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC"}],"orderby":["date DESC"],"reclimit":1000,"recoffset":0}'++
++
Пример ответа:+++++++
+[ + { + "deal": "d63350a1-8483-4c0f-87d2-8a4920f7bdba", + "date": "2025-09-17T11:40:11", + "sum": 0.002, + "seller": "65380112-e797-4041-8254-0c8878ea36e2", + "sellercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "customer": "65380112-e797-4041-8254-0c8878ea36e2", + "customercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "leave_before": "2025-09-17T13:00:00", + "status": null, + "statustext": "none", + "comments": "cancel deal test comment message 3", + "refund": null + }, + { + "deal": "7e82e9c3-0e85-4635-8b53-6da7e541e6e3", + "date": "2025-09-17T11:29:35", + "sum": 0.002, + "seller": "65380112-e797-4041-8254-0c8878ea36e2", + "sellercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "customer": "65380112-e797-4041-8254-0c8878ea36e2", + "customercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "leave_before": "2025-09-17T12:50:01", + "status": -1, + "statustext": "negative", + "comments": "negative comment text for test", + "refund": null + }, + { + "deal": "3f989f08-b5a0-4ceb-80a5-acd18a6559d4", + "date": "2025-09-17T11:28:28", + "sum": 0.002, + "seller": "65380112-e797-4041-8254-0c8878ea36e2", + "sellercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "customer": "65380112-e797-4041-8254-0c8878ea36e2", + "customercode": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "leave_before": "2025-09-17T12:50:01", + "status": 0, + "statustext": "neutral", + "comments": null, + "refund": "50" + } +]+
+
+ -
+
-
+
Примеры вывода команд
+dm-cli account:++
++
dm-cli account status mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp:+++++++
+Hello, mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp! + +Your account status: Open + +----- BITCOIN PUBLIC KEY ----- + +024f226cd37ab7e768de7b68946d661d067ef1d58a183254225a4f91f6ae8918ee + +----- PGP PUBLIC KEY ----- + +pub 1024R/49dfccb97b9074c6 2025-08-04 + +uid Account_URL (https://example-3208928123.com) +sig sig 49dfccb97b9074c6 2025-08-04 + +sub 1024R/4060f9d47d382de2 2025-08-04 +sig sbind 49dfccb97b9074c6 2025-08-04 + +----- ACCOUNT URL LIST ----- + +https://example-3208928123.com + +----- TRUSTED URL LIST ----- + +http://170.75.173.70:4999 +https://placard.zr-code.com +https://testnet.bitdeals.org +http://placard.zr-code.com +http://testnet-dm.bitdeals.org +https://testnet-dm2.bitdeals.org +http://testnet-dm2.bitdeals.org +http://localhost:4999 +http://testnet.bitdeals.org +http://placard.bitdeals.org +https://placard.bitdeals.org +https://testnet-dm.bitdeals.org +https://testnet2.bitdeals.org +http://testnet2.bitdeals.org +https://placard2.bitdeals.org +http://placard2.bitdeals.org +https://example-3208928123.com + + +----- +Thank you, +BitDeals.+++
++
dm-cli account --info mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC:+++++++
+bitcoin: mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC +btckey: 02128188a04564583a8540bcd584116d7de1d04dbbcc79c8fd5d45e6a1a65c7031 +bitmessage: BM-2cWUG4jmW9CwKtNYv6nrJFTiNL4f8Ys8Dd +pgpkey: | + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mI0EaByQKQEEAMfwUb7ErrEBDLkjYNwxFvzqdekC3+gR/GpyKOz55kNX/Cwm6ohS + kNJGVlTR73pXSrQV0c14Dwzgf+HCBFamx1toOCW72GytX71aom2uXHLy8JOzc7bk + aQ+wLti0ghx+cdwvgRuJV5co2tlTxh87iariasP3Dgas4wtRrNvDcQNNABEBAAG0 + JEFjY291bnRfVVJMIChodHRwOi8vcmFuZG9tLXNpdGUuY29tKYjOBBMBCgA4FiEE + nvbbPXqkDv91aLC/44t8noXtKDgFAmgckCkCGwMFCwkIBwMFFQoJCAsFFgIDAQAC + HgECF4AACgkQ44t8noXtKDhovwP/eSVEE4234FPSAbI04DFSwt+TtwTqlFHV4O0d + IzoGHNrQDB/jROugZtRsYR5mQtKbRuSSZTxZZikoJAufG3GBaq4JbDVsYQWRYl/G + cxmOlS3u+qzjLCDKnn7VDDer+Ewbj2Cc4feH4eJe5vk7TOlXRAfPjV+Mm1gxTVUg + cw44f624jQRoHJApAQQAu1u/UED5BYEblglb399KDyWHWRPSgM7yQvQHSUxUG4y9 + vzyDC303Hj238RI3AsYRF61EoriHlwAibf2d5LXwPpQrBuKyAzOPus3AIsVPqerK + aQB9poEpdHFr6qhDBumm1uHDKeFMhMcObI0Spz1Y5vUfJq5bMV3KGoYcxlac5bEA + EQEAAYi2BBgBCgAgFiEEnvbbPXqkDv91aLC/44t8noXtKDgFAmgckCkCGwwACgkQ + 44t8noXtKDj1uwP+IS11c2N2dGLzpTHdujN1NVrvPxGur3lAxIidG57fGwK76RYm + CrXws6SHORphBUw8nYzE1k9ZTOaZ4c/cNYYpDv6sxYqbFcco5WB1BnGUqtXUj4eK + 8vtje+VeZ+DOPmjUIEd3lMcTJo9sUXzLUxwiFIk89IGXSieOJ5QL+8M/M38= + =4NLS + -----END PGP PUBLIC KEY BLOCK-----+++
++
dm-cli account --feedbacks p mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp:+++++++
+- deal: ff5f337f-e0ab-4515-857f-3a0c8530dcd3 + date: '2025-10-05T15:29:23' + statustext: positive + comments: positive comment about the deal +- deal: b7657c83-1502-4a33-8d35-4317a8d5e086 + date: '2025-09-17T10:44:50' + statustext: positive + comments: null +- deal: 1a79222f-401c-4a73-8f3f-3f0184db3fbb + date: '2025-08-04T10:42:36' + statustext: positive + comments: null +- deal: ecc50f4c-4477-4eee-84b7-f8b2ba3755a3 + date: '2025-08-04T08:42:46' + statustext: positive + comments: null +- deal: aa7ff721-8b15-42f4-8de0-a79bdf47fd55 + date: '2025-08-01T08:46:16' + statustext: positive + comments: null +- deal: 34010ce2-6775-474d-8316-3bbcea736d8e + date: '2025-08-01T08:14:23' + statustext: positive + comments: null+++
++
dm-cli account --rating mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC:+++++++
+created: 2023-03-15 +seller: + count: 11 + positive: 5 +customer: + count: 604 + positive: 36+
+
3.3. Изменение учётных данных пользователя
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli account update --help':+++++На английском:
+++++
+Usage: dm-cli account update [options] <bitcoin_address> + + Update user account data. + + To change the account data you should sign the current date and new user data + with your bitcoin private key. For example, current date, new bitmessage, signature: + 2020-01-01 + BM-2cUuxYUFWLCrtpKRMdHCpU1QKEuFtHh7vu + IEF1ysyhu8ps0m5xSJaZZg/5hBylmcWQQggkGO7yNN8iMf/EA2O287kxi58xCDDtxvdsC0TWqylVE5MT5CouamU= + + -d|--date <yyyy-mm-dd> Current date. + -s|--signature <sig> Bitcoin signature. + -p|--pgp <pgp> Set up an armored RSA pgp key. + -u|--url [+/-]<url> Add/remove an url to trusted list. + -b|--bitmessage Change bitmessage address.++На русском:
+++++
+Использование: dm-cli account update [параметры] <биткоин адрес> + + Изменить учётные данные пользователя. + + Для изменения учётных данных вы должны подписать текущую дату и новые данные пользователя + вашим приватным биткоин ключом. Например, текущая дата, новый битмессадж, подпись: + 2020-01-01 + BM-2cUuxYUFWLCrtpKRMdHCpU1QKEuFtHh7vu + IEF1ysyhu8ps0m5xSJaZZg/5hBylmcWQQggkGO7yNN8iMf/EA2O287kxi58xCDDtxvdsC0TWqylVE5MT5CouamU= + + -d|--date <yyyy-mm-dd> Текущая дата. + -s|--signature <sig> Биткоин подпись. + -p|--pgp <pgp> Установить armored RSA pgp ключ. + -u|--url [+/-]<url> Добавить/удалить url в trusted список. + -b|--bitmessage Изменить битмессадж адрес.+
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Добавлиение url в trusted список пользователя
+mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp:++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/client/update" \ + -H "Content-Type: application/json" \ + -d '{ + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "date": "2025-10-21", + "url": [ + "https://testnet-dm2.bitdeals.org" + ], + "sign": "IAGHICUSCxUrcWTMSL9j94vRufb9l5nBckahT+RznlHMPx9LTPpDHsozxVyxkpjtgrhC8eCyJKNaOw8U/v56pL0=" +}'++
++
Пример ответа:+++++++
+{ + "id": "2838be66674f610b06746deb3654a641cf25cc73cb", + "action": "Update", + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "result": { + "success": true, + "message": "Account updated" + }, + "payload": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkJpdERlYWxzIFBheW1lbnQgU2VydmljZSI+CjwvaGVhZD4KPGJvZHk+CjxwcmU+SGVsbG8sIDxiPm1udW1IczlIUU1ydzJRMWlLTE5ueDlOekV4UzduTUxteXA8L2I+IQoKPGZvbnQgY29sb3I9IiMxNDVBMzIiPjxiPkFjY291bnQgdXBkYXRlZDwvYj48L2ZvbnQ+CgpBY3Rpb246IDxiPlVwZGF0ZTwvYj4KCkluIG1lc3NhZ2UgYm9keSBmb3VuZDoKClRoZSBzaWduYXR1cmUgaXMgPGZvbnQgY29sb3I9IiMxNDVBMzIiPjxiPnZhbGlkLjwvYj48L2ZvbnQ+CgpWZXJpZmljYXRpb24gZGF0ZTogPGI+WWVzPC9iPgpCaXRjb2luIHB1YmxpYyBrZXk6IDxiPk5vPC9iPgpQR1AgcHVibGljIGtleTogPGI+Tm88L2I+ClRydXN0ZWQgVVJMIGNvdW50OiA8Yj4xPC9iPgoKLS0tLS0KVGhhbmsgeW91LApCaXREZWFscy48L3ByZT4KPC9ib2R5Pgo8L2h0bWw+Cg==" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli account update:++
++
dm-cli account update -d 2025-10-21 -s "IAGH…pL0=" -u "https://testnet-dm2.bitdeals.org" mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp:+++++++
+success: true +message: Account updated+
+ -
+
Команда должна производить изменение данных пользователя:
+++-
+
-
+
PGP ключа
+
+ -
+
Списка Trusted URL
+
+ -
+
Bitmessage адреса
+
+
+ -
+
3.4. Создание сделки
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli deal create --help':+++++На английском:
+++++
+Usage: dm-cli deal create [options] + + Create a new deal + + [smhd] means seconds, minutes, hours, days. + For example: --leave-before 2020-01-01, or --leave-before 10d. + + -a|--at Deal site + -s|--seller Seller user in deal + -c|--customer Customer user in deal + -t|--type [prepayment|postpayment] + Deal type + -s|--sum Deal sum in BTC + -l|--leave-before { <yyyy-mm-dd> [hh:mm:ss UTC] | <time>[smhd] } + Deal end date (deal duration); default: 14d + -p|--pay { <yyyy-mm-dd> [hh:mm:ss UTC] | <time>[smhd] } + Time for make payment; default: 1d++На русском:
+++++
+Использование: dm-cli deal create [параметры] + + Создать новую сделку + + [smhd] означает секунды, минуты, часы, дни. + Например: --leave-before 2020-01-01, or --leave-before 10d. + + -a|--at Сайт проведения сделки + -s|--seller Продавец в сделке + -c|--customer Покупатель в сделке + -t|--type [prepayment|postpayment] + Тип сделки + -s|--sum Сумма сделки в BTC + -l|--leave-before { <гггг-мм-дд> [чч:мм:сс UTC] | <время>[smhd] } + Время окончания сделки (длительность сделки), по умолчанию: 14d + -p|--pay { <гггг-мм-дд> [чч:мм:сс UTC] | <время>[smhd] } + Время для оплаты сделки; по умолчанию: 1d+
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос создания сделки:
+++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/deal/create" \ + -H "Content-Type: application/json" \ + -d '{ + "at": "https://testnet-dm2.bitdeals.org", + "type": "Prepayment", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC" + }, + "payment": { + "sum": "0.01000000" + } +}'++
++
Пример ответа:+++++++
+{ + "id": "f38bfeeb1ddac852", + "action": "Created", + "address": "mynFyJJkRhsbB6y1Q5kTgDGckVz2m9NKH8", + "deal": { + "order": "Created", + "type": "Prepayment", + "code": "ae6d226b2fe5ce009f252e65fcf66fd079729ac8", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-21 09:08:12 UTC", + "salt": "343c82c2", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "0+, 32%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "0+, 45%" + }, + "payment": { + "address": "2N7gRqGakSZaowyqSHSULaPzp7Fy2KKUQQ7", + "until": "2025-10-22 09:08:12 UTC", + "sum": "0.01 tBTC" + }, + "feedback": { + "leave_before": "2025-11-04 09:08:12 UTC" + } + }, + "result": { + "success": true, + "message": "New deal created" + }, + "payload": "LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEE1MTIKCmRlYWw6CiAgb3JkZXI6IENyZWF0ZQogIHR5cGU6IFByZXBheW1lbnQKICBhdDogaHR0cHM6Ly90ZXN0bmV0LWRtMi5iaXRkZWFscy5vcmcKICBkYXRlOiAyMDI1LTEwLTIxIDA5OjA4OjEyIFVUQwogIHNhbHQ6IDM0M2M4MmMyCiAgc2VsbGVyOgogICAgYWRkcmVzczogbW51bUhzOUhRTXJ3MlExaUtMTm54OU56RXhTN25NTG15cAogICAgcmF0aW5nOiAwKywgMzIlCiAgY3VzdG9tZXI6CiAgICBhZGRyZXNzOiBtcmFYeDdKcm1BbXVLeXBkSjF2c2VRQlh5U3NkUlpFNUFDCiAgICByYXRpbmc6IDArLCA0NSUKICBwYXltZW50OgogICAgYWRkcmVzczogMk43Z1JxR2FrU1phb3d5cVNIU1VMYVB6cDdGeTJLS1VRUTcKICAgIHVudGlsOiAyMDI1LTEwLTIyIDA5OjA4OjEyIFVUQwogICAgc3VtOiAwLjAxIHRCVEMKICBmZWVkYmFjazoKICAgIGxlYXZlLWJlZm9yZTogMjAyNS0xMS0wNCAwOTowODoxMiBVVEMKLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogY2MKCndwd0VBUUVLQUFZRkFtajNUWUFBQ2drUURqa3UwOE9pdDFJR1NnUCtMQWR4aUYrNkpISFpDWHJaNlFHdHhZdTQKeGdGeXJub3FmQ3pxaU0xVlF1MDhsbERtUnZ1aFRMTDBQTUxxUGdXUUYvRTBKckt0T0d1YmRVYlBCaWpKbm04eApiVWJjczRaOEtIcjZOOERhRXdnOU9MQVNYbnpVRGVzMGhCUDJsNEViK1JwWmFRdjhUMUFUeW1aVEt3bjNtbTI5CjZoL0hLQnVHS0hXY1U2MG5nQ2c9Cj1kUXdGCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ==" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli deal create:++
++
Пример вывода команды 'dm-cli deals create -t prepayment -s mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp -c mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC -s 0.01:+++++++
+-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +deal: + order: Confirmed + type: Prepayment + at: https://testnet-dm2.bitdeals.org + date: 2025-10-21 09:08:12 UTC + salt: 343c82c2 + seller: + address: mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp + rating: 600+, 32% + customer: + address: mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC + rating: 600+, 36% + payment: + address: 2N7gRqGakSZaowyqSHSULaPzp7Fy2KKUQQ7 + until: 2025-10-22 09:08:12 UTC + sum: 0.01 tBTC + feedback: + leave-before: 2025-11-04 09:08:12 UTC + status: None +-----BEGIN PGP SIGNATURE----- +Version: cc + +wpwEAQEKAAYFAmj3UBgACgkQDjku08Oit1JLogQA0PofMslTfBrNCKFfdlAgj/8A +03lXiHPRd36PVzaa8lK6tHmdfs0EFrp28InXLswfksXD/0Hj9SBKrDQz1qxwqXqZ +rGC1RiXqRpHxl++3/lx3AguPPX5QydjDEwKSA3lL2pnsnnqe2edqUttJzunz9LYy +mhdbFlS1jaFzO0w25Ww= +=1TmH +-----END PGP SIGNATURE-----+
+ -
+
Команда должна создавать сделку с учётом указанных параметров:
+++-
+
-
+
Место (сайт) проведения сделки [
+deal.at];
+ -
+
Стороны сделки [
+seller,customer];
+ -
+
Тип сделки [
+Prepayment,Postpayment];
+ -
+
Сумма сделки в BTC [
+payment.sum];
+ -
+
Длительность сделки [
+feedback.leave-before];
+ -
+
Время для оплаты сделки [
+payment.until];
+
+ -
+
3.5. Статус сделки
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli deal status --help':+++++На английском:
+++++Usage: dm-cli deal status { <bitcoin_address>|<deal_code> } + + Show a deal data details + + To show a deal details use a bitcoin payment address or a deal code. + + -i|--is-paid Check a deal is Paid. Returns an exit code 0 if deal is Paid, or non-zero otherwise.+++На русском:
+++++Использование: dm-cli deal status { <биткоин адрес>|<код сделки> } + + Показать детали сделки + + Чтобы показать детали сделки используйте адрес оплаты сделки или код сделки. + + -i|--is-paid Проверить является ли сделка оплаченной. Возвращает exit code 0 если сделка является оплаченной, или не ноль в других случаях.++
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос статуса сделки:
+++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/deal/status" \ + -H "Content-Type: application/json" \ + -d '{"address":"3e251d8fdcfa80adf5a3050064fc4ecb01d304d1"}'++
++
Пример ответа:+++++++
+{ + "id": "207022ea5d39ebb2", + "action": "Status", + "deal": { + "order": "Confirmed", + "type": "Prepayment", + "code": "3e251d8fdcfa80adf5a3050064fc4ecb01d304d1", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-21 09:02:11 UTC", + "salt": "fd986961", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "0+, 32%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "0+, 36%" + }, + "payment": { + "address": "2NCBgmt37qw97ujZFjgmPEWuoYweR4BWT9g", + "until": "2025-10-22 09:02:11 UTC", + "sum": "0.01 tBTC" + }, + "feedback": { + "leave_before": "2025-11-04 09:02:11 UTC" + } + }, + "result": { + "success": true, + "message": "Deal status" + }, + "payload": "LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEE1MTIKCmRlYWw6CiAgb3JkZXI6IENvbmZpcm1lZAogIHR5cGU6IFByZXBheW1lbnQKICBhdDogaHR0cHM6Ly90ZXN0bmV0LWRtMi5iaXRkZWFscy5vcmcKICBkYXRlOiAyMDI1LTEwLTIxIDA5OjAyOjExIFVUQwogIHNhbHQ6IGZkOTg2OTYxCiAgc2VsbGVyOgogICAgYWRkcmVzczogbW51bUhzOUhRTXJ3MlExaUtMTm54OU56RXhTN25NTG15cAogICAgcmF0aW5nOiA2MDArLCAzMiUKICBjdXN0b21lcjoKICAgIGFkZHJlc3M6IG1yYVh4N0pybUFtdUt5cGRKMXZzZVFCWHlTc2RSWkU1QUMKICAgIHJhdGluZzogNjAwKywgMzYlCiAgcGF5bWVudDoKICAgIGFkZHJlc3M6IDJOQ0JnbXQzN3F3OTd1alpGamdtUEVXdW9Zd2VSNEJXVDlnCiAgICB1bnRpbDogMjAyNS0xMC0yMiAwOTowMjoxMSBVVEMKICAgIHN1bTogMC4wMSB0QlRDCiAgZmVlZGJhY2s6CiAgICBsZWF2ZS1iZWZvcmU6IDIwMjUtMTEtMDQgMDk6MDI6MTEgVVRDCiAgICBzdGF0dXM6IE5vbmUKLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogY2MKCndwd0VBUUVLQUFZRkFtajNZc0VBQ2drUURqa3UwOE9pdDFLWHpnUC9jd2YrcXI2NGFnSnFrdDBNd2orTzlhb0EKYXE4QndlQXdjc1B0ZEgzMGlhZGZ0c3RidlpmN3Rsc1ppVUxJbHhaTnBRR0VEdUp4czROcVdHTnhwaFlIQ2ZuMAp1T1VRRkZVeTJubmVEUElGSFJhM2I2TFMzQXd3ZGxkWjI1K1ozUmozOU5rQ3BCeGJEMWxWRGJQNWtoOEtwQlVwClNPMnNLRWZIT2hhOXBieHNvWU09Cj1SSUZOCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ==" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli deal status:++
++
Пример вывода команды dm-cli deal status 2N7gRqGakSZaowyqSHSULaPzp7Fy2KKUQQ7:+++++++
+-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +deal: + order: Create + type: Prepayment + at: https://testnet-dm2.bitdeals.org + date: 2025-10-21 09:08:12 UTC + salt: 343c82c2 + seller: + address: mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp + rating: 0+, 32% + customer: + address: mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC + rating: 0+, 45% + payment: + address: 2N7gRqGakSZaowyqSHSULaPzp7Fy2KKUQQ7 + until: 2025-10-22 09:08:12 UTC + sum: 0.01 tBTC + feedback: + leave-before: 2025-11-04 09:08:12 UTC +-----BEGIN PGP SIGNATURE----- +Version: cc + +wpwEAQEKAAYFAmj3TYAACgkQDjku08Oit1IGSgP+LAdxiF+6JHHZCXrZ6QGtxYu4 +xgFyrnoqfCzqiM1VQu08llDmRvuhTLL0PMLqPgWQF/E0JrKtOGubdUbPBijJnm8x +bUbcs4Z8KHr6N8DaEwg9OLASXnzUDes0hBP2l4Eb+RpZaQv8T1ATymZTKwn3mm29 +6h/HKBuGKHWcU60ngCg= +=dQwF +-----END PGP SIGNATURE-----+
+ -
+
Проверка
+--is-paidдолжна проверять состояние оплаты сделки на основе полученного текста деталей сделки. Дляorder: Paid,order: Completed,order: Executed- сделка оплачена, соответсвенно, exit code команды должен быть равен 0.
+
3.6. Завершение сделки
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli deal complete --help':+++++На английском:
+++++Usage: dm-cli deal complete [options] { <bitcoin_address>|<deal_code> } + + Complete a deal + + -p|--positive Complete deal with positive feedback. (default action) + -r|--refund <num> Refund % number of a deal sum to the customer. Format: 100.00[%]+++На русском:
+++++Использование: dm-cli deal complete [параметры] { <биткоин адес>|<код сделки> } + + Завершить сделку + + -p|--positive Завершить сделку с позитивным отзывом. (действие по умолчанию) + -r|--refund <num> Возврат % от суммы сделки покупателю. Формат: 100.00[%]++
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос завершения сделки:
+++++
+curl -X POST "https://testnet-dm2.bitdeals.org/api/v1/deal/complete" \ + -H "Content-Type: application/json" \ + -d '{ + "order": "Paid", + "type": "Postpayment", + "code": "d87cc05dd42bf4fb6cc5d231388a254de94b787a", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-21 11:36:26 UTC", + "salt": "8f489443", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "600+, 32%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "600+, 36%" + }, + "payment": { + "address": "2Mvh1UozwwUwuFcmeCqQm7UEKAxnV4ANhAS", + "until": "2025-10-22 11:36:26 UTC", + "sum": "0.01 tBTC" + }, + "feedback": { + "leave_before": "2025-11-04 11:36:26 UTC", + "status": "Neutral", + "refund": 45 + } +}'++
++
Пример ответа:+++++++
+{ + "id": "f1c94f5a62e005b4", + "action": "Complete", + "deal": { + "order": "Complete", + "type": "Postpayment", + "code": "d87cc05dd42bf4fb6cc5d231388a254de94b787a", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-21 11:36:26 UTC", + "salt": "8f489443", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "0+, 32%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "0+, 36%" + }, + "payment": { + "address": "2Mvh1UozwwUwuFcmeCqQm7UEKAxnV4ANhAS", + "until": "2025-10-22 11:36:26 UTC", + "sum": "0.01 tBTC" + }, + "feedback": { + "leave_before": "2025-11-04 11:36:26 UTC", + "status": "Neutral" + } + }, + "result": { + "success": true, + "message": "Completion command accepted" + }, + "payload": "CgotLS0tLSBSRVBPUlQgLS0tLS0KClBHUCBzaWduYXR1cmU6IDxmb250IGNvbG9yPSIjMTQ1QTMyIj48Yj52YWxpZC4KPC9iPjwvZm9udD5Nb2R1bGU6IG15bkZ5SkprUmhzYkI2eTFRNWtUZ0RHY2tWejJtOU5LSDgKCkZlZTogMSU=" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli deal complete:++
++
Пример вывода команды dm-cli deal complete -r 45 2Mvh1UozwwUwuFcmeCqQm7UEKAxnV4ANhAS:+++++++
+success: true +message: Completion command accepted+
+
3.7. Отмена сделки
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli deal cancel --help':+++++На английском:
+++++Usage: dm-cli deal cancel [options] <bitcoin_address> + + Cancel a deal + + To cancel a deal you should sign the deal payment address and feeback text message + with the seller bitcoin private key. For example, address, feedback, signature: + 2NEVoXnRgUeb3j17s7pP6DoFHBVHMb94gF5 + seller random cancel reason text + IEOGJ5q/a2cWJPMosQmCHNN6RsXF8Xy/UgaazIoY2i5udbw/v38g1/PdWs451dvFr9Iq/Bq5YL2YdpUFTuijQ60= + + -m|--message <text> Deal cancel reason text message + -s|--signature <sig> Bitcoin signature.
+++На русском:
+++++Использование: dm-cli deal cancel [параметры] <биткоин адрес> + + Отменить сделку + + Для отмены сделки вы должны подписать адрес оплаты сделки и текст отзыва биткоин + ключом продавца. Например, адрес, отзыв, подпись: + 2NEVoXnRgUeb3j17s7pP6DoFHBVHMb94gF5 + seller random cancel reason text + IEOGJ5q/a2cWJPMosQmCHNN6RsXF8Xy/UgaazIoY2i5udbw/v38g1/PdWs451dvFr9Iq/Bq5YL2YdpUFTuijQ60= + + -m|--message <text> Текст сообщения с причино отмены сделки + -s|--signature <sig> Биткоин подпись.
++
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос завершения сделки:
+++++
+curl --location 'https://testnet-dm.bitdeals.org/api/v1/deal/cancel?server=https%3A%2F%2Ftestnet.bitdeals.org' \ +--header 'Content-Type: application/json' \ +--data '{ + "type": "Postpayment", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-26 10:14:57 UTC", + "salt": "1e8601eb", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "signature": "H2zwEgbCKviTyKKRsQ6AlCVq51rgwkz3OMBAdfQTlJN6NFlqGsxdxmAk7EMb0AWgr9z0cqRoZL7VdEscB/M0lB8=" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC" + }, + "payment": { + "address": "2NDkN9PWdvf8T3AFe57vDsQX9qeJG5Y5iJW", + "until": "2025-10-27 10:14:57 UTC", + "sum": "0.002 tBTC" + }, + "feedback": { + "leave-before": "2025-11-09 10:14:57 UTC", + "comments": "cancel_test2" + } +}'++
++
Пример ответа:+++++++
+{ + "id": "2c26dd8dba7f0a73", + "action": "Cancelled", + "address": "mynFyJJkRhsbB6y1Q5kTgDGckVz2m9NKH8", + "deal": { + "order": "Cancelled", + "type": "Postpayment", + "code": "5a37041f1be8111d0379c47b1a92aff59075014c", + "at": "https://testnet-dm2. bitdeals.org", + "date": "2025-10-26 10:14:57 UTC", + "salt": "1e8601eb", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "0, 0%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "0, 0%" + }, + "payment": { + "address": "2NDkN9PWdvf8T3AFe57vDsQX9qeJG5Y5iJW", + "until": "2025-10-27 10:14:57 UTC", + "sum": "0.002 tBTC" + }, + "feedback": { + "leave_before": "2025-11-09 10:14:57 UTC", + "status": "Positive", + "comments": "cancel_test2" + } + }, + "result": { + "success": true, + "message": "Deal cancelled" + }, + "payload": "CgotLS0tLSBSRVBPUlQgLS0tLS0KClBHUCBzaWduYXR1cmU6IDxmb250IGNvbG9yPSIjMTQ1QTMyIj48Yj52YWxpZC4KPC9iPjwvZm9udD5Nb2R1bGU6IG15bkZ5SkprUmhzYkI2eTFRNWtUZ0RHY2tWejJtOU5LSDgKCkZlZTogMSU=" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli deal cancel:++
++
Пример вывода команды dm-cli deal cancel -m "Cancellation comments" -s "CgoL…MSU=" 2Mt7UW5RqXUaEN7Y93jo67ZgixcLNPDgvvk:+++++++
+success: true +message: Deal cancelled+
+
3.8. Оставление негативного отзыва
+-
+
-
+
Запрос должен происходить в соответствии с синтаксисом:
+++
++
Пример сообщения 'dm-cli deal negative --help':+++++На английском:
+++++Usage: dm-cli deal negative [options] <bitcoin_address> + + Leave a negative feedback + + To leave a negative feedback you should sign the deal payment address and feeback text message + with the customer bitcoin private key. For example, address, feedback, signature: + 2NEVoXnRgUeb3j17s7pP6DoFHBVHMb94gF5 + customer random feedback text + H1u44C5cyEeKjHqnNnn09B8mIRMdqgR8PD9AeF8mv+cCEqM9HPkcWLrc8a/v2po2YmXJSeya6uy0XaLnmmmO/1o= + + -m|--message <text> Deal feedback text message + -s|--signature <sig> Bitcoin signature.
+++На русском:
+++++Использование: dm-cli deal negative [options] <биткоин адрес> + + Оставить негативный отзыв + + Для оставления негативного отзыва ва должны подписать адрес оплаты сделки и текст отзыва биткоин + ключом покупателя. Например, адрес, отзыв, подпись: + 2NEVoXnRgUeb3j17s7pP6DoFHBVHMb94gF5 + customer random feedback text + H1u44C5cyEeKjHqnNnn09B8mIRMdqgR8PD9AeF8mv+cCEqM9HPkcWLrc8a/v2po2YmXJSeya6uy0XaLnmmmO/1o= + + -m|--message <text> Текст сообщения отзыва + -s|--signature <sig> Биткоин подпись.
++
+ -
+
Примеры входных и выходных данных.
+++-
+
-
+
Запрос завершения сделки:
+++++
+curl --location 'https://testnet-dm2.bitdeals.org/api/v1/deal/feedback?server=https%3A%2F%2Ftestnet.bitdeals.org' \ +--header 'Content-Type: application/json' \ +--data '{ + "order": "feedback", + "type": "Postpayment", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-25 13:09:18 UTC", + "salt": "5002a940", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "signature": "IDIhQFOpXH6emO1SM9jIBF85JHianacR6qMwy4VNhHMWOUzvqHsWg0lvN3mQJMMl9/tl37Aa97kRZHr7BIS1sH4=" + }, + "payment": { + "address": "2NB9KhkYhu1d5aGJBUhnUnryJsGpreWMbaY", + "until": "2025-10-26 13:09:18 UTC", + "sum": "0.002 tBTC" + }, + "feedback": { + "leave-before": "2025-11-08 13:09:18 UTC", + "comments": "Negative." + } +}'++
++
Пример ответа:+++++++
+{ + "id": "507eed6345dc9535", + "action": "Complete", + "address": "mynFyJJkRhsbB6y1Q5kTgDGckVz2m9NKH8", + "deal": { + "order": "Complete", + "type": "Postpayment", + "code": "da26324b7ac1aecb36343d3004efb6c5b774eaa8", + "at": "https://testnet-dm2.bitdeals.org", + "date": "2025-10-25 13:09:18 UTC", + "salt": "5002a940", + "seller": { + "address": "mnumHs9HQMrw2Q1iKLNnx9NzExS7nMLmyp", + "rating": "0, 0%" + }, + "customer": { + "address": "mraXx7JrmAmuKypdJ1vseQBXySsdRZE5AC", + "rating": "0, 0%" + }, + "payment": { + "address": "2NB9KhkYhu1d5aGJBUhnUnryJsGpreWMbaY", + "until": "2025-10-26 13:09:18 UTC", + "sum": "0.002 tBTC" + }, + "feedback": { + "leave_before": "2025-11-08 13:09:18 UTC", + "status": "Negative", + "comments": "Negative." + } + }, + "result": { + "success": true, + "message": "Completion command accepted" + }, + "payload": "CgotLS0tLSBSRVBPUlQgLS0tLS0KClBHUCBzaWduYXR1cmU6IDxmb250IGNvbG9yPSIjMTQ1QTMyIj48Yj52YWxpZC4KPC9iPjwvZm9udD5Nb2R1bGU6IG15bkZ5SkprUmhzYkI2eTFRNWtUZ0RHY2tWejJtOU5LSDgKCkZlZTogMSU=" +}+
+
+ -
+
-
+
Пример вывода команды
+dm-cli deal negative:++
++
Пример вывода команды dm-cli deal negative:+++++++
+success: true +message: Completion command accepted+
+ -
+
В результате исполнения команды, указанная сделка должна получить негативный отзыв (status: Negative).
+
+