Chilkat Online Tools

VB.NET / Salesforce Platform APIs / List of Groups - POST

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 Chilkat.Http
Dim success As Boolean

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"

Dim resp As Chilkat.HttpResponse = http.QuickRequest("POST","=true")
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("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 = jResp.StringOf("additionalLabel")
Dim announcement As String = jResp.StringOf("announcement")
Dim BannerPhotoUrl As String = jResp.StringOf("bannerPhoto.bannerPhotoUrl")
Dim BannerPhotoVersionId As String = jResp.StringOf("bannerPhoto.bannerPhotoVersionId")
Dim v_Url As String = jResp.StringOf("bannerPhoto.url")
Dim canHaveChatterGuests As Boolean = jResp.BoolOf("canHaveChatterGuests")
Dim community As String = jResp.StringOf("community")
Dim description As String = jResp.StringOf("description")
Dim emailToChatterAddress As String = jResp.StringOf("emailToChatterAddress")
Dim fileCount As Integer = jResp.IntOf("fileCount")
Dim id As String = jResp.StringOf("id")
Dim Text As String = jResp.StringOf("information.text")
Dim Title As String = jResp.StringOf("information.title")
Dim isArchived As Boolean = jResp.BoolOf("isArchived")
Dim isAutoArchiveDisabled As Boolean = jResp.BoolOf("isAutoArchiveDisabled")
Dim isBroadcast As Boolean = jResp.BoolOf("isBroadcast")
Dim lastFeedElementPostDate As String = jResp.StringOf("lastFeedElementPostDate")
Dim memberCount As Integer = jResp.IntOf("memberCount")
Dim Color As String = jResp.StringOf("motif.color")
Dim LargeIconUrl As String = jResp.StringOf("motif.largeIconUrl")
Dim MediumIconUrl As String = jResp.StringOf("motif.mediumIconUrl")
Dim SmallIconUrl As String = jResp.StringOf("motif.smallIconUrl")
Dim SvgIconUrl As String = jResp.StringOf("motif.svgIconUrl")
Dim myRole As String = jResp.StringOf("myRole")
Dim Id As String = jResp.StringOf("mySubscription.id")
Dim mySubscriptionUrl As String = jResp.StringOf("mySubscription.url")
Dim name As String = jResp.StringOf("name")
Dim AdditionalLabel As String = jResp.StringOf("owner.additionalLabel")
Dim CommunityNickname As String = jResp.StringOf("owner.communityNickname")
Dim CompanyName As String = jResp.StringOf("owner.companyName")
Dim DisplayName As String = jResp.StringOf("owner.displayName")
Dim FirstName As String = jResp.StringOf("owner.firstName")
Dim ownerId As String = jResp.StringOf("owner.id")
Dim IsActive As Boolean = jResp.BoolOf("owner.isActive")
Dim IsInThisCommunity As Boolean = jResp.BoolOf("owner.isInThisCommunity")
Dim LastName As String = jResp.StringOf("owner.lastName")
Dim MotifColor As String = jResp.StringOf("owner.motif.color")
Dim MotifLargeIconUrl As String = jResp.StringOf("owner.motif.largeIconUrl")
Dim MotifMediumIconUrl As String = jResp.StringOf("owner.motif.mediumIconUrl")
Dim MotifSmallIconUrl As String = jResp.StringOf("owner.motif.smallIconUrl")
Dim MotifSvgIconUrl As String = jResp.StringOf("owner.motif.svgIconUrl")
Dim MySubscription As String = jResp.StringOf("owner.mySubscription")
Dim Name As String = jResp.StringOf("owner.name")
Dim Message As String = jResp.StringOf("owner.outOfOffice.message")
Dim FullEmailPhotoUrl As String = jResp.StringOf("owner.photo.fullEmailPhotoUrl")
Dim LargePhotoUrl As String = jResp.StringOf("owner.photo.largePhotoUrl")
Dim MediumPhotoUrl As String = jResp.StringOf("owner.photo.mediumPhotoUrl")
Dim PhotoVersionId As String = jResp.StringOf("owner.photo.photoVersionId")
Dim SmallPhotoUrl As String = jResp.StringOf("owner.photo.smallPhotoUrl")
Dim StandardEmailPhotoUrl As String = jResp.StringOf("owner.photo.standardEmailPhotoUrl")
Dim PhotoUrl As String = jResp.StringOf("owner.photo.url")
Dim Reputation As String = jResp.StringOf("owner.reputation")
Dim ownerTitle As String = jResp.StringOf("owner.title")
Dim v_Type As String = jResp.StringOf("owner.type")
Dim ownerUrl As String = jResp.StringOf("owner.url")
Dim UserType As String = jResp.StringOf("owner.userType")
Dim pendingRequests As Integer = jResp.IntOf("pendingRequests")
Dim photoFullEmailPhotoUrl As String = jResp.StringOf("photo.fullEmailPhotoUrl")
Dim photoLargePhotoUrl As String = jResp.StringOf("photo.largePhotoUrl")
Dim photoMediumPhotoUrl As String = jResp.StringOf("photo.mediumPhotoUrl")
Dim photoPhotoVersionId As String = jResp.StringOf("photo.photoVersionId")
Dim photoSmallPhotoUrl As String = jResp.StringOf("photo.smallPhotoUrl")
Dim photoStandardEmailPhotoUrl As String = jResp.StringOf("photo.standardEmailPhotoUrl")
Dim photoUrl As String = jResp.StringOf("photo.url")
Dim v_type As String = jResp.StringOf("type")
Dim url As String = jResp.StringOf("url")
Dim visibility As String = 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}"
    }
  ]
}