AsyncAPI for entitlement service 0.0.1 documentation
- Protobuf File Spec: ecommerce.proto
Published Messages (entitlementManagement)
The service publishes one of these messages below.
entitlementGranted
Message is sent when user is granted with entitlement. Contains fields from event and the following payload.
Example value
{
"payload": {
"grants": [
{
"id": "string",
"namespace": "string",
"clazz": "string",
"type": "string",
"status": "string",
"appId": "string",
"appType": "string",
"sku": "string",
"userId": "string",
"itemId": "string",
"itemNamespace": "string",
"name": "string",
"useCount": 0,
"source": "string",
"startDate": "2019-08-24T14:15:22Z",
"endDate": "2019-08-24T14:15:22Z",
"grantedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"stackable": true,
"stackedUseCount": 0,
"origin": "string",
"collectionId": "string"
}
],
"metadata": {}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
grants | array<object> | - |
metadata | object | - |
payload.grants[number]
Name | Type | Description |
---|---|---|
id | string | entitlement id |
namespace | string | entitlement namespace |
clazz | string | entitlement class |
type | string | entitlement type |
status | string | entitlement status |
appId | string | appId if entitlement is an app |
appType | string | appType if entitlement is an app |
sku | string | sku for purchased item |
userId | string | userId for this entitlement |
itemId | string | itemId of the entitlement |
itemNamespace | string | itemNamespace for the purchased item |
name | string | entitlement name |
useCount | integer (int32) | useCount for entitlement |
source | string | entitlement source |
startDate | string (date-time) | entitlement start date |
endDate | string (date-time) | entitlement end date |
grantedAt | string (date-time) | entitlement granted at |
createdAt | string (date-time) | entitlement created at |
updatedAt | string (date-time) | entitlement updated at |
stackable | boolean | whether the entitlement is stackable |
stackedUseCount | integer (int32) | the stacked use count in the entitlement |
origin | string | entitlement origin |
collectionId | string | entitlement collection id |
payload.metadata
This is a free-form object.
entitlementUpdated
Message is sent when entitlement is updated. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlement": {
"id": "string",
"namespace": "string",
"clazz": "string",
"type": "string",
"status": "string",
"appId": "string",
"appType": "string",
"sku": "string",
"userId": "string",
"itemId": "string",
"itemNamespace": "string",
"name": "string",
"useCount": 0,
"source": "string",
"startDate": "2019-08-24T14:15:22Z",
"endDate": "2019-08-24T14:15:22Z",
"grantedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"origin": "string",
"collectionId": "string"
},
"oldEntitlement": {
"id": "string",
"namespace": "string",
"clazz": "string",
"type": "string",
"status": "string",
"appId": "string",
"appType": "string",
"sku": "string",
"userId": "string",
"itemId": "string",
"itemNamespace": "string",
"name": "string",
"useCount": 0,
"source": "string",
"startDate": "2019-08-24T14:15:22Z",
"endDate": "2019-08-24T14:15:22Z",
"grantedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"origin": "string",
"collectionId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlement | entitlement | - |
oldEntitlement | entitlement | - |
entitlementRevoked
Message is sent when entitlement is revoked. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementRevocation": {
"entitlementIds": [
"string"
],
"userId": "string"
},
"metadata": {}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementRevocation | object | - |
metadata | object | - |
payload.entitlementRevocation
Name | Type | Description |
---|---|---|
entitlementIds | array | entitlement ids |
userId | string | user id |
payload.metadata
This is a free-form object.
entitlementDisabled
Message is sent when entitlement is disabled. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementStatusChange": {
"entitlementId": "string",
"entitlementName": "string",
"userId": "string",
"status": "ACTIVE",
"previousStatus": "ACTIVE"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementStatusChange | entitlementStatusChange | - |
entitlementEnabled
Message is sent when entitlement is enabled. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementStatusChange": {
"entitlementId": "string",
"entitlementName": "string",
"userId": "string",
"status": "ACTIVE",
"previousStatus": "ACTIVE"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementStatusChange | entitlementStatusChange | - |
entitlementUseCountRevoked
Message is sent when entitlement use count is revoked, only for consumable entitlement. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementUseCountRevocation": {
"entitlementId": "string",
"entitlementName": "string",
"userId": "string",
"useCount": 0,
"count": 0
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementUseCountRevocation | object | - |
payload.entitlementUseCountRevocation
Name | Type | Description |
---|---|---|
entitlementId | string | entitlement id |
entitlementName | string | entitlement name |
userId | string | user id |
useCount | integer | the useCount after entitlement was revoked |
count | integer | the count be revoked |
Published Messages (entitlementConsumption)
The service publishes one of these messages below.
entitlementConsumed
Message is sent when user entitlement is consumed. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementConsumption": {
"entitlementId": "string",
"entitlementName": "string",
"userId": "string",
"useCount": 0,
"count": 0
},
"metadata": {}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementConsumption | object | - |
metadata | object | - |
payload.entitlementConsumption
Name | Type | Description |
---|---|---|
entitlementId | string | entitlement id |
entitlementName | string | entitlement name |
userId | string | user id |
useCount | integer | the useCount after entitlement was consumed |
count | integer | the count be consumed |
payload.metadata
This is a free-form object.
Published Messages (entitlementSale)
The service publishes one of these messages below.
entitlementSellback
Message is sent when user sell entitlement. Contains fields from event and the following payload.
Example value
{
"payload": {
"entitlementSale": {
"entitlementId": "string",
"entitlementName": "string",
"entitlementType": "DURABLE",
"clazz": "string",
"userId": "string",
"useCount": 0,
"count": 0,
"creditSummaries": [
{
"walletId": "string",
"namespace": "string",
"userId": "string",
"amount": 0
}
]
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
payload
Name | Type | Description |
---|---|---|
entitlementSale | object | - |
payload.entitlementSale
Name | Type | Description |
---|---|---|
entitlementId | string | entitlement id |
entitlementName | string | entitlement name |
entitlementType | string | entitlement type |
clazz | string | entitlement clazz |
userId | string | user id |
useCount | integer | the useCount after entitlement was consumed |
count | integer | the count be sold |
creditSummaries | array<object> | credit granted |
payload.entitlementSale.creditSummaries[number]
Name | Type | Description |
---|---|---|
walletId | string | wallet id |
namespace | string | namespace |
userId | string | user id |
amount | integer (int64) | amount need to be paid |
Schemas
entitlement
Name | Type | Description |
---|---|---|
id | string | entitlement id |
namespace | string | entitlement namespace |
clazz | string | entitlement class |
type | string | entitlement type |
status | string | entitlement status |
appId | string | appId if entitlement is an app |
appType | string | appType if entitlement is an app |
sku | string | sku for purchased item |
userId | string | userId for this entitlement |
itemId | string | itemId of the entitlement |
itemNamespace | string | itemNamespace for the purchased item |
name | string | entitlement name |
useCount | integer (int32) | useCount for entitlement |
source | string | entitlement source |
startDate | string (date-time) | entitlement start date |
endDate | string (date-time) | entitlement end date |
grantedAt | string (date-time) | entitlement granted at |
createdAt | string (date-time) | entitlement created at |
updatedAt | string (date-time) | entitlement updated at |
origin | string | - |
collectionId | string | - |
entitlementStatusChange
Name | Type | Description |
---|---|---|
entitlementId | string | entitlement id |
entitlementName | string | entitlement name |
userId | string | user id |
status | string | entitlement status |
previousStatus | string | entitlement status before change |
event
Name | Type | Description |
---|---|---|
id | string | event id |
version | integer | - |
name | string | event name |
namespace | string | event namespace |
parentNamespace | string | - |
timestamp | string (date-time) | - |
clientId | string | client id |
userId | string | the operator id |
traceId | string | trace id |
sessionId | string | session id |