管理报告

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

简介

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

创收报告的类型

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

报告 说明
结算 查看单个结算月份的开发者活动,并验证费率方案是否已正确应用。
预付余额 查看预付费开发者在结算月份或当前结算月份内补充的余额,以便与从付款处理方收到的付款进行对帐。
收入 查看特定日期范围内开发者的活动和收入,以便针对开发者(及其应用)分析您的 API 产品套装和产品的表现。
方差

比较两个日期范围内开发者的活动和收入,以便分析您的 API 软件包和产品在所有开发者(及其应用)中的表现的向上或下降趋势。

数据保留简介

在 Apigee Edge 公有云中,创收数据保留是一项方案使用权。如需了解创收权限,请访问 https://cloud.google.com/apigee/specsheets。如果您希望在使用权期结束后保留创收数据,请与 Apigee 销售人员联系。延长数据保留期在发出请求时启用,无法追溯启用以纳入早于原始数据保留期的数据。

探索“创收报告”页面

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

边缘

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

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

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

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

传统 Edge (Private Cloud)

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

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

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

配置报告

按照下文所述,使用界面配置报告。

配置报告的步骤

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

Edge

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

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

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

传统 Edge (Private Cloud)

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

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

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

配置结算报告

按照相应步骤配置报告,并在报告页面中输入以下信息:

字段 说明
结算月份

报表的结算月份。

报告级别

报告级别。有效值包括:

  • 详细:在单独的一行上显示每笔交易,并可让您检查费率方案是否已正确应用。没有摘要。
  • 摘要:汇总了每个 API 产品和开发者的总收入。
商品套装

注意:在传统版 Edge 界面中,API 产品套装称为 API 软件包。

选择要纳入到报告中的 API 产品捆绑包。如果未选择任何软件包,所有 API 产品组合都会包含在报告中。

该报告会为所选的每个 API 产品组合添加单独的一行。

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

产品

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

此报告会为所选的每个 API 产品添加单独的一行。

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

公司

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

费率方案

要包含在报告中的费率方案。请选择以下选项之一:

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

配置预付款余额报告

按照相应步骤配置报告,并在报告页面中输入以下信息:

字段 说明
结算月份

报表的结算月份。

报告级别

报告级别。有效值包括:

  • 明细:单独显示每次补充余额,并可让您与付款处理方收到的付款进行对帐。
  • 摘要:总结每位开发者的补充余额总计。
公司

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

配置收入报告

按照相应步骤配置报告,并在报告页面中输入以下信息:

字段 说明
日期范围

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

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

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

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

报告级别。有效值包括:

  • 明细:每笔交易单独显示一行。没有摘要。
  • 摘要:根据您选择的参数汇总每个 API 产品和开发者的总收入。
商品套装

注意:在传统版 Edge 界面中,API 产品套装称为 API 软件包。

选择要纳入到报告中的 API 产品捆绑包。如果未选择任何软件包,所有 API 产品组合都会包含在报告中。

该报告会为所选的每个 API 产品组合添加单独的一行。

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

产品

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

此报告会为所选的每个 API 产品添加单独的一行。

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

公司

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

对于摘要报告,您可以视需要在“Summary Display Options”部分中勾选 Do not display。 在这种情况下,报告会汇总所有(或所选)公司的信息(而不会单独列出每个所选公司的信息)。

应用广告系列

选择要纳入到报告中的应用。如果未选择任何应用,则所有应用都会包含在报告中。

该报告会为所选的每个应用添加单独的一行。

对于摘要报告,您可以视需要在“Summary Display Options”部分中勾选 Do not display。在这种情况下,报告会汇总所有(或所选)应用的信息,但不会单独列出每个选定应用的信息。

摘要显示选项

列在报告中的分组和显示顺序。选择一个数字,用于指示该部分在分组中的相对顺序(1 为第一个分组)。例如,以下内容对报告进行分组,依次按软件包、产品、开发者和应用。

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

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

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

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

如果您是云客户,请联系 Apigee Edge 支持团队以设置该属性。如果您是适用于私有云的 Apigee Edge 客户,请通过 PUT 请求,通过系统管理员凭据向以下 API 设置标志。

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。对于要纳入到报告中的产品,此名称应是其在所有交易记录政策中的名称和位置。

如需在收入摘要报告启用此功能后添加自定义属性,请使用报告 API,只需将 transactionCustomAttributes 添加到 MintCriteria 即可。请参阅条件配置选项

配置差异报告(已弃用)

按照相应步骤配置报告,并在报告页面中输入以下信息:

字段 说明
日期范围

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

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

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

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

该报告会为所选的每个 API 软件包添加单独的一行。

对于摘要报告,您可以视需要在“Summary Display Options”部分中勾选“Don't Display (Packages)”。在这种情况下,报告会汇总所有(或已选择)API 软件包的信息(不会单独列出每个 API 软件包的信息)。

产品

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

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

此报告会为所选的每个 API 产品添加单独的一行。

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

公司

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

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

报表会为所选的每家公司生成单独的一行。

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

应用广告系列

要包含在报告中的应用。请选择以下选项之一:

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

该报告会为所选的每个应用添加单独的一行。

对于摘要报告,您可以视需要在“Summary Display Options”部分中勾选“Don't Display (Applications)”。在这种情况下,报告会汇总所有(或所选)应用的信息,但不会单独列出每个选定应用的信息。

币种

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

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

列在报告中的分组和显示顺序。选择一个数字,用于指示该部分在分组中的相对顺序(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

例如,以下命令会返回组织的报告配置,并将检索的报告配置限制为最多五种:

$ 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

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

报表的结算月份,例如 7 月。

不适用
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

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

报告的开始日期(世界协调时间)。

不适用 对于收入报告是必需的;对于其他报告类型则不需要。
groupBy

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

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

要纳入到报告中的一个或多个 API 软件包的 ID。如果未指定此属性,则所有 API 产品捆绑包都包含在报告中。

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

不适用
pkgCriteria

要纳入到报告中的特定 API 软件包的 ID 和组织。如果未指定此属性,则所有 API 产品捆绑包都包含在报告中。您可以指定此属性,以代替 monetizationpackageIds 属性。

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

不适用
prevFromDate

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

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

不适用
prevToDate

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

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

不适用
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

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

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

不适用