管理报告

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

简介

通过创收报告,您可以访问集中的使用情况信息和交易活动。 例如,您可以确定在指定日期范围内,哪些应用、开发者、API 产品包或 API 产品发生了交易活动。通过创收功能,您可以生成跟踪 API 使用情况的摘要详细报告。

创收报告的类型

您可以生成以下类型的创收报告。

举报 说明
结算 查看单个结算月份内开发者的活动,并验证费率方案是否已正确应用。
预付款余额 查看预付费开发者在结算月份或当前开放月份进行的余额充值,以便与从付款处理机构收到的款项进行对账。
收入 查看开发者在指定日期范围内的活动和创收情况,以便分析 API 产品包和产品在开发者(及其应用)中的表现。
方差

比较两个日期范围内开发者带来的活动和收入,以便分析开发者(及其应用)的 API 软件包和产品在效果方面的上升或下降趋势。

数据保留简介

在 Apigee Edge 公有云中,创收数据保留是一项方案权益。如需查看创收权益,请访问 https://cloud.google.com/apigee/specsheets。 如果您希望在授权期结束后继续保留创收数据,请与 Apigee 销售人员联系。延长数据保留期限会在提出请求时生效,无法追溯生效,以包含原始数据保留期限之前的数据。

关于重复交易

如果您将创收交易报告与 Google Analytics 数据进行比较,可能会发现少量重复交易。这是预期行为,因为创收系统每天可以处理数百万笔交易,并且在任何给定时刻都可以并行处理许多交易。平均而言,大约 0.1% 的交易可能是重复交易。

探索“创收报告”页面

访问“创收报告”页面,如下所述。

Edge

如需使用 Edge 界面访问“报告”页面,请执行以下操作:

  1. 登录 apigee.com/edge
  2. 在左侧导航栏中选择发布 > 创收 > 报告

系统会显示“报告”页面。

如图所示,您可以在“报告”页面上执行以下操作:

经典边缘(私有云)

如需使用经典版 Edge 界面访问“报告”页面,请执行以下操作:

  1. 登录 http://ms-ip:9000,其中 ms-ip 是管理服务器节点的 IP 地址或 DNS 名称。
  2. 在顶部导航栏中,依次选择创收 > 创收报告

系统会显示“报告”页面。

配置报告

使用界面配置报告,如以下部分所述。

配置报告的步骤

使用 Edge 界面或 Classic Edge 界面配置报告。

Edge

如需使用 Edge 界面配置报告,请执行以下操作:

  1. 在左侧导航栏中选择发布 > 创收 > 报告
  2. 点击 + 报告
  3. 配置下表中定义的报告详细信息。
    字段 说明
    名称 报告的唯一名称。
    说明 报告的说明。
    报告类型 请参阅获利报告的类型
  4. 根据所选的报告类型,配置剩余的报告详细信息,如以下部分中所述:
  5. 在报告窗口中输入信息后,您可以:
    • 点击保存报告以保存报告配置。
    • 对于“详细”报告,请点击提交作业以异步运行报告并在稍后检索结果。 如需了解详情,请参阅生成和下载报告

    • 点击另存为 CSV另存为 ZIP,将生成的报告下载到本地计算机,下载格式为逗号分隔值 (CSV) 或包含 CSV 的压缩 ZIP 文件。建议为大型报告下载 ZIP 文件,这样可以更高效地完成下载。

经典边缘(私有云)

如需使用 Classic Edge 界面创建报告,请执行以下操作:

  1. 在顶部导航栏中,依次选择创收 > 创收报告
  2. 在下拉菜单中,选择要创建的报告类型。请参阅获利报告的类型
  3. 点击 + 报告
  4. 根据所选的结算类型配置报告详细信息,如下所述:
  5. 在报告窗口中输入信息后,您可以:
    • 点击另存为…以保存报告配置,并稍后下载报告。
    • 对于“详细”报告,请点击提交作业以异步运行报告并在稍后检索结果。 如需了解详情,请参阅生成和下载报告

    • 点击下载 CSV 文件,以生成报告并将其下载到本地计算机,以便查看逗号分隔值 (CSV) 文件。

配置结算报告

按照配置报告的步骤操作,然后在报告页面中输入以下信息:

字段 说明
结算月份

报告的结算月份。

报告级别

报告级别。有效值包括:

  • 详细:在单独一行中显示每笔交易,并允许您检查价格方案是否已正确应用。没有摘要。
  • 摘要:汇总每个 API 产品和开发者的总收入。
产品组合

注意:在经典版 Edge 界面中,API 产品软件包称为 API 软件包。

选择要纳入到报告中的 API 产品包。如果未选择任何 API 产品包,则报告会包含所有 API 产品包。

报告中会为每个所选 API 产品包单独显示一行。

对于摘要报告,您可以在“摘要显示选项”中选择性地勾选不显示。在这种情况下,报告会汇总所有(或所选)API 产品包的信息,而不会单独列出每个 API 产品包的信息。

产品

选择要纳入到报告中的 API 产品。如果未选择任何 API 产品,则报告会包含所有 API 产品。

