# Admin API

business   Keitaro Admin API — интерфейс, который позволяет путем входящих запросов осуществлять управление админ-панелью трекера Keitaro. То есть не заходя в админку трекера, вы можете, например, создать кампанию с необходимыми настройками, поменять содержимое потока или сформировать отчет по конверсиям, будь то серверный скрипт или внешнее приложение по типу Postman.

# Методы Admin API

Список методов и примеров запросов смотрите здесь.

# Использование Admin API

Панель управления Keitaro проводит все запросы через Admin API, что позволяет исследовать запросы и ответы между UI и сервером. Например, если вам необходимо запрашивать отчет по Admin API, создайте его сначала в UI и просто скопируйте Payload.

  1. Откройте Chrome, затем View → Developer → Developer tools.
  2. Переключитесь на to Network, добавьте фильтр Fetch/XHR.
  3. Выберите запрос слева и переключите справа на Payload.

TIP

Некоторые запросы идут через адреса ?batch и ?bulk. Keitaro иногда отправляет запросы пакетно для повышения скорости.

Видео

Пример запроса:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/admin_api/v1/campaigns');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Api-Key: your-api-key'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
1
2
3
4
5

Строку your-api-key необходимо заменить на действующий API ключ.

# Создание запроса Admin Api

Для того, чтобы осуществить этот самый запрос и он был валидный, нужно:

  1. Использовать ключ авторизации (ключ, который не даст получить информацию сторонним юзерам).

  2. Использовать правильный тип запроса

  3. Задать обязательные параметры (нужны при запросах на создание сущностей, например, создание кампании).

Ключ аутентификации вы можете взять в трекере, в меню Обслуживание — Пользователи — Ключ для Admin API.

Типа запроса, то при работе с Admin API Keitaro используется следующий набор:

GET — для получения информации, например, списка кампаний трекера:

https://keitarosupport1.xyz/admin_api/v1/campaigns

POST — для построения отчетов, а также создания чего-либо, например, новой кампании в трекере:

https://keitarosupport1.xyz/admin_api/v1/campaigns

Обратите внимание, что адрес запроса внешне выглядит одинаково: в обоих случаях мы обращаемся на «точку входа трекера», которая содержит в себе:

  • Адрес трекера — keitarosupport1.xyz
  • Далее указывает на раздел  Admin API — admin_api/v1/
  • Конкретный подраздел трекера, кампании — campaigns.

PUT — для обновления имеющихся данных в трекере

DELETE — для удаления данных в трекере.

Также нам понадобится список required параметров запроса.

Обратитесь в нашу документацию

Найдите тип запроса, который хотите осуществить, и там же будет список обязательных параметров. Список необходимых параметров для создания кампании в трекере включает в себя: alias и name.

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

# Swagger документация

Это интерфейс, который совмещает в себе нашу документацию Admin API и возможность отправлять реальные запросы на трекер. Для начала работы здесь нужно открыть Обслуживание — Пользователи — Ключи для Admin API, копируем свой ключ и нажимаем на вкладку Документация. Вас перебросит в интерактивный режим, где можно работать с запросами.

В первую очередь здесь нужно авторизироваться:

Выбрать нужный раздел, например, создание кампании:

Нажать Try it out. Это даст нам возможность редактировать наше тело (body) запроса, которое отправится при нажатии кнопки Execute. Внутри этого body мы задаем наши required параметры name и alias и все дополнительные, которые хотим указать при создании кампании.

Нажимаем Execute и видим наш отправленный запрос, адрес запроса и ответ от трекера:

Если запрос произошел с ошибкой, то вы увидите другой статус ответа, и в поле Response body будет описание ошибки.

Если вы обладаете базовыми навыками работы с запросам - можете попробовать работать с Admin API из стороннего приложения, например, Postman. Или попробовать написать свой серверный скрипт, в котором будет отправляться запрос на Admin API.

# Поддержка других языков

Swagger-codegen сможете сгенерировать код на любом языке, который вы сможете встроить в свой сервис.

Пример:

Сгенерирует golang файлы в директорию 'output/'.

Доступные языки:

$ swagger-codegen langs
 Available languages: [
 dart, aspnetcore, csharp, csharp-dotnet2, go, go-server, 
 dynamic-html, html, html2, java, jaxrs-cxf-client, jaxrs-cxf, inflector, 
 jaxrs-cxf-cdi, jaxrs-spec, jaxrs-jersey, jaxrs-di, jaxrs-resteasy-eap, 
 jaxrs-resteasy, micronaut, spring, nodejs-server, openapi, 
 openapi-yaml, kotlin-client, kotlin-server, php, python, 
 python-flask, r, ruby, scala, scala-akka-http-server, 
 swift3, swift4, swift5, typescript-angular, typescript-axios, typescript-fetch, 
 javascript]
1
2
3
4
5
6
7
8
9
10
Нашли ошибку?

Пожалуйста, помогите нам сделать эту документацию лучше. Если выявите неточности и ошибки, пожалуйста напишите нам на support@keitaro.io.

# Сторонние библиотеки

# FAQ

Почему при пустом POST запросе приходит '400 Bad Request' ошибка?

Добавьте в код

curl_setopt($ch, CURLOPT_POSTFIELDS, '');
1