Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New ChilkatHttp
Dim success As Long
' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequest("POST","=true")
If (http.LastMethodSuccess = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0
Debug.Print "Response Body:"
Debug.Print jResp.Emit()
Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
Debug.Print "Response Header:"
Debug.Print resp.Header
Debug.Print "Failed."
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "additionalLabel": "Private With Customers",
' "announcement": null,
' "bannerPhoto": {
' "bannerPhotoUrl": "https://<my_domain>/profilephoto/0F9/B",
' "bannerPhotoVersionId": null,
' "url": "/services/data/v58.0/chatter/groups/0F9.../banner-photo"
' },
' "canHaveChatterGuests": true,
' "community": null,
' "description": "Created via API",
' "emailToChatterAddress": "0F9...@post.2o-i6mbeaq.eu25.chatter.salesforce.com",
' "fileCount": 0,
' "id": "0F9...",
' "information": {
' "text": null,
' "title": null
' },
' "isArchived": false,
' "isAutoArchiveDisabled": false,
' "isBroadcast": false,
' "lastFeedElementPostDate": "2023-11-22T11:29:05.000Z",
' "memberCount": 1,
' "motif": {
' "color": "1B96FF",
' "largeIconUrl": "/img/icon/groups64.png",
' "mediumIconUrl": "/img/icon/groups32.png",
' "smallIconUrl": "/img/icon/groups16.png",
' "svgIconUrl": null
' },
' "myRole": "GroupOwner",
' "mySubscription": {
' "id": "0FB...",
' "url": "/services/data/v58.0/chatter/group-memberships/0FB..."
' },
' "name": "New Chatter Group (Private Access)",
' "owner": {
' "additionalLabel": null,
' "communityNickname": "User1696423780773910041",
' "companyName": "Salesforce",
' "displayName": "Name",
' "firstName": "Firstname",
' "id": "005...",
' "isActive": true,
' "isInThisCommunity": true,
' "lastName": "Name",
' "motif": {
' "color": "1B96FF",
' "largeIconUrl": "/img/icon/profile64.png",
' "mediumIconUrl": "/img/icon/profile32.png",
' "smallIconUrl": "/img/icon/profile16.png",
' "svgIconUrl": null
' },
' "mySubscription": null,
' "name": "Name",
' "outOfOffice": {
' "message": ""
' },
' "photo": {
' "fullEmailPhotoUrl": "https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0IogXzXAXaYKJnuWCNQmXymRq?fromEmail=1",
' "largePhotoUrl": "https://<my_domain>/profilephoto/729.../F",
' "mediumPhotoUrl": "https://<my_domain>/profilephoto/729.../M",
' "photoVersionId": "729...",
' "smallPhotoUrl": "https://<my_domain>/profilephoto/729.../T",
' "standardEmailPhotoUrl": "https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0Ioi-dtynkoFWsl46as__TDFU?fromEmail=1",
' "url": "/services/data/v58.0/connect/user-profiles/005.../photo"
' },
' "reputation": null,
' "title": null,
' "type": "User",
' "url": "/services/data/v58.0/chatter/users/005...",
' "userType": "Internal"
' },
' "pendingRequests": 0,
' "photo": {
' "fullEmailPhotoUrl": "https://<my_domain>/img/userprofile/default_group_profile_200_v2.png?fromEmail=1",
' "largePhotoUrl": "https://<my_domain>/profilephoto/0F9/F",
' "mediumPhotoUrl": "https://<my_domain>/profilephoto/0F9/M",
' "photoVersionId": null,
' "smallPhotoUrl": "https://<my_domain>/profilephoto/0F9/T",
' "standardEmailPhotoUrl": "https://<my_domain>/img/userprofile/default_group_profile_45_v2.png?fromEmail=1",
' "url": "/services/data/v58.0/chatter/groups/0F9.../photo"
' },
' "type": "CollaborationGroup",
' "url": "/services/data/v58.0/chatter/groups/0F9...",
' "visibility": "PrivateAccess"
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim additionalLabel As String
additionalLabel = jResp.StringOf("additionalLabel")
Dim announcement As String
announcement = jResp.StringOf("announcement")
Dim BannerPhotoUrl As String
BannerPhotoUrl = jResp.StringOf("bannerPhoto.bannerPhotoUrl")
Dim BannerPhotoVersionId As String
BannerPhotoVersionId = jResp.StringOf("bannerPhoto.bannerPhotoVersionId")
Dim v_Url As String
v_Url = jResp.StringOf("bannerPhoto.url")
Dim canHaveChatterGuests As Long
canHaveChatterGuests = jResp.BoolOf("canHaveChatterGuests")
Dim community As String
community = jResp.StringOf("community")
Dim description As String
description = jResp.StringOf("description")
Dim emailToChatterAddress As String
emailToChatterAddress = jResp.StringOf("emailToChatterAddress")
Dim fileCount As Long
fileCount = jResp.IntOf("fileCount")
Dim id As String
id = jResp.StringOf("id")
Dim Text As String
Text = jResp.StringOf("information.text")
Dim Title As String
Title = jResp.StringOf("information.title")
Dim isArchived As Long
isArchived = jResp.BoolOf("isArchived")
Dim isAutoArchiveDisabled As Long
isAutoArchiveDisabled = jResp.BoolOf("isAutoArchiveDisabled")
Dim isBroadcast As Long
isBroadcast = jResp.BoolOf("isBroadcast")
Dim lastFeedElementPostDate As String
lastFeedElementPostDate = jResp.StringOf("lastFeedElementPostDate")
Dim memberCount As Long
memberCount = jResp.IntOf("memberCount")
Dim Color As String
Color = jResp.StringOf("motif.color")
Dim LargeIconUrl As String
LargeIconUrl = jResp.StringOf("motif.largeIconUrl")
Dim MediumIconUrl As String
MediumIconUrl = jResp.StringOf("motif.mediumIconUrl")
Dim SmallIconUrl As String
SmallIconUrl = jResp.StringOf("motif.smallIconUrl")
Dim SvgIconUrl As String
SvgIconUrl = jResp.StringOf("motif.svgIconUrl")
Dim myRole As String
myRole = jResp.StringOf("myRole")
Dim Id As String
Id = jResp.StringOf("mySubscription.id")
Dim mySubscriptionUrl As String
mySubscriptionUrl = jResp.StringOf("mySubscription.url")
Dim name As String
name = jResp.StringOf("name")
Dim AdditionalLabel As String
AdditionalLabel = jResp.StringOf("owner.additionalLabel")
Dim CommunityNickname As String
CommunityNickname = jResp.StringOf("owner.communityNickname")
Dim CompanyName As String
CompanyName = jResp.StringOf("owner.companyName")
Dim DisplayName As String
DisplayName = jResp.StringOf("owner.displayName")
Dim FirstName As String
FirstName = jResp.StringOf("owner.firstName")
Dim ownerId As String
ownerId = jResp.StringOf("owner.id")
Dim IsActive As Long
IsActive = jResp.BoolOf("owner.isActive")
Dim IsInThisCommunity As Long
IsInThisCommunity = jResp.BoolOf("owner.isInThisCommunity")
Dim LastName As String
LastName = jResp.StringOf("owner.lastName")
Dim MotifColor As String
MotifColor = jResp.StringOf("owner.motif.color")
Dim MotifLargeIconUrl As String
MotifLargeIconUrl = jResp.StringOf("owner.motif.largeIconUrl")
Dim MotifMediumIconUrl As String
MotifMediumIconUrl = jResp.StringOf("owner.motif.mediumIconUrl")
Dim MotifSmallIconUrl As String
MotifSmallIconUrl = jResp.StringOf("owner.motif.smallIconUrl")
Dim MotifSvgIconUrl As String
MotifSvgIconUrl = jResp.StringOf("owner.motif.svgIconUrl")
Dim MySubscription As String
MySubscription = jResp.StringOf("owner.mySubscription")
Dim Name As String
Name = jResp.StringOf("owner.name")
Dim Message As String
Message = jResp.StringOf("owner.outOfOffice.message")
Dim FullEmailPhotoUrl As String
FullEmailPhotoUrl = jResp.StringOf("owner.photo.fullEmailPhotoUrl")
Dim LargePhotoUrl As String
LargePhotoUrl = jResp.StringOf("owner.photo.largePhotoUrl")
Dim MediumPhotoUrl As String
MediumPhotoUrl = jResp.StringOf("owner.photo.mediumPhotoUrl")
Dim PhotoVersionId As String
PhotoVersionId = jResp.StringOf("owner.photo.photoVersionId")
Dim SmallPhotoUrl As String
SmallPhotoUrl = jResp.StringOf("owner.photo.smallPhotoUrl")
Dim StandardEmailPhotoUrl As String
StandardEmailPhotoUrl = jResp.StringOf("owner.photo.standardEmailPhotoUrl")
Dim PhotoUrl As String
PhotoUrl = jResp.StringOf("owner.photo.url")
Dim Reputation As String
Reputation = jResp.StringOf("owner.reputation")
Dim ownerTitle As String
ownerTitle = jResp.StringOf("owner.title")
Dim v_Type As String
v_Type = jResp.StringOf("owner.type")
Dim ownerUrl As String
ownerUrl = jResp.StringOf("owner.url")
Dim UserType As String
UserType = jResp.StringOf("owner.userType")
Dim pendingRequests As Long
pendingRequests = jResp.IntOf("pendingRequests")
Dim photoFullEmailPhotoUrl As String
photoFullEmailPhotoUrl = jResp.StringOf("photo.fullEmailPhotoUrl")
Dim photoLargePhotoUrl As String
photoLargePhotoUrl = jResp.StringOf("photo.largePhotoUrl")
Dim photoMediumPhotoUrl As String
photoMediumPhotoUrl = jResp.StringOf("photo.mediumPhotoUrl")
Dim photoPhotoVersionId As String
photoPhotoVersionId = jResp.StringOf("photo.photoVersionId")
Dim photoSmallPhotoUrl As String
photoSmallPhotoUrl = jResp.StringOf("photo.smallPhotoUrl")
Dim photoStandardEmailPhotoUrl As String
photoStandardEmailPhotoUrl = jResp.StringOf("photo.standardEmailPhotoUrl")
Dim photoUrl As String
photoUrl = jResp.StringOf("photo.url")
Dim v_type As String
v_type = jResp.StringOf("type")
Dim url As String
url = jResp.StringOf("url")
Dim visibility As String
visibility = jResp.StringOf("visibility")
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
https://domain.com/services/data/v{{version}}/chatter/groups?name=New Chatter Group (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests =true
Postman Collection Item JSON
{
"name": "List of Groups - POST",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
},
{
"listen": "test",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {}
},
"request": {
"method": "POST",
"header": [
],
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/chatter/groups?name=New Chatter Group (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests\t=true",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"chatter",
"groups"
],
"query": [
{
"key": "name",
"value": "New Chatter Group (Private Access)"
},
{
"key": "visibility",
"value": "PrivateAccess",
"description": "PrivateAccess—Only members of the group can see posts to this group.\nPublicAccess—All users within the community can see posts to this group.\nUnlisted—Reserved for future use."
},
{
"key": "description",
"value": "Created via API"
},
{
"key": "information",
"value": "Private Information",
"description": "If the group is private, the “Information” section is visible only to members."
},
{
"key": "isArchived",
"value": "false"
},
{
"key": "isAutoArchiveDisabled",
"value": "false",
"description": "true if automatic archiving is turned off for the group, false otherwise. Defaults to false. If true, if there are no posts or comments for 90 days the group is archived."
},
{
"key": "isBroadcast",
"value": "false",
"description": "true if only group owners and managers can create posts in the group, false otherwise."
},
{
"key": "canHaveChatterGuests\t",
"value": "true",
"description": "true if this group allows Chatter customers, false otherwise. After this property is set to true, it cannot be set to false."
}
]
},
"description": "A list of all the groups in the organization. Get information about groups or create a group.\n\nhttps://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_groups_ListOfGroups.htm"
},
"response": [
{
"name": "Successful List of Groups - POST",
"originalRequest": {
"method": "POST",
"header": [
],
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/chatter/groups?name=New Chatter Group (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests\t=true",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"chatter",
"groups"
],
"query": [
{
"key": "name",
"value": "New Chatter Group (Private Access)"
},
{
"key": "visibility",
"value": "PrivateAccess",
"description": "PrivateAccess—Only members of the group can see posts to this group.\nPublicAccess—All users within the community can see posts to this group.\nUnlisted—Reserved for future use."
},
{
"key": "description",
"value": "Created via API"
},
{
"key": "information",
"value": "Private Information",
"description": "If the group is private, the “Information” section is visible only to members."
},
{
"key": "isArchived",
"value": "false"
},
{
"key": "isAutoArchiveDisabled",
"value": "false",
"description": "true if automatic archiving is turned off for the group, false otherwise. Defaults to false. If true, if there are no posts or comments for 90 days the group is archived."
},
{
"key": "isBroadcast",
"value": "false",
"description": "true if only group owners and managers can create posts in the group, false otherwise."
},
{
"key": "canHaveChatterGuests\t",
"value": "true",
"description": "true if this group allows Chatter customers, false otherwise. After this property is set to true, it cannot be set to false."
}
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Date",
"value": "Wed, 22 Nov 2023 11:29:04 GMT"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=63072000; includeSubDomains"
},
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-XSS-Protection",
"value": "1; mode=block"
},
{
"key": "X-Robots-Tag",
"value": "none"
},
{
"key": "Cache-Control",
"value": "no-cache,must-revalidate,max-age=0,no-store,private"
},
{
"key": "Content-Type",
"value": "application/json;charset=UTF-8"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [
],
"body": "{\n \"additionalLabel\": \"Private With Customers\",\n \"announcement\": null,\n \"bannerPhoto\": {\n \"bannerPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/B\",\n \"bannerPhotoVersionId\": null,\n \"url\": \"/services/data/v58.0/chatter/groups/0F9.../banner-photo\"\n },\n \"canHaveChatterGuests\": true,\n \"community\": null,\n \"description\": \"Created via API\",\n \"emailToChatterAddress\": \"0F9...@post.2o-i6mbeaq.eu25.chatter.salesforce.com\",\n \"fileCount\": 0,\n \"id\": \"0F9...\",\n \"information\": {\n \"text\": null,\n \"title\": null\n },\n \"isArchived\": false,\n \"isAutoArchiveDisabled\": false,\n \"isBroadcast\": false,\n \"lastFeedElementPostDate\": \"2023-11-22T11:29:05.000Z\",\n \"memberCount\": 1,\n \"motif\": {\n \"color\": \"1B96FF\",\n \"largeIconUrl\": \"/img/icon/groups64.png\",\n \"mediumIconUrl\": \"/img/icon/groups32.png\",\n \"smallIconUrl\": \"/img/icon/groups16.png\",\n \"svgIconUrl\": null\n },\n \"myRole\": \"GroupOwner\",\n \"mySubscription\": {\n \"id\": \"0FB...\",\n \"url\": \"/services/data/v58.0/chatter/group-memberships/0FB...\"\n },\n \"name\": \"New Chatter Group (Private Access)\",\n \"owner\": {\n \"additionalLabel\": null,\n \"communityNickname\": \"User1696423780773910041\",\n \"companyName\": \"Salesforce\",\n \"displayName\": \"Name\",\n \"firstName\": \"Firstname\",\n \"id\": \"005...\",\n \"isActive\": true,\n \"isInThisCommunity\": true,\n \"lastName\": \"Name\",\n \"motif\": {\n \"color\": \"1B96FF\",\n \"largeIconUrl\": \"/img/icon/profile64.png\",\n \"mediumIconUrl\": \"/img/icon/profile32.png\",\n \"smallIconUrl\": \"/img/icon/profile16.png\",\n \"svgIconUrl\": null\n },\n \"mySubscription\": null,\n \"name\": \"Name\",\n \"outOfOffice\": {\n \"message\": \"\"\n },\n \"photo\": {\n \"fullEmailPhotoUrl\": \"https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0IogXzXAXaYKJnuWCNQmXymRq?fromEmail=1\",\n \"largePhotoUrl\": \"https://<my_domain>/profilephoto/729.../F\",\n \"mediumPhotoUrl\": \"https://<my_domain>/profilephoto/729.../M\",\n \"photoVersionId\": \"729...\",\n \"smallPhotoUrl\": \"https://<my_domain>/profilephoto/729.../T\",\n \"standardEmailPhotoUrl\": \"https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0Ioi-dtynkoFWsl46as__TDFU?fromEmail=1\",\n \"url\": \"/services/data/v58.0/connect/user-profiles/005.../photo\"\n },\n \"reputation\": null,\n \"title\": null,\n \"type\": \"User\",\n \"url\": \"/services/data/v58.0/chatter/users/005...\",\n \"userType\": \"Internal\"\n },\n \"pendingRequests\": 0,\n \"photo\": {\n \"fullEmailPhotoUrl\": \"https://<my_domain>/img/userprofile/default_group_profile_200_v2.png?fromEmail=1\",\n \"largePhotoUrl\": \"https://<my_domain>/profilephoto/0F9/F\",\n \"mediumPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/M\",\n \"photoVersionId\": null,\n \"smallPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/T\",\n \"standardEmailPhotoUrl\": \"https://<my_domain>/img/userprofile/default_group_profile_45_v2.png?fromEmail=1\",\n \"url\": \"/services/data/v58.0/chatter/groups/0F9.../photo\"\n },\n \"type\": \"CollaborationGroup\",\n \"url\": \"/services/data/v58.0/chatter/groups/0F9...\",\n \"visibility\": \"PrivateAccess\"\n}"
}
]
}