GroupBalanceTransfer

Request a balance transfer from a source group to a target subscriber or group.

For information about balance transfers, see the discussion about balance transfers.

The credit floor adjustment policy options are:
  • 1: No credit floor adjustment
  • 2: Adjust by transferred amount
  • 3: Adjust by source credit floor

SourceIsEventInitiator

If an activity impacts multiple wallets, then multiple EDRs are generated with one primary event associated with the event initiator’s wallet, and one or more secondary events. Secondary events reference the primary event EventId and do not duplicate the primary event balance impact information. When primary and secondary EDRs are generated, they are always in the same MtxEventRecordData.

For other impacted wallets, the MATRIXX Engine generates a secondary event, that records impacts to balances in that wallet. The secondary event can include some information from the primary event such as the ID of the event initiator, and certain tax-related fields. All secondary events include a reference to the primary event with which they are associated.

During balance transfers, a balance quantity is transferred from a source to a target. For example, a subscriber joins a group and a balance is transferred from the subscriber (the source) to the group (the target). In this scenario, the primary event is associated with the subscriber and the secondary event is associated with the group. Assume the subscriber leaves the group and takes a portion of the group balance. A balance is transferred from the group (the source) to the subscriber (the target). By default, the primary event is on the group and the secondary event is on the subscriber. For reporting purposes it may be necessary for the primary event to be on the subscriber because the subscriber initiated the operation. In this case, set SourceIsEventInitiator to "false" to associate the primary event with the subscriber and the secondary event with the group.

Group to Subscriber Transfer Example

This example demonstrates how to set SourceIsEventInitiator to "false" to associate the primary event with the subscriber and the secondary event with the group.
URL http://host:port/rsgateway/data/v3/group/0-1-5-67/wallet/1/transfer
Request XML
<MtxRequestGroupTransferBalance>
  <GroupSearchData>
    <MtxGroupSearchData>
      <ObjectId>0-1-5-67</ObjectId>
    </MtxGroupSearchData>
  </GroupSearchData>
  <BalanceResourceId>1</BalanceResourceId>
  <Amount>5</Amount>
  <AmountIsPct>false</AmountIsPct>
  <TargetSubscriberSearchData>
    <MtxSubscriberSearchData>
      <ObjectId>0-1-5-64</ObjectId>
    </MtxSubscriberSearchData>
  </TargetSubscriberSearchData>
  <TargetBalanceResourceId>2</TargetBalanceResourceId>
  <SourceIsEventInitiator>false</SourceIsEventInitiator>
  <Reason>Subscriber leaving group</Reason>
  <Info>CSR012</Info>
</MtxRequestGroupTransferBalance>
Response
<MtxResponseTransferBalance>
  <Result>0</Result>
  <ResultText>OK</ResultText>
</MtxResponseTransferBalance>

Group to Group Transfer Example

URL http://host:port/rsgateway/data/v3/group/0-1-5-42/wallet/1/transfer
Request XML

<MtxRequestGroupTransferBalance>
  <GroupSearchData>
    <MtxGroupSearchData>
      <ObjectId>0-1-5-42</ObjectId>
    </MtxGroupSearchData>
  </GroupSearchData>
  <BalanceResourceId>1</BalanceResourceId>
  <Amount>10</Amount>
  <AmountIsPct>true</AmountIsPct>
  <TargetGroupSearchData>
    <MtxGroupSearchData>
      <ObjectId>0-1-5-50</ObjectId>
    </MtxGroupSearchData>
  </TargetGroupSearchData>
  <TargetBalanceResourceId>1</TargetBalanceResourceId>
  <SourceIsEventInitiator>true</SourceIsEventInitiator>
  <CreditFloorPolicy>1</CreditFloorPolicy>
  <Reason>Low Balance</Reason>
  <Info>CSR012</Info>
</MtxRequestGroupTransferBalance>
Response
<MtxResponseTransferBalance>
  <Result>0</Result>
  <ResultText>OK</ResultText>
</MtxResponseTransferBalance>