重要提示
以下指南假定您了解 API 及其工作原理。如果不知道如何进行 API 调用,请务必与能够代表您执行调用的软件工程师或其他人员合作。
您可以使用 Publisher Summary API 提取效果数据。了解如何生成效果数据报告。
第 1 步:使用访问令牌进行身份验证。
您需要访问令牌才能开始使用 Publisher Summary API。要获取访问令牌,您必须准备好用于登录 Moloco Publisher 门户的电子邮件地址和密码以及平台 ID。
准备好电子邮件地址和密码
注册后,您会收到 Moloco 发送的电子邮件,要求您为账户创建密码。如果在用于注册我们账户的电子邮件地址的收件箱中没有收到此电子邮件,请联系您的 Moloco 代表寻求帮助。按照电子邮件中的说明创建密码。
在 Moloco Publisher 门户中查找并复制平台 ID
要查找平台 ID,登录 Moloco Publisher 门户,在左侧边栏中点击 Publisher setting。查找并复制账户的平台 ID。
发出 API 请求以生成访问令牌
获得电子邮件地址、密码和平台 ID 后,您必须发出 API 请求来生成访问令牌。在以下示例请求中,必须在 email
输入电子邮件地址,在 password
中输入密码,在 workplace_id
中输入平台 ID。
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/auth/tokens \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data @- <<EOF
{
"email": "<your-email-address-here>",
"password": "<your-password-here>",
"workplace_id": "<your-platform-id-here>"
}
EOF
返回的响应包含使用 Publisher Summary API 端点时需要包含在标头中的 Token ID。令牌的有效期最长为 60 分钟,过期后,您必须发出新的 API 请求来生成新的访问令牌。
{
"token": "your-token-here"
}
在令牌过期之前,您可以通过发出包含现有令牌的以下 API 请求来刷新,此操作会在响应中返回新令牌。如以下示例请求所示,在发出需要授权的 API 请求时,必须将访问令牌作为承载令牌包含在内。
curl --request PUT \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/auth/tokens \
--header 'Authorization: Bearer <your-token-here>' \
--header 'accept: application/json'
第 2 步:为 Publisher Summary API 端点发出 API 请求。
您必须使用以下 API 端点。
POST https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary
必要属性
请求正文中必须包含以下属性。
属性 | 类型 | 描述 |
publisher_id | 字符串 | 您可以前往 Publisher settings > Publisher info,从 Moloco Publisher 门户复制此 Publisher ID。 |
date_range | 对象 |
这是可从中提取数据的日期范围。最多可指定长达 31 天的日期范围。您必须以下列格式指定起始和终止日期。 "date_range": { |
dimensions | 数组 | 这是您要对数据进行分组的维度。请参阅可用维度,了解更多信息。 |
metrics | 数组 | 这是您要在数据摘要中包含的指标(按指定的维度分组)。请参阅可用指标,了解更多信息。 |
dimension_filters | 对象数组 |
这是您要应用于数据的筛选器,仅用于检索数据子集。您必须使用下列格式。 "dimension_filters": [ |
order_by | 对象数组 |
该属性决定了检索到的数据在响应中的组织方式。数据可按任何可用维度和指标进行组织。您必须使用下列格式。 "order_by": [ |
可用指标
您必须在请求正文中包含以下一个或多个指标。
指标 | 类型 | 描述 |
REVENUE | 数字 | 这是预计的收入金额,单位为美元。 |
IMPRESSIONS | 数字 | 这是总展示次数,表明流量池中的素材被查看了多少次。 |
REQUESTS | 数字 | 这是从中介平台或竞价层向 Moloco 发出的竞价请求总数。 |
CLICKS | 数字 | 这是用户点击广告的总次数。 |
ECPM | 字符串 | 这是 eCPM,计算方式为(收入 x 1000)/展示次数。 |
IMP_FILL_RATE | 字符串 | 这是广告填充率,计算方式为展示次数/请求次数。 |
可用维度
您必须在请求正文中包含以下一个或多个维度。
维度 | 类型 | 描述 |
UTC_DATE | 字符串 |
表示日期,格式如下。 YYYY-MM-DD HH:mm:SS +0000 UTC 例如 |
PUBLISHER_APP_ID | 字符串 |
这是 Moloco 生成的 App Key,您可以前往 Apps > App > App Detail,在 Moloco Publisher 门户上找到该项。 例如 |
PUBLISHER_APP_TITLE | 字符串 |
这是您为 App 指定的标题。 例如 |
AD_UNIT_TITLE | 字符串 |
这是您为广告单元指定的标题。 例如 |
AD_UNIT_ID | 字符串 |
这是 Moloco 生成的 Ad Unit ID,您可以前往 Ad Units > ad unit > Ad Unit Detail,在 Moloco Publisher 门户上找到该项。 例如 |
DEVICE_OS | 枚举 |
这是 App 的操作系统类型。可接受的值为 |
GEO_COUNTRY | 字符串 |
这是从用户 IP 地址获取的 ISO 3166 Alpha-3 代码。 例如 |
PUBLISHER_APP_STORE_ID | 字符串 |
这是 Store ID(适用于 iOS App)或软件包名称(适用于 Android App)。 例如 Store ID: 软件包名称: |
PUBLISHER_APP_PACKAGE_NAME | 字符串 |
这是 Android App 的软件包名称。 例如 |
ADUNIT_AUCTION_METHOD | 枚举 | 这是广告单元的竞价方式类型。可接受的值为 IN_APP_BIDDING 和 WATERFALL 。 |
请求正文
请求正文的格式必须遵循如下要求。
{
"publisher_id": "<MOLOCO-PUBLISHER-ID>",
"date_range": {
"start": "YYYY-MM-DD",
"end": "YYYY-MM-DD"
},
"dimensions": ["<DIMENSION_NAME>"],
3
"metrics": ["<METRIC_NAME>"],
"dimension_filters": [
{
"dimension": "<DIMENSION_NAME>",
"values": ["string"]
}
],
"order_by": [
{
"dimension" | "metric": "<DIMENSION_NAME> | <METRIC_NAME>",
"is_descending": true|false
}
]
}
以下示例请求在响应中返回 2023 年 6 月 10 日至 2023 年 6 月 11 日按日期分组的总收入金额。
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary \
4
--header 'content-type: application/json' \
--header 'Authorization: Bearer <your-token-here>' \
--data @- <<EOF
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-11"
},
"dimensions": ["UTC_DATE"],
"metrics": ["REVENUE"]
}
EOF
筛选数据
您可以将筛选器应用于数据,仅检索数据子集。您可以指定任何可用的维度作为筛选器,如以下示例所示。
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-15"
6
},
"dimensions": ["UTC_DATE", "AD_UNIT_ID"],
"metrics": ["REVENUE", "IMPRESSIONS"],
"dimension_filters":[
{
"dimension": "PUBLISHER_APP_ID",
"values": [ "<moloco-app-id>"]
},{
"dimension": "GEO_COUNTRY",
"values": ["USA", "CAN"]
}]
}
此示例请求在响应中返回 App Key 为 <moloco-app-id> 的 App 自 2023 年 6 月 10 日至 2023 年 6 月 15 日来自加拿大和美国的总收入金额和总展示次数,按日期和广告单元 ID 分组。
按一个或多个维度和/或指标分组和排列数据
您可以按一个或多个可用维度和/或指标对数据分组。以下示例请求在响应中返回广告填充率和总点击次数,按日期和 App Key 分组,日期按最早到最近显示,填充率从最大到最小显示。
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-11"
},
"dimensions": ["UTC_DATE", "PUBLISHER_APP_ID"],
"metrics": ["FILL_RATE", "CLICKS"],
"order_by": [{
"dimension": "TIME_BUCKET",
"is_descending": false
}, {
"metric": "FILL_RATE",
"is_descending": true
}]
}
响应正文
API 请求返回的响应格式如下。响应中仅返回 API 请求中指定的维度和/或指标。
{
"rows": [
{
"utc_time_bucket": "YYYY-MM-DD",
"app": {
"app_id": "<moloco-app-id-in-inventory-sheet>",
"app_title": "<pretty-app-name>"
},
"ad_unit": {
"ad_unit_id": "<moloco-ad-unit-id-in-inventory-sheet>",
"ad_unit_title": "<pretty-ad-unit-name>",
"inventory_type": "BANNER" | "INTERSTITIAL" | "REWARD_VIDEO",
"bidfloor": string
},
"device": {
"os": "IOS" | "ANDROID"
},
"geo": {
"country": "<ISO 3166-1 alpha-3 country code>"
},
"metric": {
"revenue": float64,
"impressions": int64,
"requests": int64,
"clicks": int64,
"ecpm": float64,
"fill_rate": float64
}
}
]
}
Metrics
指标 | 类型 | 描述 |
REVENUE | 数字 |
这是预计的收入金额,单位为美元。 例如130.15
|
IMPRESSIONS | 数字 |
这是总展示次数,表明流量池中的素材被查看了多少次。 例如 |
REQUESTS | 数字 |
这是从中介平台或竞价层向 Moloco 发出的竞价请求总数。 例如 |
CLICKS | 数字 |
这是用户点击广告的总次数。 例如 |
ECPM | 字符串 |
这是 eCPM,计算方式为(收入 x 1000)/展示次数。 例如 |
IMP_FILL_RATE | 字符串 |
这是广告填充率,计算方式为展示次数/请求次数。 例如 |
维度
维度 | 类型 | 描述 |
UTC_DATE | 字符串 |
表示日期,格式如下。 YYYY-MM-DD HH:mm:SS +0000 UTC 例如 |
PUBLISHER_APP_ID | 字符串 |
这是 Moloco 生成的 App Key,您可以前往 Apps > App > App Detail,在 Moloco Publisher 门户上找到该项。 例如 |
PUBLISHER_APP_TITLE | 字符串 |
这是您为 App 指定的标题。 例如 |
AD_UNIT_TITLE | 字符串 |
这是您为广告单元指定的标题。 例如 |
AD_UNIT_ID | 字符串 |
这是 Moloco 生成的 Ad Unit ID,您可以前往 Ad Units > ad unit > Ad Unit Detail,在 Moloco Publisher 门户上找到该项。 例如 |
DEVICE_OS | 枚举 |
这是 App 的操作系统类型。有效值为 |
GEO_COUNTRY | 字符串 |
这是从用户 IP 地址获取的 ISO 3166 Alpha-3 代码。 例如 |
PUBLISHER_APP_STORE_ID | 字符串 |
这是 Store ID(适用于 iOS App)或软件包名称(适用于 Android App)。 例如 Store ID: 软件包名称: |
PUBLISHER_APP_PACKAGE_NAME | 字符串 |
这是 Android App 的软件包名称。 例如 |
ADUNIT_AUCTION_METHOD | 枚举 | 这是广告单元的竞价方式类型。有效值为 IN_APP_BIDDING 和 WATERFALL 。 |
以下是自 2023 年 6 月 10 日起按日期和操作系统类型分组的收入金额的示例请求。
curl --request POST \
--url https://managefnt.adsmoloco.com/api/adcloud/publisher/v1/sdk/summary \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <your-token-here>' \
--data @- <<EOF
{
"publisher_id": "<your-publisher-id>",
"date_range": {
"start": "2023-06-10",
"end": "2023-06-10"
},
"dimensions": ["UTC_DATE", "DEVICE_OS"],
"metrics": ["REVENUE"]
}
EOF
返回的响应仅包含所请求的信息。
{
"rows": [
{
"utc_time_bucket": "2023-06-10 00:00:00 +0000 UTC",
"device": {
"os": "IOS"
},
"metric": {
"revenue": 100.01
}
}, {
"utc_time_bucket": "2023-06-10 00:00:00 +0000 UTC",
"device": {
"os": "ANDROID"
},
"metric": {
"revenue": 99.99
}
}
]
}
时区和可用性
我们使用 UTC 时区来提取和显示数据集。虽然大多数数据都是实时可用的,但部分数据可能需要几个小时才能提供。因此,预计在记录数据当天的 UTC 时间午夜后的 6 小时内,即可获取一整天的数据。
服务级别协议
我们会在问题首次报告之日起三个工作日内针对 Publisher 提出的问题发布修补程序。