Transaction Tags

An App developer may wish to add tags to transaction events generated as a result of running their App.

Tags added to the Transaction Analytics generated by a P6 instance can be used to generate charges that will directly remunerate an App developer.

Tags are defined using entries with the type AppTag in the App Config Service:

Name Value Type
MyTag1 p6_demo.TransactionInfo=//TransactionInfo/BusinessDocName/text() AppTag
MyTag2 p6_demo.TransactionInfo=//TransactionInfo/EndpointName/text() AppTag

The format of an appTag entry in AppConfig is:

[Unique tag name] : [Data type]=[XPATH1 expression to evaluate as tag value]

App Specific Data Type

It is important that your application uses data type values that are unique to ensure tag evaluation only takes place on your App transactions.

For example, when creating transaction primary keys, ensure the datatype field is prefixed with your appKey:

def pk = p6.transaction.buildPK("p6_demo.TransactionInfo", "123", "456")

Evaluation Explained

  • All AppTag AppConfig entries are collected into a memory map
  • When a transaction event occurs, its DataType field is used to identify all matching tags
  • The XPATH1 expression is evaluated against the XML content of the transaction
  • The resulting tagValue is attached with the appKey and tagName to the emitted event