# Admin API

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

# Методы Admin API

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

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

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

  1. Откройте Chrome, затем View → Developer → Developer tools.
  2. Переключитесь на 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 ключ.

Носитель:

Ключ API передается как токен носителя:

curl_setopt($ch, CURLOPT_HTTPHEADER, array ('Authorization: Bearer <your-api-key>'));
1

# Создание запроса 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