Product lifecycle API Overview
Lifecycle event flags, sequencing, and ownership for the MAM integration.
Understand the lifecycle events Reach sends to your MAM endpoint.
Overview
This page defines the lifecycle events exchanged between a brand and Reach.
It covers event sequencing, flag meanings, and API ownership.
APIs involved
Mobile Account Management (MAM) API (brand-owned): Reach notifies the brand when lifecycle events occur.
Account Update API (Reach-owned): the brand notifies Reach when account attributes change (for example, address,
custType, eligibility).
This is a business overview with the core lifecycle payload used by the MAM integration.
Lifecycle phases
Bundle-eligible accounts typically move through:
Purchase (order placed)
Activation (relationship established on first activation event)
In-life changes (for example, reconnects)
Disconnection (line-level or final account-level)
Termination (relationship released after a waiting period)
The relationship between Brand Account ID and Reach group account ID is established on the first A event.
Lifecycle event flags
Reach sends notifications to the brand’s MAM API for each lifecycle event.
B
Buy / order placed
Fired for each line at the point of order. Marks the start of the lifecycle sequence.
A
Activation
Fired for each activated line. The first A establishes the relationship between Brand Account ID and Reach group account ID.
D
Line disconnection
Fired when a single line is disconnected. The overall account relationship remains active.
DF
Final disconnection
Fired when the last line in the mobile account is disconnected. Starts the termination waiting window.
R
Reconnection
Fired when any line is reconnected. Resets the termination timer if it occurs within 30 days of DF.
CA
Order cancellation
Order is canceled before shipment. No relationship is established for canceled orders.
T
Termination
Fired 30 days after DF with no subsequent R. Brand marks the mobile account as terminated and releases the account relationship.
Sample MAM payload
Use this payload shape when Reach posts lifecycle updates to the brand endpoint.
Payload notes
eventidentifies the lifecycle trigger.impactedLineslists the line IDs affected by the event.linesis a map keyed by line ID.The first
Aevent establishes the brand-to-Reach account relationship.
Agent parameters
Agent parameters are optional.
Add them only for B and A events when applicable for the purchase mode.
Field summary
accountId
Yes
Unique customer identifier on the brand side, such as account_id or account_number.
accountStatus
Yes
One of INACTIVE, ACTIVATION_IN_PROGRESS, ACTIVE, SUSPENDED, DISCONNECTED, HOTLINED, REJECTED, DISABLED, ACTIVATION_FAILED, PORTING_IN_PROGRESS, PORTING_FAILED, PORT_CANCELLED, INTRA_PORTING_IN_PROGRESS, TERMINATED.
totalActiveLines
Yes
Total number of active lines in the account.
totalPurchasedLines
Yes
Total number of purchased lines in the account.
impactedLines
Yes
List of impacted lines for the event.
event
Yes
Event type. One of B, A, D, DF, R, CA, T.
eventTimestamp
Yes
UTC datetime. Example: 2023-09-13T12:14:15Z.
lines
Yes
Map of line ID to line details.
Line object
firstName
Yes
Customer first name.
lastName
Yes
Customer last name.
emailId
Yes
Customer email address.
reachNumber
No
MDN assigned to the customer.
status
Yes
Current line status.
reachPlanId
Yes
Retail plan ID of the customer.
isPrimary
Yes
Indicates whether the customer is primary.
imei
No
Customer IMEI on network.
activationDate
No
UTC datetime. Example: 2023-09-13T12:14:15Z.
purchaseDate
Yes
UTC datetime. Example: 2023-09-13T12:14:15Z.
disconnectionDate
No
UTC datetime. Example: 2023-09-13T12:14:15Z.
reconnectionDate
No
UTC datetime. Example: 2023-09-13T12:14:15Z.
simPreference
Yes
One of PHYSICAL_SIM or ESIM.
isPortIn
Yes
Indicates whether the customer is a port-in customer.
Account Update API
The brand can call this API to inform Reach about customer updates from the brand side.
Common use cases
Account transfer
Call this when the customer's account ID changes.
Email update
Call this when the customer updates their email ID.
Apply or remove HSI discount
Call this when the brand wants to apply or remove HSI discount eligibility.
Address update
Call this when the customer updates service or billing address.
Customer type update
Call this when the brand wants to update custType.
Request body schema
Content type: application/json
accountId
Yes
string
Customer account ID on the brand side.
newAccountId
No
string
Supply only if the account ID changes.
emailId
No
string <email>
Supply only if email needs to be updated.
isHSIDiscount
Yes, when updating discount eligibility
boolean
true if the customer is eligible for discount. false if the customer is not eligible.
addresses
No
array
Array of ServiceAddress or BillingAddress objects. Maximum 2 items.
custType
No
string
One of Residential, Employees, or CommercialSMB. Supply only if customer type changes.
Response
200— On successful execution, the API returnsSUCCESSstatus.
Endpoint
Request sample
Related docs
Last updated