ApiProxy

Adriver

Общее

Этот engine предоставляет доступ к статистике сервиса Adriver Документация

payload

“method” - запрос который будет использоваться. По факту представляет собой часть строки в урле которая идет после адреса и до “?” включительно.
“method_params” - Параметры которые передаются, в урле всё что после “?”. Тип данных словарь.

Примеры

Пример 1

Получение статистики за период c авторизацией


    import json
    import requests
    import xml.etree.ElementTree as ET
    
    from metasdk import MetaApp
    
    API_HOST = "http://localhost:9998"
    META = MetaApp()
    log = META.log
    
    USER = "MazdaDealersMS"
    PASSWORD = "test"
    
    nsmap = {
            "at": "http://www.w3.org/2005/Atom",
            "adr": "http://adriver.ru/ns/restapi/atom"
        }
    
    to_proxy = json.dumps({
        "engine": "adriver",
        "payload": {
            "user": USER,
            "password": PASSWORD,
            "method": "/login",
            "method_params": {}
        }
    })
    
    res = requests.post(API_HOST + "/native_call", to_proxy)
    
    print(res.json())
    
    res = res.json()["result"]
    
    xml_root = ET.fromstring(res)
    
    adriver_user_id = xml_root.find("adr:userId", namespaces=nsmap).text
    adriver_token = xml_root.find("adr:token", namespaces=nsmap).text
    
    print(adriver_user_id)
    print(adriver_token)
    
    to_proxy = json.dumps({
        "engine": "adriver",
        "payload": {
            "user_id": adriver_user_id,
            "auth_token": adriver_token,
            "method": "/monitoring/traffic_period",
            "method_params": {"start_date": "2019-01-14",
                            "stop_date": "2019-01-14",
                            "granularity": "daily"}
        }
    })
    
    res = requests.post(API_HOST + "/native_call", to_proxy)
    
    print(res.json())