Customizing Non-Usage Events
You can map any operation (such as a recurring charge or grant) for an object (subscriber, group, device) to an event (such as a custom MyStatusChangeEvent) and define the fields to be included in the Event Detail Record (EDR).
For example, consider a custom MATRIXX Data Container (MDC), CsrBalanceAdjustEvent that
has a field csr_name
, that extends MtxBalanceAdjustEvent. You can
include the csr_name
field in EDRs by mapping the operation
balance_adjust_subscriber to the custom CsrBalanceAdjustEvent EDR. You must follow the
procedure described in this section to include the custom field in EDRs.
When you create a service type definition, you can specify the fields that are included in EDRs in Event Field Mappings in My MATRIXX for the usage event associated with that service type. The process for including custom fields from non-usage events in an EDR is slightly different.
- During MATRIXX Engine configuration, create a custom MDC that extends a non-usage event.
- In My MATRIXX, create an event and field mapping.
- In Event
Types:
- Create an event based on the custom MDC.
- Create a field mapping that maps incoming fields to an event type MDC.
- In Event
Mappings:
- Edit an event mapping (such as recurring_subscriber) and map the same event to that operation type.
- To include the custom fields in EDRs, set Create Event to true.
- In Event
Types:
- ID: 32
- Path: MtxRecurringEvent | CustomRecurringEvent
- Name
- MtxNormalizedEventType
- ContainerName
- TypeId
- Application
CustomRecurringEvent
is MtxRecurringEvent
.
The event mapping is: - ID: 2
- Op: recurring_subscriber
- Event Type Id: 32
- Create Event: true
status_change_group
operation mapped to the base
MtxStatusChangeEvent
.
<MtxStatusChangeEvent>
<StatusBefore>1</StatusBefore>
<DescriptionBefore>Active</DescriptionBefore>
<StatusAfter>2</StatusAfter>
<DescriptionAfter>Inactive</DescriptionAfter>
<IsSysInit>0</IsSysInit>
<ObjectId>0:1:5:1084</ObjectId>
<ExternalId>group externalId</ExternalId>
<EventTypeArray>
<value>15</value>
</EventTypeArray>
<InitiatorId>0:1:5:1084</InitiatorId>
<InitiatorExternalId>group externalId</InitiatorExternalId>
<Flags>1</Flags>
<WalletId>0:1:5:1085</WalletId>
<EventTime>2012-02-12T12:20:12.021120Z</EventTime>
<EventId>0:1:52:847</EventId>
</MtxStatusChangeEvent>