报告中会为每个所选 API 产品单独显示一行。

对于摘要报告,您可以在“摘要显示选项”中选择性地勾选不显示。在这种情况下,报告会汇总所有(或所选)开发者的信息(不会单独列出每个所选开发者的信息)。

公司

选择要纳入报告的公司。如果未选择任何公司,则报告中会包含所有公司。

价格方案

要纳入报告中的价格方案。请选择以下选项之一:

  • 所有价格方案:在报告中包含所有价格方案。
  • 标准价格方案:仅在报告中包含标准价格方案。
  • 开发者专用价格方案:仅在报告中包含开发者方案。

配置预付款余额报告

按照配置报告的步骤操作,然后在报告页面中输入以下信息:

字段 说明
结算月份

报告的结算月份。

报告级别

报告级别。有效值包括:

  • 详细:分别显示每次余额充值,方便您与从付款处理方收到的付款进行对账。
  • 摘要:汇总了每位开发者的余额充值总额。
公司

选择要纳入报告的公司。如果未选择任何公司,则报告中会包含所有公司。

配置收入报告

按照配置报告的步骤操作,然后在报告页面中输入以下信息:

字段 说明
日期范围

报告的日期范围。请选择以下选项之一:

  • 预设:从下拉菜单中选择一个标准日期范围(例如“上个日历月”)。
  • 自定义:在日历弹出式窗口中选择范围的开始日期和结束日期。
选择币种

报告所用的货币。有效值包括:

  • 本地货币:报告的每一行都采用适用的价格方案显示。 也就是说,如果开发者的方案使用不同的货币,则一份报告中可能会有多个货币。
  • 欧元:报告中的本地货币交易会换算并显示为欧元。
  • 英镑:报告中的本地货币交易会换算并显示为英镑。
  • 美元:报告中的本地货币交易会换算并显示为美元。
报告级别

报告级别。有效值包括:

  • 详细:在单独的行中显示每笔交易。没有摘要。
  • 摘要:根据您选择的参数,汇总每个 API 产品和开发者的总收入。
产品组合

注意:在经典版 Edge 界面中,API 产品软件包称为 API 软件包。

选择要纳入到报告中的 API 产品包。如果未选择任何 API 产品包,则报告会包含所有 API 产品包。

报告中会为每个所选 API 产品包单独显示一行。

对于摘要报告,您可以在“摘要显示选项”中选择性地勾选不显示。在这种情况下,报告会汇总所有(或所选)API 产品包的信息,而不会单独列出每个 API 产品包的信息。

产品

选择要纳入到报告中的 API 产品。如果未选择任何 API 产品,则报告会包含所有 API 产品。

报告中会为每个所选 API 产品单独显示一行。

对于摘要报告,您可以在“摘要显示选项”中选择性地勾选不显示。在这种情况下,报告会汇总所有(或所选)开发者的信息(不会单独列出每个所选开发者的信息)。

公司

选择要纳入报告的公司。如果未选择任何公司,则报告中会包含所有公司。

对于摘要报告,您可以在“摘要显示选项”部分中选择性地勾选不显示。 在这种情况下,报告会汇总所有(或所选)公司的信息,而不会单独列出每个所选公司的信息。

应用

选择要纳入报告的应用。如果未选择任何应用,则会将所有应用纳入报告中。

报告中会为每个所选应用单独显示一行。

对于摘要报告,您可以在“摘要显示选项”部分中选择性地勾选不显示。在这种情况下,报告会汇总所有(或所选)应用的信息,而不会单独列出每个所选应用的信息。

摘要显示选项

列在报告中分组和显示的顺序。选择一个数字,用于指示相应部分的相对顺序(1 表示第一个分组)。例如,以下代码会先按软件包对报告进行分组,然后按产品、开发者和应用进行分组。

如果您不想显示某个部分,请选择不显示,然后按顺序选择其余字段。当您更改某个部分的相对顺序或选择不在报告中显示某个部分时,订单会自动更新。

在收入摘要报告中添加自定义交易属性

借助交易记录政策,您可以捕获交易中的自定义属性数据,并且可以将这些自定义属性纳入汇总收入报告中。通过为组织设置 MINT.SUMMARY_CUSTOM_ATTRIBUTES 属性,定义创收数据库表中包含的默认自定义属性集。

使用此功能需要仔细考虑和规划,因此请查看以下注意事项。

如果您是 Cloud 客户,请与 Apigee Edge 支持团队联系以设置该属性。如果您是 Apigee Edge for Private Cloud 客户,请使用系统管理员凭据通过向以下 API 发送 PUT 请求来设置标志。

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:port/v1/o/{myorg} -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;partner_id&quot;,&quot;tax_source&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

在此示例中,API 调用会启用该功能,并向创收数据库添加 partner_idtax_source 列。请注意,API 调用中的自定义属性数组已经过网址编码。

