Symphony Groups are distribution lists that act as a single identity to chat with and provide support to individual end users. Groups can chat with either external or internal end users, and can only be created by designated users.
You can create a chat room with Group Distribution Lists using Symphony REST APIs using the following steps:
1. Create a room: https://developers.symphony.com/restapi/reference/create-room-v3
2. Add required users to the room: https://developers.symphony.com/restapi/reference/add-member
3. User OAuth2 authentication API to use Groups - Distribution Lists management endpoints: https://developers.symphony.com/restapi/reference/oauth2-authenticate
- set scope- profile-manager
4. Once the API endpoint is authenticated you need to to retrieve the groups to gather the profile ID: https://developers.symphony.com/restapi/reference/getgroup
You will see a a response with the details of the group (Figure 1):
{
"type": "SDL",
"ownerType": "TENANT",
"ownerId": 100,
"name": "Test Group",
"id": "string",
"createdDate": "2023-09-08T12:35:06.780Z",
"createdBy": "string",
"updatedDate": "2023-09-08T12:35:06.780Z",
"updatedBy": "string",
"status": "ACTIVE",
"eTag": "e3a52e72-0854-4401-8c24-e0b17c0ca304",
"members": [
{
"memberTenant": 100,
"memberId": 12345678900000,
"addedDate": "2023-09-08T12:35:06.780Z"
}
],
"profile": {
"displayName": "Test Group",
"companyName": "Acme Corporation",
"email": "testgroup@acme.com",
"mobile": "+33(0)600000000",
"jobTitle": "string",
"jobRole": "Director",
"jobDepartment": "string",
"jobDivision": "string",
"jobPhone": "string",
"jobCity": "string",
"industryOfInterest": [
"Services"
],
"assetClassesOfInterest": [
"Equities"
],
"marketCoverage": [
"EMEA"
],
"responsibility": [
"Escalation"
],
"function": [
"Collateral"
],
"instrument": [
"Equities"
],
"id": "string",
"avatars": [
{
"size": "string",
"url": "string"
}
]
},
"visibilityRestriction": {
"restrictedTenantsList": [
100
],
"restrictedUsersList": [
12345678900000
]
},
"implicitConnection": {
"connectedTenantsList": [
100
],
"connectedUsersList": [
12345678900000
]
},
"interactionTransfer": {
"restrictedTenantsList": [
100
],
"restrictedUsersList": [
12345678900000
]
}
}
Figure 1 Example of an authenticated endpoint response
Be sure to take the Profile ID from this response as it will act as your room userid.
5. Add the profile ID to the room by repeating Step 2.
6. Your new room will now have the required members and the proper Groups as well.