Программа для считывания и отправки JSON запросов и получения и записи ответов в текстовый файл

2019.02.09 Скрипты Интеграция

Техническое задание

Создать программу, которая подключившись к серверу binary.com (авторизация с использованием ключа API, при потере соединения - автоматическое переподключение) будет "слушать" директорию "Files" (путь к директории указывается в настройках программы config) и при создании программой МТ5 (это я сделаю сам) в ней нового текстового файла "send.txt" с запросом на JSON, эта программа будет забирать из данного файла и транслировать этот запрос на binary.com, после чего удалит файл с запросом. Далее, полученный ответ от сервера перезаписывать (прежний ответ надо стереть) в другой текстовый файл "receive.txt" в этой же директории и снова "слушать" директорию на появление нового файла с запросом. Подобный функционал имеется в программе (во вложении), но она ограничена запросами. Также, у binary.com уже есть открытый сервис API playground (https://developers.binary.com/api/), где, после авторизации, можно свободно формировать данные запросы на JSON и получать необходимые данные, но только в браузере.

Вот пример запроса в текстовом файле "send.txt" в директории "Files": 

{

  "portfolio": 1

}


Вот пример полученного ответа, который надо перезаписать (прежний ответ стереть) в другой файл "receive.txt в этой же директории:

{

  "echo_req": {

    "portfolio": 1

  },

  "msg_type": "portfolio",

  "portfolio": {

    "contracts": [

      {

        "app_id": 1169,

        "buy_price": 1,

        "contract_id": 40201691528,

        "contract_type": "EXPIRYRANGE",

        "currency": "USD",

        "date_start": 1549676987,

        "expiry_time": 1549691387,

        "longcode": "Win payout if Volatility 10 Index ends strictly between entry spot minus 12.259 to entry spot plus 12.259 at 4 hours after contract start time.",

        "payout": 1.89,

        "purchase_time": 1549676987,

        "shortcode": "EXPIRYRANGE_R_10_1.89_1549676987_1549691387_S12259P_S-12259P",

        "symbol": "R_10",

        "transaction_id": 80340663108

      }

    ]

  }

}

Откликнулись

1
Разработчик 1
2019.02.09
Оценка
4.44
(34)
Проекты
118
29%
Арбитраж
59
14% / 51%
Просрочено
64
54%
Работает
2
Разработчик 2
2019.02.09
Оценка
4.93
(255)
Проекты
513
39%
Арбитраж
30
17% / 67%
Просрочено
142
28%
Работает
3
Разработчик 3
2019.02.09
Оценка
3.5
(8)
Проекты
9
11%
Арбитраж
13
0% / 85%
Просрочено
4
44%
Свободен
4
Разработчик 4
2019.02.09
Оценка
4.75
(75)
Проекты
130
43%
Арбитраж
10
20% / 70%
Просрочено
49
38%
Свободен
5
Разработчик 5
2019.02.12
Оценка
4.89
(36)
Проекты
63
37%
Арбитраж
6
33% / 0%
Просрочено
12
19%
Занят
6
Разработчик 6
2019.02.12
Оценка
5
(2)
Проекты
2
50%
Арбитраж
0
Просрочено
0
Работает

Информация о проекте

Бюджет
45+ USD

Заказчик

Размещено заказов2
Количество арбитражей0