在报告中添加自定义交易属性时的注意事项

  • 请务必在通过 API 创建属性之前确定要使用的属性名称。 这些是数据库中的列名称,自定义属性数据始终存储在这些列中。
  • 每个交易记录政策中都有 10 个可用的自定义属性槽,如下图所示。对于将纳入报告中的商品,请使用完全相同的属性名称和位置。例如,在以下交易记录政策中,partner_idtax_source 自定义属性分别占据框 4 和 5。这应是其在所有交易记录政策中的名称和职位,以便将产品纳入报告中。

启用此功能后,如需在摘要收入报告中添加自定义属性,请通过向 MintCriteria 添加 transactionCustomAttributes 来使用报告 API。请参阅条件配置选项

配置差异报告(已弃用)

按照配置报告的步骤操作,然后在报告页面中输入以下信息:

字段 说明
日期范围

报告的日期范围。请选择以下选项之一:

  • 预设:从下拉菜单中选择一个标准日期范围(例如“上个日历月”)。
  • 自定义:在日历弹出式窗口中选择范围的开始日期和结束日期。
软件包

要纳入报告的 API 软件包。请选择以下选项之一:

  • 全部:报告中包含所有 API 软件包。
  • 已选择:显示一个列表,您可从中选择要纳入报告中的 API 软件包。如果您选择不指定任何软件包,则报告会包含所有软件包。

报告中会为每个所选 API 软件包单独显示一行。

对于摘要报告,您可以选择在“摘要显示选项”部分中选中“不显示(软件包)”。在这种情况下,报告会汇总所有(或所选)API 软件包的信息,而不会单独列出每个 API 软件包的信息。

产品

要包含在报告中的 API 产品。请选择以下选项之一:

  • 全部:报告中包含所有 API 产品。
  • 已选择:显示一个列表,您可以在其中选择要纳入报告中的商品。如果您未选择任何商品,则报告中会包含所有商品。

报告中会为每个所选 API 产品单独显示一行。

对于摘要报告,您可以选择在“摘要显示选项”部分中选中“不显示(商品)”。在这种情况下,报告会汇总所有(或所选)API 产品的信息,而不会单独列出每个 API 产品的信息。

公司

要纳入报告的公司。请选择以下选项之一:

  • 全部:包含报告中的所有公司。
  • 已选择:显示一个列表,您可以在其中选择要纳入报告的公司。如果您未选择任何公司,则报告中会包含所有公司。

报告中会为每个所选公司单独显示一行。

对于摘要报告,您可以在“摘要显示选项”部分中选择性地勾选“不显示(公司)”。在这种情况下,报告会汇总所有(或所选)公司的信息,而不会单独列出每个所选公司的信息。

应用

要纳入报告中的应用。请选择以下选项之一:

  • 全部:报告中包含所有应用。
  • 已选择:显示一个列表,您可从中选择要纳入报告的应用。如果您未选择任何应用,则报告中会包含所有应用。

报告中会为每个所选应用单独显示一行。

对于摘要报告,您可以选择在“摘要显示选项”部分中勾选“不显示(应用)”(可选)。在这种情况下,报告会汇总所有(或所选)应用的信息,而不会单独列出每个所选应用的信息。

货币

报告所用的货币。有效值包括:

  • 本地货币:报告的每一行都采用适用的价格方案显示。也就是说,如果开发者的方案使用不同的货币,则一份报告中可能会有多个货币。
  • EUR:报告中的本地货币交易会换算并显示为欧元。
  • GPB:报告中的本地货币交易会换算并显示为英镑。
  • 美元:报告中的本地货币交易会换算并显示为美元。
摘要显示选项

列在报告中分组和显示的顺序。选择一个数字,用于指示相应部分的相对顺序(1 表示第一个分组)。例如,以下代码会先按软件包对报告进行分组,然后按产品、开发者和应用进行分组。

如果您不想显示某个部分,请选择不显示,然后按顺序选择其余字段。当您更改某个部分的相对顺序或选择不在报告中显示某个部分时,订单会自动更新。

生成和下载报告

创建报告后,您可以下载 CSV 或 ZIP 文件格式的报告结果。 您可以同步异步生成 CSV 或 ZIP 文件。

  • 对于同步报告,您运行报告请求,并且在分析服务器提供响应之前,该请求会被阻止。但是,由于报告可能需要处理大量数据(例如 100 GB),同步报告可能会由于超时而失败。

    摘要报告级别仅支持同步生成。

  • 对于异步报告,您运行报告请求并在稍后检索结果。适合使用异步查询处理的情况包括:

    • 分析和生成跨越很长时间间隔的报告。
    • 使用各种分组维度以及增加查询复杂性的其他限制条件来分析数据
    • 在发现某些用户或组织的数据量大幅增加时管理查询。

    详细报告级别支持异步生成。

如需生成并下载 CSV 或 ZIP 文件格式的报告,请执行以下任一任务:

  1. 访问“报告”页面。
  2. 将光标放在要下载的报告上。
  3. 修改列下,点击以下任一选项:

    1. CSV 文件图标 图标或 zip 文件图标 图标(对于摘要报告)。报告会同步保存到 CSV 或 ZIP 文件中。
    2. 提交作业(针对详细报告)。异步作业开始。
      1. 修改时间列中监控作业的状态。

        报告可供下载时,系统会显示磁盘图标:

        报告可供下载时,系统会显示磁盘映像。
      2. 作业完成后,点击磁盘图标下载报告。

