Introduction
...
It is possible to show to the user existing licenses and filter them by status. Client can filter licenses on it's side by next attributes:
- status in [PROCESSING, CHECK_INVALID, ORDER_ERROR, ACTIVE, EXPIRED, SUSPENDED, SUSPENDEDADMIN]
- start_date - when the license was activated, in unix epoch timestamp
- end_date - when the license is going to be deactivated, in unix epoch timestamp
Every license object from returned list include product for which the license was issued
Client may obtain a list of products to combine with a list of licenses to show to the end-user.
Use cases
Let user select product and purchase it
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data": [ { "id": "42", "type": "License", "attributes": { "status": "ACTIVE", "start_date": 1523268666, "stop_date": 1523268698 }, "relationships": { "user": { "data": { "id": "41", "type": "User" } }, "product": { "data": { "id": "41", "type": "Product" } } }, "links": { "self": "https://boox.fi/api/user/waqqas.jabbar@gmail.com/license/10" } } ], "included": [ { "id": "41", "type": "Product", "attributes": { "title": "Sport channels meagpack", "description": "Complete collection fo all sports channels", "type": "CHANNEL_GROUP", "is_premium": true }, "relationships": { "live": { "data": [ { "id": "42", "type": "Channel" } ] }, "catchup": { "data": [ { "id": "42", "type": "Channel" } ] }, "npvr": { "data": [ { "id": "42", "type": "Channel" } ] }, "startover": { "data": [ { "id": "42", "type": "Channel" } ] } } } ] } |
...
Migration from legacy
Legacy endpoint 'api/user/
<email>/license
' (old spec Licenses) replaced with '/api/license/v4//users/{user_id}/licenses
'.