捕获获利数据

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

Apigee 使用获利变量进行评分、计算收益分成和分析。如果您希望 Apigee 分析数据显示获利信息;通过使用获利变量,您可以增强事务的获利功能。

获利变量

获利变量名称是预定义的,您无法创建、修改或删除变量。您可以将请求变量或响应变量分配给获利变量。

下表介绍了 Apigee 中提供的获利变量:

获利变量 数据类型 说明
currency 字符串 指定用于计算事务收益的币种。
perUnitPriceMultiplier 浮点数 指定每事务费用需要乘以的倍数(系数)。每事务费用在费率方案的基于用量的费用价格中指定。仅当事务可获利时,才会对事务执行乘法。满足以下任一条件时,事务可获利:
  • transactionSuccess 变量为 true
  • transactionSuccess 变量为 NULL,且 message.status.code2xx(成功)。
revShareGrossPrice 浮点数

指定用于计算开发者分成的事务收益。仅当您在费率方案中启用收益分成时,Apigee 才会计算开发者的分成。

transactionSuccess 布尔值 指定事务是否应获利。
  • 如果该变量设置为 true,则事务获利。
  • 如果该变量设置为 false,则事务不会获利。
  • 如果未指定此变量,事务将根据 message.status.code 变量中提供的 HTTP 状态代码的值获利。如果响应的 HTTP 状态代码为 NULL 或 >=300,则事务不会获利;对于所有其他状态代码,事务获利。

值分配示例

以下示例展示了如何为获利变量分配值:

currency

以下示例将响应中 booking[0].currency JSON 元素的值分配给 currency 变量:

<Capture>
  <Collect>
    <Source>response</Source>
    <JSONPayload>
      <JSONPath>booking[0].currency</JSONPath>
    </JSONPayload>
  </Collect>
  <DataCollector scope="monetization">currency</DataCollector>
</Capture>
    

perUnitPriceMultiplier

以下示例将响应中 booking[0].factor JSON 元素的值分配给 perUnitPriceMultiplier 变量:

<Capture>
  <Collect>
    <Source>response</Source>
    <JSONPayload>
      <JSONPath>booking[0].factor</JSONPath>
    </JSONPayload>
  </Collect>
  <DataCollector scope="monetization">perUnitPriceMultiplier</DataCollector>
</Capture>
    

revShareGrossPrice

以下示例将响应标头中 minPrice 变量的值分配给 revShareGrossPrice 变量:

<Capture>
  <Collect>
    <Source>response</Source>
    <Header name="minPrice">
      <Pattern ignoreCase="true">{$}</Pattern>
    </Header>
  </Collect>
  <DataCollector scope="monetization">revShareGrossPrice</DataCollector>
</Capture>
    

transactionSuccess

以下示例将响应标头中 bookingStatus 变量的值分配给 transactionSuccess 变量:

<Capture>
  <Collect>
    <Source>response</Source>
    <Header name="bookingStatus">
      <Pattern ignoreCase="true">{$}</Pattern>
    </Header>
  </Collect>
  <DataCollector scope="monetization">transactionSuccess</DataCollector>
</Capture>