以下示例展示了结算报告摘要的 CSV 文件。

修改报告

要修改报告,请执行以下操作:

  1. 访问“报告”页面
  2. 将光标置于要修改的报告上,然后点击操作菜单中的
  3. 根据需要更新报告配置。
  4. 点击更新报告以保存更新后的报告配置。

删除报告

如需删除报告,请执行以下操作:

  1. 访问“报告”页面
  2. 将光标放在要删除的报告上。
  3. 点击操作菜单中的

使用 API 管理创收报告

以下部分介绍了如何使用 API 管理创收报告。

使用 API 配置报告

如需为整个组织配置报告,请向 /organizations/{org_name}/report-definitions 发出 POST 请求。

如需为特定开发者配置报告,请向 /organizations/{org_name}/developers/{dev_id}/report-definitions 发出 POST 请求,其中 {dev_id} 是开发者的标识。

提出请求时,您需要指定报告的名称和类型。类型为以下项之一:BILLINGREVENUEVARIANCE(已弃用)或 PREPAID_BALANCE。此外,您还可以在 mintCriteria 属性中指定进一步配置报告的条件。您可以指定各种各样的条件。这让您在配置报告时有很大的灵活性。 您可以指定为条件的内容包括:

  • 对于结算或预付款余额报告,报告的结算月份
  • 对于收入报告,报告中涵盖的交易类型,例如购买交易、扣款交易和退款
  • 对于预付款余额报告,报告所适用的开发者
  • 对于收入报告,报告适用的 API 产品套装(或 API 软件包)、产品、费率方案和应用
  • 对于收入报告或差异报告,报告的适用币种
  • 对于结算、预付款余额或收入报告,报告是摘要报告还是详细报告
  • 对于收入摘要报告,在报告中添加自定义交易属性

如需查看报告条件的完整列表,请参阅报告配置选项

例如,以下代码会创建一个收入报告,其中汇总了 2015 年 7 月的交易活动。该报告包含 transactionTypes 属性中指定的各种交易类型,并且专门适用于 Payment API 产品套装和 Payment API 产品。由于报告定义中未指定任何特定开发者或应用,因此该报告适用于所有开发者和应用。由于 currencyOption 属性设置为 LOCAL,因此报告的每一行都将使用适用价格方案的币种显示。此外,groupBy 属性指定报告中的列将按以下顺序分组:PACKAGE、PRODUCT、DEVELOPER、APPLICATION 和 RATEPLAN(包括报告中的费率方案名称和 ID)。

$ curl -H "Content-Type: application/json" -X POST -d \
'{
      "name": "July 2015 revenue report",
      "description": " July 2015 revenue report for Payment product",
      "type": "REVENUE",     
      "mintCriteria":{
         "fromDate":"2015-07-01 00:00:00",
         "toDate":"2015-08-01 13:35:00",
         "showTxDetail":true,
         "showSummary":true,
         "transactionTypes":[
            "PURCHASE",
            "CHARGE",
            "REFUND",
            "CREDIT",
            "SETUPFEES",
            "TERMINATIONFEES",
            "RECURRINGFEES"
         ],
         "monetizationPackageIds":[
            "payment"
         ],
         "productIds":[
            "payment"
         ],
         "currencyOption":"LOCAL",
         "groupBy":[
            "PACKAGE",
            "PRODUCT",
            "DEVELOPER",
            "APPLICATION",
            "RATEPLAN"
         ]
      }
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions" \
-u email:password

以下命令会创建一个详细的结算报告,其中显示了开发者 DEV FIVE 在 2015 年 6 月的活动。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
      "name": "June billing report, DEV FIVE",
      "description": "June billing report, DEV FIVE",
      "type": "BILLING",      
      "mintCriteria":{
         "billingMonth": "JUNE",
         "billingYear": 2015,
         "showTxDetail":true,
         "showSummary":false,         
         "currencyOption":"LOCAL"         
      },
      "devCriteria":[{
         "id":"RtHAeZ6LtkSbEH56",
         "orgId":"myorg"}]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/report-definitions" \
-u email:password

使用 API 查看报告配置

您可以查看组织的特定报告配置或所有报告配置。您还可以查看单个开发者的报告配置。

如需查看组织的特定报告配置,请向 /organizations/{org_name}/report-definitions/{report_definition_id} 发出 GET 请求,其中 {report_definition_id} 是特定报告配置的标识(创建报告配置时,系统会在响应中返回该 ID)。例如:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/1f7fa53b-de5a-431d-9438-62131e1396c5" \
-u email:password

如需查看组织的所有报告配置,请向 /organizations/{org_name}/report-definitions 发出 GET 请求。

您可以传递以下查询参数来过滤和排序结果:

