Versions Compared
Version | Old Version 21 | New Version 22 |
---|---|---|
Changes made by | Former user |
Former user |
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
This section describes BSS communication with AminoTV License v4 API. Products and user licenses are manageable through License Management API.
The license management API consist of two parts: licenses management and products management.
Entities
License resource
Typical license resource may look like the one below and it consists of 3 parts.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "42",
"type": "License",
"attributes": {
"status": "ACTIVE",
"start_date": 1523268666,
"stop_date": 1523268698,
"order_id": "1adc0dbe-3c65-4248-896c-78c049e276c8",
"renew_record": {
"recurring": true,
"expiry_date": 1523268698
},
"purchase_record": {
"price_currency_amount": 1223,
"price_currency_iso4217": "EUR",
"purchase_timestamp": 1526648593,
"payment_method": "credit card"
}
},
"relationships": {
"user": {
"data": {
"id": "41",
"type": "User"
}
},
"product": {
"data": {
"id": "41",
"type": "Product"
}
}
}
} |
Resource identification:
- id - unique license resource identifier - auto generated value, this value is used when operating over license
- type - resource type, must be 'License'
Attributes:
- status - current license status, could be one of [PROCESSING, CHECK_INVALID, ORDER_ERROR, ACTIVE, EXPIRED, SUSPENDED, SUSPENDEDADMIN]:
- ACTIVE - this is the only status which allows end-user to watch the content license was created for, it is default status for newly created o licenses
- SUSPENDED - license was suspended by client through BSS or by AminoTV support via CMS
- SUSPENDEDADMIN - license was suspended by AminoTV script
- EXPIRED - license life time expired, managed by AminoTV scripts
- ORDER_ERROR, CHECK_INVALID, PROCESSING - are internal statuses for matching orders with external systems (Hybris SAP)
Product resource
Authorization
All BSS endpoint endpoints support API key authorization. The header named 'Authorization' with content "Apikey PUT_YOUR_KEY_HERE" must be passed with request.
Licenses management
Fetch licenses
Endpoints overview
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
GetLicenses | /api/license/management/v4/licenses | GET | Fetch list of licenses with filters |
GetLicenseById | /api/license/management/v4/licenses/{license_id} | GET | Get license specified by id |
GetLicensesByUser | /api/license/management/v4/users/{user_id}/licenses | GET | Get all user licenses |
BSS can get list of licenses with filters, all user licenses and single license. GetLicenses and GetLicenseById calls return an array of licenses with all relationships and also contain included section with all products associated to fetched licenses. GetLicenseById will return single license resource and associated product in included section.
Create licenses
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
CreateLicense | /api/license/management/v4/licenses | POST | Grant license on specified product to user |
Delete licenses
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
DeleteLicenseById | /api/license/management/v4/licenses/{license_id} | DELETE | Delete license by id |
Batch operations
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
BatchCreateLicenses | /api/license/management/v4/licenses/batch_create | POST | Create multiple licenses |
BatchDeleteLicenses | /api/license/management/v4/licenses/batch_delete | POST | Delete multiple licenses |
Products management
Fetch products
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
GetAllProducts | /api/license/management/v4/products | GET | Get all product |
GetProductById | /api/license/management/v4/products/{product_id} | GET | Get product bu Id |
Create products
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
CreateProduct | /api/license/management/v4/products | POST | Create new product |
Update products
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
UpdateProduct | /api/license/management/v4/products/{product_id} | PATCH | Update product attributes |
Delete products
Id | Endpoint | HTTP method | Purpose |
---|---|---|---|
DeleteProductById | /api/license/management/v4/products/{product_id} | DELETE | Delete product by id |
Use cases
Migration from legacy
DRM provers support
Irdeto
Table of Contents |
---|