# Audience API 概述

> 使用 Tapjoy Offerwall Audience API 管理已安装您的应用的设备列表，并防止这些用户收到重复任务。

Tapjoy Audience API 是一种 REST API，用于创建和获取有关受众的信息，而这些信息可用于在设备列表上屏蔽应用。

## 应用屏蔽##app-suppression

应用屏蔽表示应该将提供的设备标记为已安装关联的 App ID。这些安装信息不是来自我们的常规广告网络/SDK 设备数据，而是来自外部数据。例如，广告主可以上传一份已知安装了该应用的设备列表。Tapjoy 将“屏蔽”应用的任务，因此我们不会向用户显示此应用的任务。

## 发起请求##making-requests

要发起 API 请求，必须先通过我们的 OAuth API 请求一个访问令牌。如需详细了解如何执行此操作，请点击[此处](./api-authentication.md)。

### 必需参数及其预期值##required-parameters-and-expected-values

| 必需参数          | 预期值                            | 注意                                              |
| ------------- | ------------------------------ | ----------------------------------------------- |
| `account_id`  | 用于在系统中验证广告主身份的广告主帐户 ID。        |                                                 |
| `name`        | 受众的名称。                         |                                                 |
| `description` | 受众的描述。                         |                                                 |
| `devices`     | 一个只包含设备 ID 的 CSV 文件，不带标头。      | IDFA 和 GAID 可以是任意大小写格式，并可以包含连字符；后端会自动对其进行标准化处理。 |
| `offer_id`    | Tapjoy `offer_id`（或 AdSet ID）。 |                                                 |
| `app_id`      | 广告主要屏蔽的应用的 Tapjoy `app_id`。    |                                                 |
| `list_type`   | 表明该请求用于屏蔽应用的列表类型。              | 允许的值：`['app_suppression']`。预期值必须是提供的选项之一。       |

> **Note:**
>
> 列出的参数（共 7 个）是 API 请求必需的参数，但是，并非每个参数都需要列出所有值才能从 API 返回成功的响应。
> 此外，每个请求均针对同一个 API 终端发出。

### 终端##endpoint

所有请求都是针对以下终端发出的。

```text
https://api.tapjoy.com/v4/audiences
```

### 请求示例##example-requests

以下示例显示了经过身份验证的 API 请求所需的标头。

```curlrc
POST /v4/audiences 
Host: api.tapjoy.com 
Authorization: Bearer <token_string> 
Accept: application/json
```

#### 应用屏蔽##app-suppression

以下示例显示了 app 抑制请求的参数值。

```curlrc
account_id: '497670f6-a152-4bdd-a717-dbe7f7635dc7' 
name: ' ' 
description: ' ' 
devices: device_list_3.csv 
offer_id: ' ' (blank for suppression lists)
app_id: '6881899b-9c55-4d83-9afc-552f880289d4' 
list_type: 'app_suppression'
```

以下示例显示了与完整 curl 命令相同的请求，包括设备列表文件上传和查询参数。

```curlrc
curl --header "Authorization: Bearer YOUR-TOKEN" --request POST --form devices=@/path/to/device_list.csv "https://api.tapjoy.com/v4/audiences?account_id=497670f6-a152-4bdd-a717-dbe7f7635dc7&app_id=6881899b-9c55-4d83-9afc-552f880289d4&description=LIST-DESCRIPTION&list_type=app_suppression&name=LIST-NAME&offer_id="
```

## 常见问题解答##faq

**How often can a client upload an audience for app suppression?:**根据需要，可以是任何频率（例如，1 小时一次）。**What is the max list of devices I can upload?:**存在 100 万台设备的软性上限。如果需要处理更多设备，请联系工程团队。**If I upload two files (for example:, list\\\_one.csv, list\\\_two.csv) are they being replaced or merged?:**应用屏蔽 - csv 文件中的每台设备都将被标记为已安装指定的应用。同时发送两个列表将合并这两个列表。**Can I delete a list?:**应用屏蔽 - 不可以，当设备被标记为已安装应用时，无法告知 Tapjoy 该应用已被用户卸载。如果合作伙伴希望能够移除设备，他们应使用黑名单。**Which MMPs are integrated with the audience API automatically?:**[Appsflyer](../mmp-integrations/appsflyer)