查询参数 说明
all 一个标志,用于指定是否返回所有 API 产品包。如果设置为 false,则每页返回的 API 产品包数量由 size 查询参数定义。默认值为 false
size 每页返回的 API 产品包数量。默认值为 20。如果 all 查询参数设置为 true,则此参数会被忽略。
page 要返回的页面的编号(如果内容已分页)。如果 all 查询参数设置为 true,则系统会忽略此参数。
sort 用于对信息进行排序的字段。如果 all 查询参数设置为 true,则此参数会被忽略。默认值为 UPDATED:DESC

例如,以下代码会返回组织的报告配置,并将检索范围限制为最多 5 个报告配置:

$ curl -H "Accept:application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions?size=5" \ 
-u email:password

响应应类似如下所示(仅显示部分响应):

{
  "reportDefinition" : [ {
    "description" : "Test revenue report",
    "developer" : null,
    "id" : "1f7fa53b-de5a-431d-9438-62131e1396c5",
    "lastModified" : "2015-08-27 15:44:03",
    "mintCriteria" : {
      "asXorg" : false,
      "currencyOption" : "LOCAL",
      "fromDate" : "2015-07-01 00:00:00",
      "groupBy" : [ "PACKAGE", "PRODUCT", "DEVELOPER", "APPLICATION", "RATEPLAN" ],
      "monetizationPackageIds" : [ "payment" ],
      "productIds" : [ "payment" ],
      "showRevSharePct" : false,
      "showSummary" : true,
      "showTxDetail" : true,
      "showTxType" : false,
      "toDate" : "2015-08-01 00:05:00",
      "transactionTypes" : [ "PURCHASE", "CHARGE", "REFUND", "CREDIT", "SETUPFEES", "TERMINATIONFEES", "RECURRINGFEES" ]
    },
    "name" : "Test revenue report",
    "organization" : {
      ...
    },
    "type" : "REVENUE"
  }, {
    "description" : "June billing report, DEV FIVE",
    "developer" : null,
    "id" : "fedac696-ce57-469b-b62c-a77b535fd0eb",
    "lastModified" : "2015-08-27 17:13:20",
    "mintCriteria" : {
      "asXorg" : false,
      "billingMonth" : "JUNE",
      "billingYear" : 2015,
      "currencyOption" : "LOCAL",
      "showRevSharePct" : false,
      "showSummary" : false,
      "showTxDetail" : true,
      "showTxType" : false
    },
    "name" : "June billing report, DEV FIVE",
    "organization" : {
      ...
    },
    "type" : "BILLING"
  } ],
  "totalRecords" : 2
}

如需查看特定开发者的报告配置,请向 /organizations/{org_name}/developers/{dev_id}/report-definitions 发出 GET 请求,其中 {dev_id} 是开发者的标识。发出请求时,您可以指定上述查询参数来过滤和排序数据。

例如,以下代码会返回特定开发者的报告配置,并按报告名称对响应进行排序:

$ curl -H "Accept:application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xUreport-definitions?sort=name" \ 
-u email:password

使用 API 更新报告配置

如需更新报告配置,请向 /organizations/{org_name}/report-definitions/{report_definition_id} 发出 PUT 请求,其中 {report_definition_id} 是特定报告配置的标识。进行更新时,您需要在请求正文中指定更新后的配置值和报告配置的 ID。例如,以下请求会将报告更新为摘要报告(更新的属性已突出显示):

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
       "id": "fedac696-ce57-469b-b62c-a77b535fd0eb",
       "name": "June billing report, DEV FIVE",
       "description": "June billing report, DEV FIVE",
       "type": "BILLING",      
       "mintCriteria":{      
         "billingMonth": "JUNE",
         "billingYear": 2015,
         "showTxDetail":false,
         "showSummary":true    
        }     
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/fedac696-ce57-469b-b62c-a77b535fd0eb" \
-u email:password

响应应类似如下所示(仅显示部分响应):

{
 "description" : "June billing report, DEV FIVE",
  "developer" : null,
  "id" : "fedac696-ce57-469b-b62c-a77b535fd0eb",
  "lastModified" : "2015-08-27 17:47:29",
  "mintCriteria" : {
    "asXorg" : false,
    "billingMonth" : "JUNE",
    "billingYear" : 2015,
    "showRevSharePct" : false,
    "showSummary" : true,
    "showTxDetail" : false,
    "showTxType" : false
  },
  "name" : "June billing report, DEV FIVE",
  "organization" : {
    ... 
  },
  "type" : "BILLING"
}

使用 API 删除报告配置

如需删除报告配置,请向 /organizations/{org_namer}/report-definitions/{report_definition_id} 发出 DELETE 请求,其中 {report_definition_id} 是要删除的报告配置的标识符。 例如:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/fedac696-ce57-469b-b62c-a77b535fd0eb" \
-u email:password

使用 API 生成报告

配置报告后,您可以生成逗号分隔值 (CSV) 文件格式的报告以供查看。

如需生成报告,请向 organizations/{org_id}/{report_type} 发出 POST 请求,其中 {report_type} 用于指定要生成的报告类型。类型包括:

  • billing-reports
  • revenue-reports
  • prepaid-balance-reports
  • variance-reports
此外,您还可以为特定开发者生成收入报告,如为开发者生成收入报告中所述。

