ApiProxy

Mytarget

Общее

Этот engine предоставляет доступ к статистике сервиса Mytarget Документация API Как авторизоваться в API

payload

“version” - текущая версия API внешней системы. Например v2. “refresh_token” - рефреш токен клиента Mytarget.

“method” - Часть урла из документации между <версия>/ и .json Например если в документации указан урл /api/v2/ok/lead_ads/forms.json то “method” = ok/lead_ads/forms

“method_params” - Параметры для передачи в Mytarget. Если вы получаете ошибку валидации “bad json”, то параметры необходимо передать через json_params “json_params” - Дублирует method_params, но по другому передается в Mytarget.

Примечания:

  1. Чтобы сделать post-запрос, в method_params установите ключ “request_method”: “post”
  2. Чтобы получить токены клиента агентсва необходимо указать метод “agency_client_credentials”, в method_params необоходимо передать имя клиента агентсва как “agency_client_name”

Примеры

Пример

Создание аккаунта клиента агентсва.

from metasdk import MetaApp

API_PROXY_HOST = "http://localhost:9998"

META = MetaApp(
    api_proxy_url=API_PROXY_HOST
)

method_params = {"request_method": "post"}
json_params = {"access_type": "readonly",
               "user": {
                   "additional_emails": None,
                   "additional_info": {"name": "name",
                                       "phone": "phone",
                                       "address": "address",
                                       "client_name": "client_name",
                                       "client_info": "client_info"}
               }}

resp = META.ApiProxyService.call_proxy(engine="mytarget",
                                       payload={"refresh_token": refresh_token, # Токен должен быть с правами на создание аккаунтов
                                                "method": 'agency/clients',
                                                "version": "v2",
                                                "method_params": method_params,
                                                "json_params": json_params},
                                       method="native_call",
                                       analyze_json_error_param=False,
                                       retry_request_substr_variants=[]).json()