Chilkat Online Tools

TCL / Salesforce Platform APIs / List of Groups - POST

Back to Collection Items

load ./chilkat.dll

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Adds the "Authorization: Bearer <access_token>" header.
CkHttp_put_AuthToken $http "<access_token>"

# resp is a CkHttpResponse
set resp [CkHttp_QuickRequest $http "POST" "=true"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    exit
}

set sbResponseBody [new_CkStringBuilder]

CkHttpResponse_GetBodySb $resp $sbResponseBody

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Failed."
    delete_CkHttpResponse $resp

    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

delete_CkHttpResponse $resp

# 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

set additionalLabel [CkJsonObject_stringOf $jResp "additionalLabel"]
set announcement [CkJsonObject_stringOf $jResp "announcement"]
set BannerPhotoUrl [CkJsonObject_stringOf $jResp "bannerPhoto.bannerPhotoUrl"]
set BannerPhotoVersionId [CkJsonObject_stringOf $jResp "bannerPhoto.bannerPhotoVersionId"]
set v_Url [CkJsonObject_stringOf $jResp "bannerPhoto.url"]
set canHaveChatterGuests [CkJsonObject_BoolOf $jResp "canHaveChatterGuests"]
set community [CkJsonObject_stringOf $jResp "community"]
set description [CkJsonObject_stringOf $jResp "description"]
set emailToChatterAddress [CkJsonObject_stringOf $jResp "emailToChatterAddress"]
set fileCount [CkJsonObject_IntOf $jResp "fileCount"]
set id [CkJsonObject_stringOf $jResp "id"]
set Text [CkJsonObject_stringOf $jResp "information.text"]
set Title [CkJsonObject_stringOf $jResp "information.title"]
set isArchived [CkJsonObject_BoolOf $jResp "isArchived"]
set isAutoArchiveDisabled [CkJsonObject_BoolOf $jResp "isAutoArchiveDisabled"]
set isBroadcast [CkJsonObject_BoolOf $jResp "isBroadcast"]
set lastFeedElementPostDate [CkJsonObject_stringOf $jResp "lastFeedElementPostDate"]
set memberCount [CkJsonObject_IntOf $jResp "memberCount"]
set Color [CkJsonObject_stringOf $jResp "motif.color"]
set LargeIconUrl [CkJsonObject_stringOf $jResp "motif.largeIconUrl"]
set MediumIconUrl [CkJsonObject_stringOf $jResp "motif.mediumIconUrl"]
set SmallIconUrl [CkJsonObject_stringOf $jResp "motif.smallIconUrl"]
set SvgIconUrl [CkJsonObject_stringOf $jResp "motif.svgIconUrl"]
set myRole [CkJsonObject_stringOf $jResp "myRole"]
set Id [CkJsonObject_stringOf $jResp "mySubscription.id"]
set mySubscriptionUrl [CkJsonObject_stringOf $jResp "mySubscription.url"]
set name [CkJsonObject_stringOf $jResp "name"]
set AdditionalLabel [CkJsonObject_stringOf $jResp "owner.additionalLabel"]
set CommunityNickname [CkJsonObject_stringOf $jResp "owner.communityNickname"]
set CompanyName [CkJsonObject_stringOf $jResp "owner.companyName"]
set DisplayName [CkJsonObject_stringOf $jResp "owner.displayName"]
set FirstName [CkJsonObject_stringOf $jResp "owner.firstName"]
set ownerId [CkJsonObject_stringOf $jResp "owner.id"]
set IsActive [CkJsonObject_BoolOf $jResp "owner.isActive"]
set IsInThisCommunity [CkJsonObject_BoolOf $jResp "owner.isInThisCommunity"]
set LastName [CkJsonObject_stringOf $jResp "owner.lastName"]
set MotifColor [CkJsonObject_stringOf $jResp "owner.motif.color"]
set MotifLargeIconUrl [CkJsonObject_stringOf $jResp "owner.motif.largeIconUrl"]
set MotifMediumIconUrl [CkJsonObject_stringOf $jResp "owner.motif.mediumIconUrl"]
set MotifSmallIconUrl [CkJsonObject_stringOf $jResp "owner.motif.smallIconUrl"]
set MotifSvgIconUrl [CkJsonObject_stringOf $jResp "owner.motif.svgIconUrl"]
set MySubscription [CkJsonObject_stringOf $jResp "owner.mySubscription"]
set Name [CkJsonObject_stringOf $jResp "owner.name"]
set Message [CkJsonObject_stringOf $jResp "owner.outOfOffice.message"]
set FullEmailPhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.fullEmailPhotoUrl"]
set LargePhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.largePhotoUrl"]
set MediumPhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.mediumPhotoUrl"]
set PhotoVersionId [CkJsonObject_stringOf $jResp "owner.photo.photoVersionId"]
set SmallPhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.smallPhotoUrl"]
set StandardEmailPhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.standardEmailPhotoUrl"]
set PhotoUrl [CkJsonObject_stringOf $jResp "owner.photo.url"]
set Reputation [CkJsonObject_stringOf $jResp "owner.reputation"]
set ownerTitle [CkJsonObject_stringOf $jResp "owner.title"]
set v_Type [CkJsonObject_stringOf $jResp "owner.type"]
set ownerUrl [CkJsonObject_stringOf $jResp "owner.url"]
set UserType [CkJsonObject_stringOf $jResp "owner.userType"]
set pendingRequests [CkJsonObject_IntOf $jResp "pendingRequests"]
set photoFullEmailPhotoUrl [CkJsonObject_stringOf $jResp "photo.fullEmailPhotoUrl"]
set photoLargePhotoUrl [CkJsonObject_stringOf $jResp "photo.largePhotoUrl"]
set photoMediumPhotoUrl [CkJsonObject_stringOf $jResp "photo.mediumPhotoUrl"]
set photoPhotoVersionId [CkJsonObject_stringOf $jResp "photo.photoVersionId"]
set photoSmallPhotoUrl [CkJsonObject_stringOf $jResp "photo.smallPhotoUrl"]
set photoStandardEmailPhotoUrl [CkJsonObject_stringOf $jResp "photo.standardEmailPhotoUrl"]
set photoUrl [CkJsonObject_stringOf $jResp "photo.url"]
set v_type [CkJsonObject_stringOf $jResp "type"]
set url [CkJsonObject_stringOf $jResp "url"]
set visibility [CkJsonObject_stringOf $jResp "visibility"]

delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp

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}"
    }
  ]
}