例如,如需生成结算报告,请向 organizations/{org_name}/billing-reports 发出 POST 请求。

在请求正文中(对于任何类型的报告),指定报告的搜索条件。使用 mintCriteria 属性指定搜索条件。如需了解详情,请参阅条件配置选项

例如,以下请求会根据各种条件(例如报告开始日期和结束日期以及交易类型)搜索收入报告。

$ curl -H "Content-Type:application/json" -H "Accept: application/octet-stream" -X POST -d \
'{
      "fromDate":"2015-07-01 00:00:00",
      "toDate":"2015-08-01 13:35:00",
      "showTxDetail":true,
      "showSummary":true,                
      "transactionTypes":[
        "PURCHASE",
        "CHARGE",
        "REFUND",
        "CREDIT",
        "SETUPFEES",
        "TERMINATIONFEES",
        "RECURRINGFEES"
      ],
      "currencyOption":"LOCAL",
      "groupBy":[
        "PACKAGE",
        "PRODUCT",
        "DEVELOPER",
        "APPLICATION",
        "RATEPLAN"]
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/revenue-reports" \
-u email:password

如果找到,系统会以 CSV 文件格式生成收入报告。以下是报告输出示例:

Reporting Period:,From:,2015-07-01,  To:,2015-07-31
API Product:,All
Developer:,All
Application:,All
Currency:,Local
Type of Report:,Summary Revenue Report

Monetization Package,Package ID,API Product,Product ID,Developer Name,Developer ID,Application Name,Application ID,Rate Plan,Plan ID,Currency,Transaction Type,Provider Status,Total Volume,Charged Rate,
Location,location,foo_product,foo_product,Apigee,QQ7uxeMGf3w9W08B,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,BarCompany,barcompany,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,fremont,fremont,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,Juan's Taco Shack,juan-s-taco-sha,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,

使用 API 在收入报告中添加开发者自定义属性

对于收入报告,如果自定义属性是为开发者定义的,则您可以在报告中添加该自定义属性。如管理应用开发者中所述,您可以在向组织添加开发者时定义自定义属性。

如需在收入报告中添加自定义属性,请向 organizations/{org_name}/revenue-reports 发出 POST 请求,并在请求正文中添加 devCustomAttributes 数组:

"devCustomAttributes": [
    "custom_attribute1",
    "custom_attribute2",
    ...
]

注意:请勿在 devCustomAttributes 数组中指定预定义的 MINT_*ADMIN_* 属性。

例如,以下示例在报告中包含三个自定义属性(如果开发者已定义):BILLING_TYPESFIDORG_EXT

$ curl -H "Content-Type:application/json" -H "Accept: application/octet-stream" -X POST -d \
'{
      "fromDate":"2015-07-01 00:00:00",
      "toDate":"2015-08-01 13:35:00",
      "showTxDetail":true,
      "showSummary":true,                
      "transactionTypes":[
        "PURCHASE",
        "CHARGE",
        "REFUND",
        "CREDIT",
        "SETUPFEES",
        "TERMINATIONFEES",
        "RECURRINGFEES"
      ],
      "currencyOption":"LOCAL",
      "groupBy":[
        "PACKAGE",
        "PRODUCT",
        "DEVELOPER",
        "APPLICATION",
        "RATEPLAN"
      ],
      "devCustomAttributes": [
         "BILLING_TYPE",
         "SFID",
         "ORG_EXT"
      ]
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/revenue-reports" \
-u email:password

以下示例展示了包含两个自定义属性值的报告输出:

Reporting Period:,From:,2015-07-01,  To:,2015-07-31
API Product:,All
Developer:,All
Application:,All
Currency:,Local
Type of Report:,Summary Revenue Report

Monetization Package,Package ID,API Product,Product ID,Developer Name,Developer ID,Application Name,Application ID,Rate Plan,Plan ID,Currency,Transaction Type,Provider Status,Total Volume,Charged Rate,BILLING_TYPE,SFID,ORG_EXT 
Location,location,foo_product,foo_product,Apigee,QQ7uxeMGf3w9W08B,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,BarCompany,barcompany,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,fremont,fremont,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,Juan's Taco Shack,juan-s-taco-sha,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,

使用 API 报告交易活动

您可以向 /organizations/{org_name}/transaction-search 发出 POST 请求,以查看组织的交易活动。发出请求时,您需要指定检索条件。您可以指定为条件的内容包括:

  • 已针对其发布交易的一个或多个 API 产品的 ID。
  • 交易的结算月份和年份。
  • 发布交易的开发者。
  • 交易类型,例如购买和设置费用。
  • 交易状态,例如成功和失败。

如需查看完整的条件列表,请参阅条件配置选项

例如,以下查询会返回特定开发者在 2015 年 6 月结算周期内发布的所有交易:

$ curl -H "Content-Type:application/json" -X POST -d \
 '{        
    "billingMonth": "JUNE",
    "billingYear": 2015,
    "devCriteria": [{
      "id": "RtHAeZ6LtkSbEH56",
      "orgId":"myorg"}],
    "transactionTypes": ["PURCHASE", "CHARGE", "SETUPFEES"],
    "transactionStatus": ["SUCCESS", "FAILED"]
    }'
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/transaction-search \
-u email:password

