# 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

Для формирования корректного запроса к Admin API, необходимо:

  1. Использовать ключ авторизации. Ключ необходим для защиты API от несанкционированного доступа.

  2. Указать корректный HTTP-метод запроса.

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

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

При работе с Admin API Keitaro используются следующие HTTP-методы:

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 — для обновления имеющихся данных в трекере. Метод 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.

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

# Python

# FAQ

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

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

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