Context
A subscription has 2 states:
-
A functional state (Status), which can be seen as a simplified or external state
-
A technical state (StateSubscription), which reflects the functional state and adds information about the subscription lifecycle.
Functional States
This state is the one you will most likely care about. It indicates the state of the subscription from an external point of view and is most likely the information an external software will require.
Functional State (Status) |
Description |
Draft | The subscription is not started yet |
Active | The subscription is currently active, meaning the customer can access the service. |
Suspended | The subscription is suspended. |
Ended | The subscription is not active anymore |
Deleted | The subscription is being deleted |
Technical states
This state is useful only if you want to dig deep into how ProAbono works. It indicates where the Subscription is in its state machine, and what are the possible actions and automated outcomes.
If you want to expose your subscriptions state or use those into an external software, use the functional state instead.
This article will tell you more about the lifecycle of subscriptions
Functional State | Technical State (StateSubscription) |
Description |
---|---|---|
Draft | DraftCustomer | Draft create by a customer that did not complete the subscription process |
DraftAgent | Draft create by a agent | |
DraftDelayedStart | Subscription with a scheduled start date | |
DraftDelayedUpgrade | Subscription replacing an active subscription on its next term | |
Active | ActiveRunning | |
ActiveDelayedUpgrade | Subscription replaced by a new one on its next term | |
ActiveDelayedTermination | Subscription terminating on its next term | |
ActiveDelayedSuspension | Subscription suspended on its next term | |
Suspended | SuspendedAgent | Suspended by an agent |
SuspendedNoPaymentInfo | Suspended automatically because payment information are missing | |
SuspendedPaymentDue | Suspended automatically because to many unpaid invoices | |
Ended | EndedComplete | Time-limited subscription ended |
EndedUpgrade | Subscription terminated after a plan change | |
EndedTerminated | Subscription has been terminated | |
Deleted | Deleted |
Example of a JSON-format subscription
{ "Id": 42", ... "ReferenceCustomer": "123456", "Status": "Active", // Functional state "StateSubscription": "ActiveDelayedTermination", // Technical state ... }