Context
A customer has 2 states:
-
A functional state (Status), which can be seen as a simplified or external state
-
A technical state (StateCustomer), which reflects the functional state and adds information about the customer lifecycle.
Functional states
This state is the one you will most likely care about. It indicates the state of the customer from an external point of view and is most likely the information an external software will require.
Functional state (Status) |
Description |
Enabled | The customer can subscribe, access its customer portal, update its subscription, download its invoices, update its payment info … |
Suspended | The customer has been suspended. Its customer portal and hosted pages cannot be accessed anymore. Its invoices cannot be opened (but can be exported). |
Technical states
This state is useful only if you want more accurate information about a customer. It allows you to see where the customer is in its state machine.
Note : At the moment we write that article, there is no difference between the 2 states, however there will be differences in the incoming months.
Technical state | Functional state (StateCustomer) |
Description |
---|---|---|
Enabled | Enabled | The customer can subscribe, access its customer portal, update its subscription, download its invoices, … |
Suspended | Suspended | The customer has been suspended, it’s customer portal and hosted pages cannot be accessed anymore. Its invoices cannot be opened (but can be exported) |
Example of a JSON-format customer
{ "Id": 42", ... "ReferenceCustomer": "123456", "Status": "Enabled", // Functional state "StateCustomer": "Enabled", // Technical state ... }