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 |