Chilkat Online Tools

Swift / Salesforce Platform APIs / List of Groups - POST

Back to Collection Items

func chilkatTest() {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()
    var success: Bool

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

    var resp: CkoHttpResponse? = http.QuickRequest("POST", url: "=true")
    if http.LastMethodSuccess == false {
        print("\(http.LastErrorText)")
        return
    }

    let sbResponseBody = CkoStringBuilder()
    resp!.GetBodySb(sbResponseBody)

    let jResp = CkoJsonObject()
    jResp.LoadSb(sbResponseBody)
    jResp.EmitCompact = false

    print("Response Body:")
    print("\(jResp.Emit())")

    var respStatusCode: Int = resp!.StatusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp!.Header)")
        print("Failed.")
        resp = nil
        return
    }

    resp = nil

    // 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

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