Skip to main content

Chat Events 0.1.0 documentation

info

In this document, PUB means "publish" and SUB means "subscribe". This refers to the "publish/subscribe" (pub/sub) messaging framework, where "publish" means that the service sends data to Kafka topics, and "subscribe" means the service acts as a consumer that subscribes to specific Kafka topics to receive data.

  • Specification ID: http://chat-service
  • Protobuf File Spec: chat.proto

Table of Contents

Operations

PUB personalChat Operation

Message personalChatSent

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.personalChatSentobject---additional properties are allowed
payload.personalChatSent.message_idstring--format (uuid)-
payload.personalChatSent.sender_idstring--format (uuid)-
payload.personalChatSent.target_idstringCan be partyId or userId-format (uuid)-
payload.personalChatSent.payloadstring----
payload.personalChatSent.target_typestring----
payload.personalChatSent.target_membersarray<string>----
payload.personalChatSent.target_members (single item)string----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"personalChatSent": {
"message_id": "d7d9d9fd-478f-40e6-b651-49b7f19878a2",
"sender_id": "3194e023-c19f-4a42-9172-9e18d68e3a3a",
"target_id": "d3bcdc92-4191-401b-ad0c-42056c6efab9",
"payload": "string",
"target_type": "string",
"target_members": [
"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",
"spanContext": "string"
}

PUB chat Operation

Accepts one of the following messages:

Message userConnected

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.userConnectedobject---additional properties are allowed
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"userConnected": {}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userDisconnected

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.userDisconnectedobject---additional properties are allowed
payload.userDisconnected.reasonstring----
payload.userDisconnected.codeinteger----
payload.userDisconnected.forcedboolean----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"userDisconnected": {
"reason": "string",
"code": 0,
"forced": true
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userChatRateLimited

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.userDisconnectedobject---additional properties are allowed
payload.userDisconnected.reasonstring----
payload.userDisconnected.codeinteger----
payload.userDisconnected.forcedboolean----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"userDisconnected": {
"reason": "string",
"code": 0,
"forced": true
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}