您还可以确定哪些应用、开发者、API 产品包或 API 产品在指定日期范围内有交易活动。您可以针对每种类型的对象分别查看此信息。例如,您可以查看在指定开始日期和结束日期内访问已创收的 API 产品包中 API 的应用的相关信息。

如需查看有关交易活动的信息,请向以下资源之一发出 GET 请求:

资源 返回
/organizations/{org_name}/applications-with-transactions

包含交易的应用

/organizations/{org_name}/developers-with-transactions

有交易的开发者

/organizations/{org_name}/products-with-transactions

有交易的商品

/organizations/{org_name}/packages-with-transactions

包含交易的 API 产品套装(或 API 套餐)

发出请求时,您需要以查询参数的形式指定日期范围的开始日期和结束日期。例如,以下请求会返回在 2015 年 8 月有交易的开发者。

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers-with-transactions?START_DATE=2015-08-01&END_DATE=2015-08-31" \
-u email:password

响应应类似如下所示(仅显示部分响应):

{
  "developer" : [ {
    "address" : [ {
      "address1" : "Dev Five Address",
      "city" : "Pleasanton",
      "country" : "US",
      "id" : "0917f15f-9521-4e69-9376-07aa7b7b32ca",
      "isPrimary" : true,
      "state" : "CA",
      "zip" : "94588"
    } ],
    "approxTaxRate" : 0.0900,
    "billingType" : "POSTPAID",
    "broker" : false,
    "developerRole" : [ ],
    "email" : "dev5@myorg.com",
    "hasSelfBilling" : false,
    "id" : "tJZG6broTpGGGeLV",
    "legalName" : "DEV FIVE",
    "name" : "Dev Five",
    "organization" : {
      ...
    },
    "registrationId" : "dev5",
    "status" : "ACTIVE",
    "type" : "UNTRUSTED"
  }, {
    "address" : [ {
      "address1" : "Dev Seven Address",
      "city" : "Pleasanton",
      "country" : "US",
      "id" : "f86d8c9f-6ed1-4323-b050-6adf494096c9",
      "isPrimary" : true,
      "state" : "CA",
      "zip" : "94588"
    } ],
    "approxTaxRate" : 0.0900,
    "billingType" : "POSTPAID",
    "broker" : false,
    "developerRole" : [ ],
    "email" : "dev7@myorg.com",
    "hasSelfBilling" : false,
    "id" : "VI3l8m8IPAvJTvjS",
    "legalName" : "DEV SEVEN",
    "name" : "Dev Seven",
    "organization" : {
      ...
    },
    "registrationId" : "dev7",
    "status" : "ACTIVE",
    "type" : "UNTRUSTED"
  }, ...
  ]
}

API 的报告配置选项

API 提供以下报告配置选项:

名称 说明 默认值 是否必需?
name

报告的名称。

不适用
description

报告的说明。

不适用
mintCriteria

配置报告的条件。如需了解详情,请参阅条件配置选项

不适用
type

报告的类型。可以是以下值之一:

  • BILLING
  • REVENUE
  • VARIANCE
  • PREPAID_BALANCE
不适用

条件配置选项

您可以通过 mintCriteria 属性为报告设置以下配置选项:

名称 说明 默认值 是否必需?
appCriteria

要包含在报告中的特定应用的 ID 和组织。如果未指定此属性,则会将所有应用纳入报告中。

不适用
billingMonth

注意:此属性不适用于收入报告。

报告的结算月份,例如 JULY。

不适用
billingYear

注意:此属性不适用于收入报告。

报告的结算年份,例如 2015。

不适用
currCriteria

要包含在报告中的特定币种的 ID 和组织。如果未指定此属性,则报告会包含所有受支持的币种。

不适用
currencyOption

报告所用的货币。有效值包括:

  • LOCAL。报告的每一行都采用适用的价格方案显示。也就是说,如果开发者的方案使用不同的货币,则一份报告中可能会有多个货币。
  • EUR. 本地货币交易会换算并显示为欧元。
  • GPB. 本地货币交易会换算并显示为英镑。
  • USD。本地货币交易会换算并显示为美元。
不适用
devCriteria

要包含在报告中的特定开发者的开发者 ID(电子邮件地址)和组织名称。如果未指定此属性,则会将所有开发者纳入报告中。例如:

"devCriteria":[{
    "id":"RtHAeZ6LtkSbEH56",
    "orgId":"my_org"}
]
                
不适用
devCustomAttributes

注意:此属性仅适用于收入报告。

要纳入报告中的自定义属性(如果已为开发者定义)。例如:

"devCustomAttributes": [
    "custom_attribute1",
    "custom_attribute2",
    ...
]

注意:请勿在 devCustomAttributes 数组中指定预定义的 MINT_*ADMIN_* 属性。

不适用
fromDate

注意:此属性仅适用于收入、方差和交易活动报告。

报告的开始日期,以世界协调时间 (UTC) 表示。

