Чем мы можем помочь?

API списка приложений для рекламных сетей

  • Обновлено

Кратко: рекламные сети могут получать метаданные приложений, связанных с их учетной записью интегрированного партнера.

API для получения списка приложений

В следующих разделах содержится информация, необходимая для использования API.

Основные сведения о получении списка приложений

Категория Элемент Description(Описание)
Запрос HTTP-метод УСТАНОВИТЬ
Путь https://hq1.appsflyer.com/api/mng/apps
Заголовок авторизации 
 Ответ Результаты Возвращает в формате JSON
Лимит запросов
  • 20 запросов/мин
  • 100 запросов/день
Лимит записей 1,000 записей/запрос. Если нужно вернуть более 1,000 записей, используйте последующие запросы пагинации, описанные в этой статье.

Запрос API

API-запрос состоит из метода, пути, обязательного параметра capabilities и необязательных параметров пагинации. Токен содержится в заголовке авторизации. 

Аудитории

GET https://hq1.appsflyer.com/api/mng/apps?capabilities={capabilities} 

Обязательные параметры для получения списка приложений

Параметры запроса Description(Описание)
возможности

Чтобы получить список и количество приложений, для которых у вас есть разрешения или возможности интеграции, задайте для параметра capabilities одно из указанных значений. 

Вариант Тип Description(Описание)
protect_360 Разрешение на отчеты Получить отчеты о сырых данных Protect360 для рекламных сетей
cost  Интеграция Приложение включено для получения данных о стоимости через InCost API

Пример: список приложений, для которых у вас есть разрешение API на отчет о сырых данных Protect360:capabilities=protect_360

Механизм пагинации

Реализован механизм пагинации, который всегда активен. 

Принципы пагинации: 

  • Возвращает до 1 000 записей за один запрос (страницу).
  • Ответы JSON содержат следующие ключи, связанные с пагинацией:
    • meta.total_items: количество записей, возвращаемых всеми страницами в совокупности. Это количество приложений, для которых вам предоставлены запрашиваемые возможности.
    • Ссылки пагинации (показанные в JSON ниже) содержат следующие ключи:
      • links.prev: если был предыдущий запрос, то запрос, использованный для формирования предыдущей страницы.
      • links.self: текущий запрос — запрос, использованный для формирования текущего JSON (страницы)
      • links.next: запрос, необходимый для получения следующей страницы. Если ключ next отсутствует, значит это последняя страница. 

 Используйте один из следующих методов контроля пагинации:

  • [Практические рекомендации] Используйте ссылки в JSON: если ключ links.next существует, используйте его для создания запроса на получение следующей страницы. Продолжайте, пока не получите JSON без ключа links.next.
  • Программно реализуйте параметры limit и offset вместе с ключом total_items.

Пример JSON со ссылками пагинации

  • В следующем примере показан результат первого запроса, состоящий из второго запроса, содержащего две записи в разделе данных (не отображаются).  
  • Общее количество возвращаемых записей — 6.
  • Ключ links.next содержит запрос, который возвращает следующую страницу — записи 5 и 6. 
{                                                                                         
    "data": {[...]},   
    "meta": {
        "total_items": 6
    },
    "links": {
        "prev": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=0&limit=2",
        "self": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=2&limit=2",
        "next": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=4&limit=2"
    }
}

Параметры механизма пагинации (необязательно)

Параметр запроса Обзор
limit

Количество записей, возвращаемых за один вызов

  • Максимум: 1 000
  • Если вы не передаете limit, он автоматически устанавливается в 1 000.
  • Пример: limit=2
  • Обязательно: Нет
offset

Первая запись, которую нужно вернуть в вызове. Нумерация записей начинается с 0. 

  • Если не отправить offset, ему автоматически присваивается значение 0.
  • Пример: offset=2
  • Обязательно: Нет
 

Ответ JSON

Ключ Обзор
id ID приложения, например: id123456789, com.myapp.com
type Всегда возвращает app 
Имя камп. ID приложения
платформа iOS или Android
валюта Код валюты приложения, заданный рекламодателем
time_zone Часовой пояс приложения, заданный рекламодателем
total_items Количество приложений, для которых рекламная сеть поддерживает запрошенную опцию capabilities
ссылки

Механизм пагинации (описан в разделе параметров)

  • prev: вызов, использованный для формирования предыдущей страницы
  • self: вызов, использованный для формирования текущей страницы
  • next: вызов, использованный для формирования следующей страницы

Пример curl-запроса для получения списка приложений и ответа

Запрос curl

Этот пример включает полный вызов, в том числе необязательные параметры пагинации. 


curl --location --request GET 'https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&limit=1000&offset=0' \
-H 'Authorization: Bearer {API V2.0 token available to the admin in the dashboard.}' \ \

Ответ JSON

{
    "data": [
        {
            "id": "com.appsflyer.xpend_qa1",
            "type": "app",
            "attributes": {
                "name": "com.appsflyer.xpend_qa1",
                "platform": "android",
                "currency": "USD",
                "time_zone": "UTC"
            }
        },
        {
            "id": "com.abc.app",
            "type": "app",
            "attributes": {
                "name": "com.abc.app",
                "platform": "android",
                "currency": "USD",
                "time_zone": "UTC",
                "enable_retargetting": true
            }
        },
        {
            "id": "com.xyz.app",
            "type": "app",
            "attributes": {
                "name": "com.xyz.app",
                "platform": "android",
                "currency": "JPY",
                "time_zone": "UTC"
            }
        }
    ],
    "meta": {
        "total_items": 3
    },
    "links": {
        "self": "https://hq1.appsflyer.com/api/mng/apps?capabilities=protect_360&offset=0&limit=1000"
           }
}

Коды ответа HTTP

Код  Сообщение Примечания/устранение неполадок
200 OK Возвращаются действительные данные
200 OK

Симптом: данные не возвращаются

Действие: убедитесь, что токен аутентификации находится в заголовке Bearer.

400 Неверный запрос
  • См. сообщение в JSON
  • Пустой JSON: указана недопустимая capability
401 Не авторизовано

Сообщение: токен авторизации имеет неверный формат

Убедитесь, что у вас правильный токен; токен должен содержать более 700 символов.

404 Не найдено
  • Устраните все проблемы, связанные с сетью или брандмауэром. 
  • Убедитесь, что IP-адреса AppsFlyer добавлены в список разрешенных
  • Убедитесь, что вы используете последний выданный токен.
  • Данные не найдены: запрошенный тип разрешения/интеграции (возможностей) допустим, но приложения с таким разрешением не найдены. 
429 Слишком много запросов Превышено ограничение скорости запросов