Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
555 ₽

адаптация одного api под другое на python

project expired


есть api данной биржи реализованное на питоне:

https://yobit.net/ru/api/ (здесь интересует только раздел):

------------------

Trade API

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

------------------


Нужна аналогичная состыковка под api также на питоне (с подробными комментариями по коду где требуется ясность) (есть готовый но не состыкованный вариант по ссылке ниже (гугл диск))

https://www.livecoin.net/api/userdata (интересует так же реализация. раздел только тот что по ссылке)


даю реализацию api https://yobit.net/ru/api/

на питоне как образец (гугл диск)

и вариант для второй бирже также на питоне (гугл диск)

реализованный но не подогнанный под первый.


Интеграция реализованного api с некоторыми функциями программы.  (примеры на гугл диск)

т.е. заменяем и обрабатываем варианты ответа с сервера. и поведение программы при них

Каков ответ был в первом случае (первая биржа) как его совместить с ответом со второй биржи не нарушив логику


-------------------------

По ссылке набор материалов для адаптации

https://drive.google.com/drive/folders/1fnl86fhU5-Tz7NSkIeGVIh97PF1yQnZX?usp=sharing


Ориентировочный объем работы:

----------------------------

Ознакомившись с апи бирж думаю работы на несколько часов.

Ну и оточить состыковки не нарушив логику.  За день точно реализуемо.

----------------------------

Цена ставки не конечная может меняться в зависимости от подхода к реализации. (Все оговариваемо)

К примеру не только состыкуете но и улучшите код не нарушив логику. 




Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.

  1. 5 days2000 ₴
    Максим Могильников
     154 

    Здравствуйте ,команда Neta Agency с удовольствием возьмется за вашу работу ,отпишите нам в личные сообщения ,мы вышлем вам портфолио и уже разузнаем о деталях.
    Соц.сети
    vk.com/netage

    Russia Ufa | 9 April 2018 |
  • Время, требуемое на ознакомление с API готовы оплачивать? Потому что, если потратить на изучение иностранного языка несколько лет, перевод фразы "мама мыла раму" займёт всего пару секунд. Но, в данном случае, этот "язык" почти наверняка больше никогда не понадобится, поэтому эти "несколько лет" должны быть оплачены. Иначе почему бы Вам заодно не изучить Python, ведь тогда самостоятельная реализация займёт "всего несколько часов".

  • Gavr Rechkunov — project author
    Complain | 9 April 2018 |

    Андрей, Добрый день!

     для начала я оговорил что сумма оговариваемая.

    т.е. Готов увидеть вашу цену а затем решить стоит ли это того или нет.

    Я не писал что такое стоит столько то и столько то.





    любое ТЗ требует ознакомления изучения.

    в данном случае не нужно реализовывать какую либо логику. 

    адаптация апи и является заданием т.е. ТЗ

    почему с ним не надо ознакамливаться?

    и апи биржи это не язык а набор из 4 запросов. 

    для этого точно не нужно несколько лет.  


    Думаю вы не поняли суть  задания 

    И ваши замечания не совсем уместны.

    Хорошего дня вам Андрей. 


  • Gavr Rechkunov — project author
    Complain | 9 April 2018 |

    Еще раз : 

    ради такого я вышлю еще раз образец того что есть в первом апи.

    ---------------

    def yo_query(method, values):
        global depth_timeout,n_array,nonce0,nonce1
       
       
        md_public = ['info', 'ticker', 'depth', 'trades']

        if method in md_public:
            url = 'https://yobit.net/api/3/' + method
            for k in values:
                if (k == 'currency') and (values[k] != ''):
                    url += '/' + values[k]
            for k in values:
                if (k != 'currency') and (values[k] != ''):
                    url += '?' + k + '=' + values[k]

            req = requests.get(url, timeout=depth_timeout)
            return json.loads(req.text)

        else:
            n_array.append(len(n_array)+nonce0)
            url = 'https://yobit.net/tapi'
            values['method'] = method
            nonce1 = int(time.time())
            print(" | time = ",nonce1,"| time - nonce = ", nonce1- (len(n_array)+nonce0)," | nonce = " ,str(len(n_array)+nonce0))
            values['nonce'] = str(len(n_array)+nonce0)
            body = urlencode(values)
            signature = hmac.new(client_secret, body.encode('utf-8'), hashlib.sha512).hexdigest()
            headers = {
                'Content-Type': 'application/x-www-form-urlencoded',
                'Key': client_key,
                'Sign': signature
            }

            try:
                req = requests.post(url, data=values, headers=headers, timeout=depth_timeout)
            except:
                req = 1
            try:
                req = json.loads(req.text)
            except:
                req = [{'success': 0}]
                req = req[0]
           
            return req
            return json.loads(req.text)
    -------------------

    # getInfo
    def getfunds():
        return yo_query('getInfo', {})


    # Trade
    def trade(pair, ttype, rate, amount):
        return yo_query('Trade', {'pair': pair, 'type': ttype, 'rate': format(rate, '.8f'), 'amount': format(amount, '.8f')})


    # ActiveOrders
    def getactiveorders(pair):
        return yo_query('ActiveOrders', {'pair': pair})


    # OrderInfo
    def getorderinfo(order_id):
        return yo_query('OrderInfo', {'order_id': order_id})


    # CancelOrder
    def getcancelorder(order_id):
        return yo_query('CancelOrder', {'order_id': order_id})

    ------------------

    Чтобы написать такое но под другое апи точно не потребуется "несколько лет".


    заметьте в коде менее 100 строк. (убрать комментарии и того меньше.)