不适用 对于收入报告,这是必填项;对于其他类型的报告,这是选填项。
groupBy

报告中列的分组顺序。有效值包括:

  • APPLICATION
  • BALANCE
  • DEVELOPER
  • ORG
  • PACKAGE
  • PRODUCT
  • RATEPLAN
不适用
monetizationPackageId

要纳入报告的一个或多个 API 产品包的 ID。如果未指定此属性,则报告会包含所有 API 产品包。

注意: 查看交易活动记录 (/transaction-search) 时,此属性无效。

不适用
pkgCriteria

要包含在报告中的特定 API 产品包的 ID 和组织。如果未指定此属性,则报告会包含所有 API 产品包。此属性可以指定,以取代 monetizationpackageIds 属性。

注意: 查看交易活动记录 (/transaction-search) 时,此属性无效。

不适用
prevFromDate

注意:此属性仅适用于差异报告。

上一个时段的开始日期(以世界协调时间 [UTC] 表示)。用于创建上一个时间段的报告,以便与当前报告进行比较。

不适用
prevToDate

注意:此属性仅适用于差异报告。

上一个周期的结束日期(以世界协调时间 [UTC] 表示)。用于创建上一时段的报告,以便与当前报告进行比较。

不适用
prodCriteria

要包含在报告中的特定 API 产品的 ID 和组织。如果未指定此属性,则报告会包含所有 API 产品。此属性可以指定,以取代 productIds 属性。

注意: 查看交易活动记录 (/transaction-search) 时,此属性无效。

不适用
productIds

要包含在报告中的一个或多个 API 产品的 ID。如果未指定此属性,则报告会包含所有 API 产品。

API 产品 ID 应指定为 org-name@@@product-name。 例如 "productIds": ["myorg@@@myproduct", "myorg@@@myproduct2"]

不适用
pricingTypes

报告中要包含的价格方案的定价类型。有效值包括:

  • REVSHARE. 收益分成方案。
  • REVSHARE_RATECARD. 收益分成和价目表价格方案。
  • RATECARD. 价目表方案。

如果未指定此属性,则报告会包含所有价格类型对应的价格方案。

不适用
ratePlanLevels

报告中要包含的价格方案的类型。有效值包括:

  • DEVELOPER. 开发者价格方案。
  • STANDARD。标准价格方案。

如果未指定此属性,则报告会包含特定于开发者的价格方案和标准价格方案。

不适用
showRevSharePct

用于指定报告是否显示收益分成百分比的标志。有效值包括:

  • true. 显示收益分成百分比。
  • false。不显示收益分成百分比。
不适用
showSummary

用于指定相应报告是否为摘要的标志。有效值包括:

  • true。报告是摘要。
  • false。报告不是摘要。
不适用
showTxDetail

注意:此属性仅适用于收入报告。

用于指定报告是否显示交易级详细信息的标志。有效值包括:

  • true. 显示交易级详细信息。
  • false. 不显示交易级详细信息。
不适用
showTxType

用于指定报告是否显示每种交易类型的标志。有效值包括:

  • true。显示每笔交易的类型。
  • false。不显示每笔交易的类型。
不适用
toDate

注意:此属性仅适用于收入、方差和交易活动报告。

报告的结束日期(世界协调时间)。

报告包含在指定日期之前收集的数据,直至前一天的结束时间。 在指定结束日期收集的报告数据将从报告中排除。 例如,如果您想让某个费率方案在 2016 年 12 月 31 日过期,则应将 toDate 值设置为 2017-01-01。 在这种情况下,报告将包含截至 2016 年 12 月 31 日当天结束时的报告数据;2017 年 1 月 1 日的报告数据将被排除在外。

不适用 对于收入报告,这是必填项;对于其他类型的报告,这是选填项。
transactionStatus

报告中要包含的交易的状态。有效值包括:

  • SUCCESS. 交易成功。
  • DUPLICATE. 交易重复。您可以忽略这些交易。从 Apigee 运行时到评级服务器的数据流水线有时会生成重复的交易,以实现容错,而创收功能会识别这些交易并将其标记为重复交易。
  • FAILED。交易失败。当前提条件的验证失败时,系统会触发此状态。例如:
    • 即使开发者未购买费率方案,也尝试进行评分。如果未配置“创收限制检查”政策,可能会出现此问题。
    • 已超出配额,但通话仍在继续。如果未配置“创收限制检查”政策,可能会出现此问题。
    • 针对基于自定义属性的方案发送了负自定义属性值。
  • INVALID_TSC。交易无效。当 txProviderStatus 运行时条件与 API 产品包级层指定的成功条件不匹配时,系统会触发此状态。
  • REVIEW. 需要审核的交易。如果值落在未配置的收入范围内,则会针对灵活的收入分成费率方案触发此状态。
不适用
transactionCustomAttributes

要包含在收入摘要报告中的自定义交易属性。您必须在组织中启用此功能。请参阅在收入摘要报告中添加自定义交易属性

不适用
transactionTypes

报告中要包含的交易类型。有效值包括:

如果未指定此属性,则报告中会包含所有交易类型。

不适用