← Zurück

Важно! Код UUID для подключения коннектора к API OEC!

Наверняка многие из тех кто захочет подключится в первый раз удидят ошибку - Software not permitted. ("Для данного ПО соединение не разрешено") Пишу путь решения этой проблемы, без этого коннектор не подключается к тестовому серверу для разработчиков api.openecry.com. У API OEC есть такая особенность - каждое приложение при подключении к нему должно сообщать свой UUID код, иначе выдается ошибка - Software not permitted. Даже если вы зарегистрировались в OEC как разработчик и получили логин и пароль - код UUID вам нужно получать отдельно, специальным запросом в службу поддержки по адресу tickets_support@openecry.com, где на английском надо сообщить свой логин и попросить прислать вам номер UUID. По получении необходимо залезть в исходник коннектора и либо исправить там в файле OECTrader.cs строку private const string _oecUuid ="ваш код", либо пойти дальше и сделать его одним из публичных свойств класса OECTrader и прописать уже потом в своей программе (видимо разработчик коннектора был не в курсе и не вывел наружу это нужное свойство. Последнюю версию коннектора на кодеплексе я так и не нашел, может уже исправили, если нет, то оччень желательно это сделать). После всех вышеописанных действий доступ должен заработать.

Еще сейчас дописал к коннектору функцию получения свечек по инструментам, сейчас в режиме тестирования, как закончу - если еще актуально будет, то выложу обязательно.

Kommentare (6)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Sergey Sokolov
Sergey Sokolov

Разработчик был в курсе. Просто предполагалось, что для коннектора в целом будет выделен специальный UUID и пользователям коннектора об этом беспокоиться не придется. Насколько мне известно, Михаил Сухов вел переговоры с OEC о выделении UUID для коннектора, но на момент завершения разработки UUID еще не было. Так что было бы замечательно, если бы Михаил прокомментировал. С другой стороны, если исходники доступны многим разработчикам роботов, и каждый из этих разработчиков имеет возможность менять коннектор как ему вздумается, то быть может правильнее будет сделать как вы предлагаете, т.е. вывести UUID в отдельное свойство.

Sergey Masyura
Maksim Chertkov
Maksim Chertkov Autor

Так насколько я понял номер выдаваемый для тестирования привязывается к логину, вот что мне написали из поддержки: The UUID for your custom platform is a66c6527-89cf-4637-8ac2-xxxxxxx. This can be used in our test environment located at api.openecry.com port 9200 and can be with the following login(s): MChertkov603. If other logins need enabled, let me know. Таким образом каждому тестеру придется либо просить кого-то присоединить логин к своему UUID, либо просить свой. Дело осложняется еще и тем, что срок действия у этих логинов и UUID порядка месяца - и если выделять один UUID, то придется постоянно просить продлять срок действия записи, но вряд ли они будут долго поощрять такую халяву. Именно поэтому я и предложил вывести это свойство наружу, чтобы перед коннектом программер мог задавать свой тестовый UUID из бота, а не лазить в нутро коннектора и исходники будут для этого как раз-таки всем без надобности. И исходники доступны пока, насколько я понял, тем, кто изначально этот коннектор заказывал, а не каждому разработчику. А без исходника я, честно говоря, не знаю как сейчас можно им воспользоваться.

Sergey Sokolov
Sergey Sokolov

UUID МОЖЕТ быть привязан к логину. Но это не значит, что он обязательно должен быть привязан. Вообще, UUID - это идентификатор приложения, как ясно написано вот тут: http://www.openecry.com/api/api/OEC.API.OECClient.UUID.html Иначе он был бы просто лишен смысла. Зачем придумывать какойто UUID если уже есть логин?

Maksim Chertkov
Maksim Chertkov Autor

Я написал только то через что мне пришлось пройти чтоб заставить этот коннектор нормально соединятся, чтоб другим не пришлось биться головой о ту же стенку. И сразу в топике оговорился что может быть все уже исправили, просто я не в курсе, как и насчет того что все оказывается все знали, но ни полслова не сказали ни в описании, ни на форуме по этому поводу.

TradeInWest
TradeInWest

Maksim Chertkov: Я написал только то через что мне пришлось пройти чтоб заставить этот коннектор нормально соединятся, чтоб другим не пришлось биться головой о ту же стенку. И сразу в топике оговорился что может быть все уже исправили, просто я не в курсе, как и насчет того что все оказывается все знали, но ни полслова не сказали ни в описании, ни на форуме по этому поводу.

Максим, в общем смысле UUID конечно же может быть привязан именно к приложению.

По сути он нужен для возможности подключения к одному логину из разных приложений. Если разделения по UUID не будет, то предыдущий коннект будет выбиваться.

Maksim Chertkov
Maksim Chertkov Autor

Еще добавление насчет UUID - он нужен только для сервера разработчиков api.openecry.com, к серверу демо sim.openecry.com и к серверу реальной торговли prod.openecry.com софт замечательно коннектицца с пустым полем UUID.