Remove Membership

This call makes a request to remove existing members from a group. All subscriptions or sub-groups specified must be direct children of the parent group.

When a group member (subscription or sub-group) leaves a group, the group hierarchy is split into the original group (the parent) and the subscription or sub-group that is leaving the group (the child) and an MtxGroupRemoveMembershipEvent EDR is generated.
Note: Specifying a user in the AdminArray removes the admin role from that user (if assigned) and the associated user will retain any other roles.
If a G/L balance is in the parent:
  • The parent retains the G/L balance. The G/L balance is consistent and no changes are made.
  • The child has no G/L balance for its aggregated balances that were contributing to the G/L balance. All of the virtual balances (recursively down) that contributed to that G/L balance are removed.

At this point, the Charging Server updates metadata about the number of purchased offer references from the removed member and its descendants for any at-tier balances in the parent's wallet. Required tier G/L balances are not removed immediately when there are no more purchased offer references to the required tier balance because the balance may be referenced by the local purchased offers of the group at the tier. In this case, the next maintenance time of the tier balance owner is recalculated when there are no more associated purchased offers so that the balance can be purged if needed.

If a G/L balance is in the child:
  • The parent loses a G/L balance contributing to its virtual balances. However, it is possible that there are multiple G/L balances contributing up. The MATRIXX Charging Application detects when there are no longer any G/L balances contributing to the virtual balance and removes the virtual balance at this point. This continues recursively to the root.
  • The child has the G/L balance. It is consistent and no changes are needed.
Table 1. REST Example
URL
PUT http://host:port/rsgateway/data/v3/group/<Group OID>/remove_members
Request XML
<MtxRequestGroupRemoveMembership>
    <SubscriberArray>
        <MtxSubscriberSearchData>
            <ExternalId>1234567890</ExternalId>
        </MtxSubscriberSearchData>
        <MtxSubscriberSearchData>
            <ExternalId>9876543210</ExternalId>
        </MtxSubscriberSearchData>
    </SubscriberArray>
</MtxRequestGroupRemoveMembership>
Response
<MtxResponse>
    <RouteId>1</RouteId>
    <Result>0</Result>
    <ResultText>Member removed</ResultText>
</MtxResponse>