Chilkat Online Tools

PureBasic / Salesforce Platform APIs / Feed Elements, Batch Post

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    ; Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    ; The following JSON is sent in the request body.

    ; {
    ;   "inputs": [
    ;     {
    ;       "richInput": {
    ;         "subjectId": "<USER_GROUP_RECORD_ID>",
    ;         "body": {
    ;           "messageSegments": [
    ;             {
    ;               "type": "Text",
    ;               "text": "Post Number 1"
    ;             }
    ;           ]
    ;         },
    ;         "capabilities": {
    ;           "files": {
    ;             "items": [
    ;               {
    ;                 "id": "<FILE_ID>"
    ;               }
    ;             ]
    ;           }
    ;         },
    ;         "feedElementType": "FeedItem"
    ;       }
    ;     },
    ;     {
    ;       "richInput": {
    ;         "subjectId": "<USER_GROUP_RECORD_ID>",
    ;         "body": {
    ;           "messageSegments": [
    ;             {
    ;               "type": "Text",
    ;               "text": "Post Number 2"
    ;             }
    ;           ]
    ;         },
    ;         "feedElementType": "FeedItem"
    ;       }
    ;     },
    ;     {
    ;       "richInput": {
    ;         "subjectId": "me",
    ;         "body": {
    ;           "messageSegments": [
    ;             {
    ;               "type": "Text",
    ;               "text": "Post Number 3 with Inline"
    ;             },
    ;             {
    ;               "type": "InlineImage",
    ;               "fileId": "<FILE_ID>",
    ;               "altText": "Test Inline"
    ;             }
    ;           ]
    ;         },
    ;         "feedElementType": "FeedItem"
    ;       }
    ;     }
    ;   ]
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"inputs[0].richInput.subjectId","<USER_GROUP_RECORD_ID>")
    CkJsonObject::ckUpdateString(json,"inputs[0].richInput.body.messageSegments[0].type","Text")
    CkJsonObject::ckUpdateString(json,"inputs[0].richInput.body.messageSegments[0].text","Post Number 1")
    CkJsonObject::ckUpdateString(json,"inputs[0].richInput.capabilities.files.items[0].id","<FILE_ID>")
    CkJsonObject::ckUpdateString(json,"inputs[0].richInput.feedElementType","FeedItem")
    CkJsonObject::ckUpdateString(json,"inputs[1].richInput.subjectId","<USER_GROUP_RECORD_ID>")
    CkJsonObject::ckUpdateString(json,"inputs[1].richInput.body.messageSegments[0].type","Text")
    CkJsonObject::ckUpdateString(json,"inputs[1].richInput.body.messageSegments[0].text","Post Number 2")
    CkJsonObject::ckUpdateString(json,"inputs[1].richInput.feedElementType","FeedItem")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.subjectId","me")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.body.messageSegments[0].type","Text")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.body.messageSegments[0].text","Post Number 3 with Inline")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.body.messageSegments[1].type","InlineImage")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.body.messageSegments[1].fileId","<FILE_ID>")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.body.messageSegments[1].altText","Test Inline")
    CkJsonObject::ckUpdateString(json,"inputs[2].richInput.feedElementType","FeedItem")

    ; Adds the "Authorization: Bearer <access_token>" header.
    CkHttp::setCkAuthToken(http, "<access_token>")
    CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")

    resp.i = CkHttp::ckPostJson3(http,"https://domain.com/services/data/v{{version}}/chatter/feed-elements/batch","application/json",json)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        ProcedureReturn
    EndIf

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpResponse::ckGetBodySb(resp,sbResponseBody)

    jResp.i = CkJsonObject::ckCreate()
    If jResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jResp,sbResponseBody)
    CkJsonObject::setCkEmitCompact(jResp, 0)

    Debug "Response Body:"
    Debug CkJsonObject::ckEmit(jResp)

    respStatusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "Response Status Code = " + Str(respStatusCode)
    If respStatusCode >= 400
        Debug "Response Header:"
        Debug CkHttpResponse::ckHeader(resp)
        Debug "Failed."
        CkHttpResponse::ckDispose(resp)

        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        CkStringBuilder::ckDispose(sbResponseBody)
        CkJsonObject::ckDispose(jResp)
        ProcedureReturn
    EndIf

    CkHttpResponse::ckDispose(resp)

    ; Sample JSON response:
    ; (Sample code for parsing the JSON response is shown below)

    ; {
    ;   "hasErrors": true,
    ;   "results": [
    ;     {
    ;       "result": {
    ;         "actor": {
    ;           "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"
    ;         },
    ;         "body": {
    ;           "isRichText": false,
    ;           "messageSegments": [
    ;             {
    ;               "text": "Post Number 1",
    ;               "type": "Text"
    ;             }
    ;           ],
    ;           "text": "Post Number 1"
    ;         },
    ;         "capabilities": {
    ;           "associatedActions": {
    ;             "platformActionGroups": [
    ;             ]
    ;           },
    ;           "bookmarks": {
    ;             "isBookmarkedByCurrentUser": false
    ;           },
    ;           "chatterLikes": {
    ;             "isLikedByCurrentUser": false,
    ;             "likesMessage": null,
    ;             "myLike": null,
    ;             "page": {
    ;               "currentPageToken": 0,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/chatter-likes/items",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "close": {
    ;             "canContextUserUpdateIsClosed": true,
    ;             "isClosed": false
    ;           },
    ;           "comments": {
    ;             "page": {
    ;               "currentPageToken": null,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/comments/items",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "edit": {
    ;             "isEditRestricted": false,
    ;             "isEditableByMeUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/edit/is-editable-by-me",
    ;             "lastEditedBy": null,
    ;             "lastEditedDate": null,
    ;             "latestRevision": 1,
    ;             "relativeLastEditedDate": null
    ;           },
    ;           "interactions": {
    ;             "count": 0
    ;           },
    ;           "mute": {
    ;             "isMutedByMe": false
    ;           },
    ;           "readBy": {
    ;             "isReadByMe": true,
    ;             "lastReadDateByMe": "2023-11-22T11:11:25.000Z",
    ;             "page": {
    ;               "currentPageToken": null,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/read-by/items?pageSize=3",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "status": {
    ;             "feedEntityStatus": "Published",
    ;             "isApprovableByMe": true
    ;           },
    ;           "topics": {
    ;             "canAssignTopics": true,
    ;             "items": [
    ;             ]
    ;           },
    ;           "upDownVote": {
    ;             "downVoteCount": 0,
    ;             "myVote": "None",
    ;             "upVoteCount": 0
    ;           }
    ;         },
    ;         "clientInfo": {
    ;           "applicationName": "Postman Playground",
    ;           "applicationUrl": null
    ;         },
    ;         "createdDate": "2023-11-22T11:11:25.000Z",
    ;         "event": false,
    ;         "feedElementType": "FeedItem",
    ;         "hasVerifiedComment": false,
    ;         "header": {
    ;           "isRichText": null,
    ;           "messageSegments": [
    ;             {
    ;               "motif": {
    ;                 "color": "1B96FF",
    ;                 "largeIconUrl": "/img/icon/profile64.png",
    ;                 "mediumIconUrl": "/img/icon/profile32.png",
    ;                 "smallIconUrl": "/img/icon/profile16.png",
    ;                 "svgIconUrl": null
    ;               },
    ;               "reference": {
    ;                 "id": "005...",
    ;                 "url": "/services/data/v58.0/chatter/users/005..."
    ;               },
    ;               "text": "Name",
    ;               "type": "EntityLink"
    ;             }
    ;           ],
    ;           "text": "Name"
    ;         },
    ;         "id": "0D5...",
    ;         "isDeleteRestricted": false,
    ;         "isSharable": false,
    ;         "modifiedDate": "2023-11-22T11:11:25.000Z",
    ;         "originalFeedItem": null,
    ;         "originalFeedItemActor": null,
    ;         "parent": {
    ;           "entityLabel": {
    ;             "label": "Account",
    ;             "labelPlural": "Accounts"
    ;           },
    ;           "id": "001...",
    ;           "motif": {
    ;             "color": "5867E8",
    ;             "largeIconUrl": "/img/icon/accounts64.png",
    ;             "mediumIconUrl": "/img/icon/accounts32.png",
    ;             "smallIconUrl": "/img/icon/accounts16.png",
    ;             "svgIconUrl": null
    ;           },
    ;           "mySubscription": null,
    ;           "name": "Burlington Textiles Corp of America",
    ;           "type": "Account",
    ;           "url": "/services/data/v58.0/chatter/records/001..."
    ;         },
    ;         "photoUrl": "https://<my_domain>/profilephoto/729.../T",
    ;         "relativeCreatedDate": "Just now",
    ;         "type": "TextPost",
    ;         "url": "/services/data/v58.0/chatter/feed-elements/0D5...",
    ;         "visibility": "InternalUsers"
    ;       },
    ;       "statusCode": 201
    ;     },
    ;     {
    ;       "result": {
    ;         "actor": {
    ;           "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"
    ;         },
    ;         "body": {
    ;           "isRichText": false,
    ;           "messageSegments": [
    ;             {
    ;               "text": "Post Number 2",
    ;               "type": "Text"
    ;             }
    ;           ],
    ;           "text": "Post Number 2"
    ;         },
    ;         "capabilities": {
    ;           "associatedActions": {
    ;             "platformActionGroups": [
    ;             ]
    ;           },
    ;           "bookmarks": {
    ;             "isBookmarkedByCurrentUser": false
    ;           },
    ;           "chatterLikes": {
    ;             "isLikedByCurrentUser": false,
    ;             "likesMessage": null,
    ;             "myLike": null,
    ;             "page": {
    ;               "currentPageToken": 0,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/chatter-likes/items",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "close": {
    ;             "canContextUserUpdateIsClosed": true,
    ;             "isClosed": false
    ;           },
    ;           "comments": {
    ;             "page": {
    ;               "currentPageToken": null,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/comments/items",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "edit": {
    ;             "isEditRestricted": false,
    ;             "isEditableByMeUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/edit/is-editable-by-me",
    ;             "lastEditedBy": null,
    ;             "lastEditedDate": null,
    ;             "latestRevision": 1,
    ;             "relativeLastEditedDate": null
    ;           },
    ;           "interactions": {
    ;             "count": 0
    ;           },
    ;           "mute": {
    ;             "isMutedByMe": false
    ;           },
    ;           "readBy": {
    ;             "isReadByMe": true,
    ;             "lastReadDateByMe": "2023-11-22T11:11:25.000Z",
    ;             "page": {
    ;               "currentPageToken": null,
    ;               "currentPageUrl": "/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/read-by/items?pageSize=3",
    ;               "items": [
    ;               ],
    ;               "nextPageToken": null,
    ;               "nextPageUrl": null,
    ;               "previousPageToken": null,
    ;               "previousPageUrl": null,
    ;               "total": 0
    ;             }
    ;           },
    ;           "status": {
    ;             "feedEntityStatus": "Published",
    ;             "isApprovableByMe": true
    ;           },
    ;           "topics": {
    ;             "canAssignTopics": true,
    ;             "items": [
    ;             ]
    ;           },
    ;           "upDownVote": {
    ;             "downVoteCount": 0,
    ;             "myVote": "None",
    ;             "upVoteCount": 0
    ;           }
    ;         },
    ;         "clientInfo": {
    ;           "applicationName": "Postman Playground",
    ;           "applicationUrl": null
    ;         },
    ;         "createdDate": "2023-11-22T11:11:25.000Z",
    ;         "event": false,
    ;         "feedElementType": "FeedItem",
    ;         "hasVerifiedComment": false,
    ;         "header": {
    ;           "isRichText": null,
    ;           "messageSegments": [
    ;             {
    ;               "motif": {
    ;                 "color": "1B96FF",
    ;                 "largeIconUrl": "/img/icon/profile64.png",
    ;                 "mediumIconUrl": "/img/icon/profile32.png",
    ;                 "smallIconUrl": "/img/icon/profile16.png",
    ;                 "svgIconUrl": null
    ;               },
    ;               "reference": {
    ;                 "id": "005...",
    ;                 "url": "/services/data/v58.0/chatter/users/005..."
    ;               },
    ;               "text": "Name",
    ;               "type": "EntityLink"
    ;             }
    ;           ],
    ;           "text": "Name"
    ;         },
    ;         "id": "0D5...",
    ;         "isDeleteRestricted": false,
    ;         "isSharable": true,
    ;         "modifiedDate": "2023-11-22T11:11:25.000Z",
    ;         "originalFeedItem": null,
    ;         "originalFeedItemActor": null,
    ;         "parent": {
    ;           "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"
    ;         },
    ;         "photoUrl": "https://<my_domain>/profilephoto/729.../T",
    ;         "relativeCreatedDate": "Just now",
    ;         "type": "TextPost",
    ;         "url": "/services/data/v58.0/chatter/feed-elements/0D5...",
    ;         "visibility": "AllUsers"
    ;       },
    ;       "statusCode": 201
    ;     },
    ;     {
    ;       "result": [
    ;         {
    ;           "errorCode": "INVALID_MARKUP",
    ;           "message": "Error while parsing Rich Text Content: The value of attribute "src" associated with an element type "img" must not contain the '<' character."
    ;         }
    ;       ],
    ;       "statusCode": 400
    ;     }
    ;   ]
    ; }

    ; Sample code for parsing the JSON response...
    ; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

    AdditionalLabel.s
    CommunityNickname.s
    CompanyName.s
    DisplayName.s
    FirstName.s
    Id.s
    IsActive.i
    IsInThisCommunity.i
    LastName.s
    Color.s
    LargeIconUrl.s
    MediumIconUrl.s
    SmallIconUrl.s
    SvgIconUrl.s
    MySubscription.s
    Name.s
    Message.s
    FullEmailPhotoUrl.s
    LargePhotoUrl.s
    MediumPhotoUrl.s
    PhotoVersionId.s
    SmallPhotoUrl.s
    StandardEmailPhotoUrl.s
    v_Url.s
    Reputation.s
    Title.s
    v_Type.s
    ActorUrl.s
    UserType.s
    IsRichText.i
    Text.s
    IsBookmarkedByCurrentUser.i
    IsLikedByCurrentUser.i
    LikesMessage.s
    MyLike.s
    CurrentPageToken.i
    CurrentPageUrl.s
    NextPageToken.s
    NextPageUrl.s
    PreviousPageToken.s
    PreviousPageUrl.s
    Total.i
    CanContextUserUpdateIsClosed.i
    IsClosed.i
    PageCurrentPageToken.s
    PageCurrentPageUrl.s
    PageNextPageToken.s
    PageNextPageUrl.s
    PagePreviousPageToken.s
    PagePreviousPageUrl.s
    PageTotal.i
    IsEditRestricted.i
    IsEditableByMeUrl.s
    LastEditedBy.s
    LastEditedDate.s
    LatestRevision.i
    RelativeLastEditedDate.s
    Count.i
    IsMutedByMe.i
    IsReadByMe.i
    LastReadDateByMe.s
    FeedEntityStatus.s
    IsApprovableByMe.i
    CanAssignTopics.i
    DownVoteCount.i
    MyVote.s
    UpVoteCount.i
    ApplicationName.s
    ApplicationUrl.s
    CreatedDate.s
    v_Event.i
    FeedElementType.s
    HasVerifiedComment.i
    HeaderIsRichText.s
    HeaderText.s
    resultId.s
    IsDeleteRestricted.i
    IsSharable.i
    ModifiedDate.s
    OriginalFeedItem.s
    OriginalFeedItemActor.s
    Label.s
    LabelPlural.s
    ParentId.s
    MotifColor.s
    MotifLargeIconUrl.s
    MotifMediumIconUrl.s
    MotifSmallIconUrl.s
    MotifSvgIconUrl.s
    ParentMySubscription.s
    ParentName.s
    ParentType.s
    ParentUrl.s
    PhotoUrl.s
    RelativeCreatedDate.s
    resultType.s
    resultUrl.s
    Visibility.s
    statusCode.i
    ParentAdditionalLabel.s
    ParentCommunityNickname.s
    ParentCompanyName.s
    ParentDisplayName.s
    ParentFirstName.s
    ParentIsActive.i
    ParentIsInThisCommunity.i
    ParentLastName.s
    OutOfOfficeMessage.s
    PhotoFullEmailPhotoUrl.s
    PhotoLargePhotoUrl.s
    PhotoMediumPhotoUrl.s
    PhotoPhotoVersionId.s
    PhotoSmallPhotoUrl.s
    PhotoStandardEmailPhotoUrl.s
    ParentReputation.s
    ParentTitle.s
    ParentUserType.s
    j.i
    count_j.i
    text.s
    v_type.s
    motifColor.s
    motifLargeIconUrl.s
    motifMediumIconUrl.s
    motifSmallIconUrl.s
    motifSvgIconUrl.s
    referenceId.s
    referenceUrl.s
    errorCode.s
    message.s

    hasErrors.i = CkJsonObject::ckBoolOf(jResp,"hasErrors")
    i.i = 0
    count_i.i = CkJsonObject::ckSizeOfArray(jResp,"results")
    While i < count_i
        CkJsonObject::setCkI(jResp, i)
        AdditionalLabel = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.additionalLabel")
        CommunityNickname = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.communityNickname")
        CompanyName = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.companyName")
        DisplayName = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.displayName")
        FirstName = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.firstName")
        Id = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.id")
        IsActive = CkJsonObject::ckBoolOf(jResp,"results[i].result.actor.isActive")
        IsInThisCommunity = CkJsonObject::ckBoolOf(jResp,"results[i].result.actor.isInThisCommunity")
        LastName = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.lastName")
        Color = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.motif.color")
        LargeIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.motif.largeIconUrl")
        MediumIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.motif.mediumIconUrl")
        SmallIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.motif.smallIconUrl")
        SvgIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.motif.svgIconUrl")
        MySubscription = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.mySubscription")
        Name = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.name")
        Message = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.outOfOffice.message")
        FullEmailPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.fullEmailPhotoUrl")
        LargePhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.largePhotoUrl")
        MediumPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.mediumPhotoUrl")
        PhotoVersionId = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.photoVersionId")
        SmallPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.smallPhotoUrl")
        StandardEmailPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.standardEmailPhotoUrl")
        v_Url = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.photo.url")
        Reputation = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.reputation")
        Title = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.title")
        v_Type = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.type")
        ActorUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.url")
        UserType = CkJsonObject::ckStringOf(jResp,"results[i].result.actor.userType")
        IsRichText = CkJsonObject::ckBoolOf(jResp,"results[i].result.body.isRichText")
        Text = CkJsonObject::ckStringOf(jResp,"results[i].result.body.text")
        IsBookmarkedByCurrentUser = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.bookmarks.isBookmarkedByCurrentUser")
        IsLikedByCurrentUser = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.chatterLikes.isLikedByCurrentUser")
        LikesMessage = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.likesMessage")
        MyLike = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.myLike")
        CurrentPageToken = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.chatterLikes.page.currentPageToken")
        CurrentPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.page.currentPageUrl")
        NextPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.page.nextPageToken")
        NextPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.page.nextPageUrl")
        PreviousPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.page.previousPageToken")
        PreviousPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.chatterLikes.page.previousPageUrl")
        Total = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.chatterLikes.page.total")
        CanContextUserUpdateIsClosed = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.close.canContextUserUpdateIsClosed")
        IsClosed = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.close.isClosed")
        PageCurrentPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.currentPageToken")
        PageCurrentPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.currentPageUrl")
        PageNextPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.nextPageToken")
        PageNextPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.nextPageUrl")
        PagePreviousPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.previousPageToken")
        PagePreviousPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.comments.page.previousPageUrl")
        PageTotal = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.comments.page.total")
        IsEditRestricted = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.edit.isEditRestricted")
        IsEditableByMeUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.edit.isEditableByMeUrl")
        LastEditedBy = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.edit.lastEditedBy")
        LastEditedDate = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.edit.lastEditedDate")
        LatestRevision = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.edit.latestRevision")
        RelativeLastEditedDate = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.edit.relativeLastEditedDate")
        Count = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.interactions.count")
        IsMutedByMe = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.mute.isMutedByMe")
        IsReadByMe = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.readBy.isReadByMe")
        LastReadDateByMe = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.lastReadDateByMe")
        PageCurrentPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.currentPageToken")
        PageCurrentPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.currentPageUrl")
        PageNextPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.nextPageToken")
        PageNextPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.nextPageUrl")
        PagePreviousPageToken = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.previousPageToken")
        PagePreviousPageUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.readBy.page.previousPageUrl")
        PageTotal = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.readBy.page.total")
        FeedEntityStatus = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.status.feedEntityStatus")
        IsApprovableByMe = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.status.isApprovableByMe")
        CanAssignTopics = CkJsonObject::ckBoolOf(jResp,"results[i].result.capabilities.topics.canAssignTopics")
        DownVoteCount = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.upDownVote.downVoteCount")
        MyVote = CkJsonObject::ckStringOf(jResp,"results[i].result.capabilities.upDownVote.myVote")
        UpVoteCount = CkJsonObject::ckIntOf(jResp,"results[i].result.capabilities.upDownVote.upVoteCount")
        ApplicationName = CkJsonObject::ckStringOf(jResp,"results[i].result.clientInfo.applicationName")
        ApplicationUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.clientInfo.applicationUrl")
        CreatedDate = CkJsonObject::ckStringOf(jResp,"results[i].result.createdDate")
        v_Event = CkJsonObject::ckBoolOf(jResp,"results[i].result.event")
        FeedElementType = CkJsonObject::ckStringOf(jResp,"results[i].result.feedElementType")
        HasVerifiedComment = CkJsonObject::ckBoolOf(jResp,"results[i].result.hasVerifiedComment")
        HeaderIsRichText = CkJsonObject::ckStringOf(jResp,"results[i].result.header.isRichText")
        HeaderText = CkJsonObject::ckStringOf(jResp,"results[i].result.header.text")
        resultId = CkJsonObject::ckStringOf(jResp,"results[i].result.id")
        IsDeleteRestricted = CkJsonObject::ckBoolOf(jResp,"results[i].result.isDeleteRestricted")
        IsSharable = CkJsonObject::ckBoolOf(jResp,"results[i].result.isSharable")
        ModifiedDate = CkJsonObject::ckStringOf(jResp,"results[i].result.modifiedDate")
        OriginalFeedItem = CkJsonObject::ckStringOf(jResp,"results[i].result.originalFeedItem")
        OriginalFeedItemActor = CkJsonObject::ckStringOf(jResp,"results[i].result.originalFeedItemActor")
        Label = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.entityLabel.label")
        LabelPlural = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.entityLabel.labelPlural")
        ParentId = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.id")
        MotifColor = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.motif.color")
        MotifLargeIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.motif.largeIconUrl")
        MotifMediumIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.motif.mediumIconUrl")
        MotifSmallIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.motif.smallIconUrl")
        MotifSvgIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.motif.svgIconUrl")
        ParentMySubscription = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.mySubscription")
        ParentName = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.name")
        ParentType = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.type")
        ParentUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.url")
        PhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.photoUrl")
        RelativeCreatedDate = CkJsonObject::ckStringOf(jResp,"results[i].result.relativeCreatedDate")
        resultType = CkJsonObject::ckStringOf(jResp,"results[i].result.type")
        resultUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.url")
        Visibility = CkJsonObject::ckStringOf(jResp,"results[i].result.visibility")
        statusCode = CkJsonObject::ckIntOf(jResp,"results[i].statusCode")
        ParentAdditionalLabel = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.additionalLabel")
        ParentCommunityNickname = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.communityNickname")
        ParentCompanyName = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.companyName")
        ParentDisplayName = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.displayName")
        ParentFirstName = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.firstName")
        ParentIsActive = CkJsonObject::ckBoolOf(jResp,"results[i].result.parent.isActive")
        ParentIsInThisCommunity = CkJsonObject::ckBoolOf(jResp,"results[i].result.parent.isInThisCommunity")
        ParentLastName = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.lastName")
        OutOfOfficeMessage = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.outOfOffice.message")
        PhotoFullEmailPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.fullEmailPhotoUrl")
        PhotoLargePhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.largePhotoUrl")
        PhotoMediumPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.mediumPhotoUrl")
        PhotoPhotoVersionId = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.photoVersionId")
        PhotoSmallPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.smallPhotoUrl")
        PhotoStandardEmailPhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.standardEmailPhotoUrl")
        PhotoUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.photo.url")
        ParentReputation = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.reputation")
        ParentTitle = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.title")
        ParentUserType = CkJsonObject::ckStringOf(jResp,"results[i].result.parent.userType")
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.body.messageSegments")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            text = CkJsonObject::ckStringOf(jResp,"results[i].result.body.messageSegments[j].text")
            v_type = CkJsonObject::ckStringOf(jResp,"results[i].result.body.messageSegments[j].type")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.capabilities.associatedActions.platformActionGroups")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.capabilities.chatterLikes.page.items")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.capabilities.comments.page.items")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.capabilities.readBy.page.items")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.capabilities.topics.items")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result.header.messageSegments")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            motifColor = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].motif.color")
            motifLargeIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].motif.largeIconUrl")
            motifMediumIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].motif.mediumIconUrl")
            motifSmallIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].motif.smallIconUrl")
            motifSvgIconUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].motif.svgIconUrl")
            referenceId = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].reference.id")
            referenceUrl = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].reference.url")
            text = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].text")
            v_type = CkJsonObject::ckStringOf(jResp,"results[i].result.header.messageSegments[j].type")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"results[i].result")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            errorCode = CkJsonObject::ckStringOf(jResp,"results[i].result[j].errorCode")
            message = CkJsonObject::ckStringOf(jResp,"results[i].result[j].message")
            j = j + 1
        Wend
        i = i + 1
    Wend


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jResp)


    ProcedureReturn
EndProcedure

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
    "inputs": [
        {
            "richInput": {
                "subjectId": "<USER_GROUP_RECORD_ID>",
                "body": {
                    "messageSegments": [
                        {
                            "type": "Text",
                            "text": "Post Number 1"
                        }
                    ]
                },
                "capabilities": {
                    "files": {
                        "items": [
                            {
                                "id": "<FILE_ID>"
                            }
                        ]
                    }
                },
                "feedElementType": "FeedItem"
            }
        },
        {
            "richInput": {
                "subjectId": "<USER_GROUP_RECORD_ID>",
                "body": {
                    "messageSegments": [
                        {
                            "type": "Text",
                            "text": "Post Number 2"
                        }
                    ]
                },
                "feedElementType": "FeedItem"
            }
        },
        {
            "richInput": {
                "subjectId": "me",
                "body": {
                    "messageSegments": [
                        {
                            "type": "Text",
                            "text": "Post Number 3 with Inline"
                        },
                        {
                            "type": "InlineImage",
                            "fileId": "<FILE_ID>",
                            "altText": "Test Inline"
                        }
                    ]
                },
                "feedElementType": "FeedItem"
            }
        }
    ]
}'
https://domain.com/services/data/v{{version}}/chatter/feed-elements/batch

Postman Collection Item JSON

{
  "name": "Feed Elements, Batch Post",
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    },
    {
      "listen": "test",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"inputs\": [\n        {\n            \"richInput\": {\n                \"subjectId\": \"<USER_GROUP_RECORD_ID>\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 1\"\n                        }\n                    ]\n                },\n                \"capabilities\": {\n                    \"files\": {\n                        \"items\": [\n                            {\n                                \"id\": \"<FILE_ID>\"\n                            }\n                        ]\n                    }\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        },\n        {\n            \"richInput\": {\n                \"subjectId\": \"<USER_GROUP_RECORD_ID>\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 2\"\n                        }\n                    ]\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        },\n        {\n            \"richInput\": {\n                \"subjectId\": \"me\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 3 with Inline\"\n                        },\n                        {\n                            \"type\": \"InlineImage\",\n                            \"fileId\": \"<FILE_ID>\",\n                            \"altText\": \"Test Inline\"\n                        }\n                    ]\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        }\n    ]\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/chatter/feed-elements/batch",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "chatter",
        "feed-elements",
        "batch"
      ]
    },
    "description": "Post a batch of up to 500 feed elements.\n\nhttps://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_feed_element_batch_post.htm"
  },
  "response": [
    {
      "name": "Successful Feed Elements, Batch Post",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"inputs\": [\n        {\n            \"richInput\": {\n                \"subjectId\": \"0012o00003PK8DSAA1\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 1\"\n                        }\n                    ]\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        },\n        {\n            \"richInput\": {\n                \"subjectId\": \"0052o00000DOJ1PAAX\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 2\"\n                        }\n                    ]\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        },\n        {\n            \"richInput\": {\n                \"subjectId\": \"me\",\n                \"body\": {\n                    \"messageSegments\": [\n                        {\n                            \"type\": \"Text\",\n                            \"text\": \"Post Number 3 with Inline\"\n                        },\n                        {\n                            \"type\": \"InlineImage\",\n                            \"fileId\": \"<FILE_ID>\",\n                            \"altText\": \"Test Inline\"\n                        }\n                    ]\n                },\n                \"feedElementType\": \"FeedItem\"\n            }\n        }\n    ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/chatter/feed-elements/batch",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "chatter",
            "feed-elements",
            "batch"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Wed, 22 Nov 2023 11:11:25 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    \"hasErrors\": true,\n    \"results\": [\n        {\n            \"result\": {\n                \"actor\": {\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                \"body\": {\n                    \"isRichText\": false,\n                    \"messageSegments\": [\n                        {\n                            \"text\": \"Post Number 1\",\n                            \"type\": \"Text\"\n                        }\n                    ],\n                    \"text\": \"Post Number 1\"\n                },\n                \"capabilities\": {\n                    \"associatedActions\": {\n                        \"platformActionGroups\": []\n                    },\n                    \"bookmarks\": {\n                        \"isBookmarkedByCurrentUser\": false\n                    },\n                    \"chatterLikes\": {\n                        \"isLikedByCurrentUser\": false,\n                        \"likesMessage\": null,\n                        \"myLike\": null,\n                        \"page\": {\n                            \"currentPageToken\": 0,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/chatter-likes/items\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"close\": {\n                        \"canContextUserUpdateIsClosed\": true,\n                        \"isClosed\": false\n                    },\n                    \"comments\": {\n                        \"page\": {\n                            \"currentPageToken\": null,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/comments/items\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"edit\": {\n                        \"isEditRestricted\": false,\n                        \"isEditableByMeUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/edit/is-editable-by-me\",\n                        \"lastEditedBy\": null,\n                        \"lastEditedDate\": null,\n                        \"latestRevision\": 1,\n                        \"relativeLastEditedDate\": null\n                    },\n                    \"interactions\": {\n                        \"count\": 0\n                    },\n                    \"mute\": {\n                        \"isMutedByMe\": false\n                    },\n                    \"readBy\": {\n                        \"isReadByMe\": true,\n                        \"lastReadDateByMe\": \"2023-11-22T11:11:25.000Z\",\n                        \"page\": {\n                            \"currentPageToken\": null,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/read-by/items?pageSize=3\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"status\": {\n                        \"feedEntityStatus\": \"Published\",\n                        \"isApprovableByMe\": true\n                    },\n                    \"topics\": {\n                        \"canAssignTopics\": true,\n                        \"items\": []\n                    },\n                    \"upDownVote\": {\n                        \"downVoteCount\": 0,\n                        \"myVote\": \"None\",\n                        \"upVoteCount\": 0\n                    }\n                },\n                \"clientInfo\": {\n                    \"applicationName\": \"Postman Playground\",\n                    \"applicationUrl\": null\n                },\n                \"createdDate\": \"2023-11-22T11:11:25.000Z\",\n                \"event\": false,\n                \"feedElementType\": \"FeedItem\",\n                \"hasVerifiedComment\": false,\n                \"header\": {\n                    \"isRichText\": null,\n                    \"messageSegments\": [\n                        {\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                            \"reference\": {\n                                \"id\": \"005...\",\n                                \"url\": \"/services/data/v58.0/chatter/users/005...\"\n                            },\n                            \"text\": \"Name\",\n                            \"type\": \"EntityLink\"\n                        }\n                    ],\n                    \"text\": \"Name\"\n                },\n                \"id\": \"0D5...\",\n                \"isDeleteRestricted\": false,\n                \"isSharable\": false,\n                \"modifiedDate\": \"2023-11-22T11:11:25.000Z\",\n                \"originalFeedItem\": null,\n                \"originalFeedItemActor\": null,\n                \"parent\": {\n                    \"entityLabel\": {\n                        \"label\": \"Account\",\n                        \"labelPlural\": \"Accounts\"\n                    },\n                    \"id\": \"001...\",\n                    \"motif\": {\n                        \"color\": \"5867E8\",\n                        \"largeIconUrl\": \"/img/icon/accounts64.png\",\n                        \"mediumIconUrl\": \"/img/icon/accounts32.png\",\n                        \"smallIconUrl\": \"/img/icon/accounts16.png\",\n                        \"svgIconUrl\": null\n                    },\n                    \"mySubscription\": null,\n                    \"name\": \"Burlington Textiles Corp of America\",\n                    \"type\": \"Account\",\n                    \"url\": \"/services/data/v58.0/chatter/records/001...\"\n                },\n                \"photoUrl\": \"https://<my_domain>/profilephoto/729.../T\",\n                \"relativeCreatedDate\": \"Just now\",\n                \"type\": \"TextPost\",\n                \"url\": \"/services/data/v58.0/chatter/feed-elements/0D5...\",\n                \"visibility\": \"InternalUsers\"\n            },\n            \"statusCode\": 201\n        },\n        {\n            \"result\": {\n                \"actor\": {\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                \"body\": {\n                    \"isRichText\": false,\n                    \"messageSegments\": [\n                        {\n                            \"text\": \"Post Number 2\",\n                            \"type\": \"Text\"\n                        }\n                    ],\n                    \"text\": \"Post Number 2\"\n                },\n                \"capabilities\": {\n                    \"associatedActions\": {\n                        \"platformActionGroups\": []\n                    },\n                    \"bookmarks\": {\n                        \"isBookmarkedByCurrentUser\": false\n                    },\n                    \"chatterLikes\": {\n                        \"isLikedByCurrentUser\": false,\n                        \"likesMessage\": null,\n                        \"myLike\": null,\n                        \"page\": {\n                            \"currentPageToken\": 0,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/chatter-likes/items\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"close\": {\n                        \"canContextUserUpdateIsClosed\": true,\n                        \"isClosed\": false\n                    },\n                    \"comments\": {\n                        \"page\": {\n                            \"currentPageToken\": null,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/comments/items\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"edit\": {\n                        \"isEditRestricted\": false,\n                        \"isEditableByMeUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/edit/is-editable-by-me\",\n                        \"lastEditedBy\": null,\n                        \"lastEditedDate\": null,\n                        \"latestRevision\": 1,\n                        \"relativeLastEditedDate\": null\n                    },\n                    \"interactions\": {\n                        \"count\": 0\n                    },\n                    \"mute\": {\n                        \"isMutedByMe\": false\n                    },\n                    \"readBy\": {\n                        \"isReadByMe\": true,\n                        \"lastReadDateByMe\": \"2023-11-22T11:11:25.000Z\",\n                        \"page\": {\n                            \"currentPageToken\": null,\n                            \"currentPageUrl\": \"/services/data/v58.0/chatter/feed-elements/0D5.../capabilities/read-by/items?pageSize=3\",\n                            \"items\": [],\n                            \"nextPageToken\": null,\n                            \"nextPageUrl\": null,\n                            \"previousPageToken\": null,\n                            \"previousPageUrl\": null,\n                            \"total\": 0\n                        }\n                    },\n                    \"status\": {\n                        \"feedEntityStatus\": \"Published\",\n                        \"isApprovableByMe\": true\n                    },\n                    \"topics\": {\n                        \"canAssignTopics\": true,\n                        \"items\": []\n                    },\n                    \"upDownVote\": {\n                        \"downVoteCount\": 0,\n                        \"myVote\": \"None\",\n                        \"upVoteCount\": 0\n                    }\n                },\n                \"clientInfo\": {\n                    \"applicationName\": \"Postman Playground\",\n                    \"applicationUrl\": null\n                },\n                \"createdDate\": \"2023-11-22T11:11:25.000Z\",\n                \"event\": false,\n                \"feedElementType\": \"FeedItem\",\n                \"hasVerifiedComment\": false,\n                \"header\": {\n                    \"isRichText\": null,\n                    \"messageSegments\": [\n                        {\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                            \"reference\": {\n                                \"id\": \"005...\",\n                                \"url\": \"/services/data/v58.0/chatter/users/005...\"\n                            },\n                            \"text\": \"Name\",\n                            \"type\": \"EntityLink\"\n                        }\n                    ],\n                    \"text\": \"Name\"\n                },\n                \"id\": \"0D5...\",\n                \"isDeleteRestricted\": false,\n                \"isSharable\": true,\n                \"modifiedDate\": \"2023-11-22T11:11:25.000Z\",\n                \"originalFeedItem\": null,\n                \"originalFeedItemActor\": null,\n                \"parent\": {\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                \"photoUrl\": \"https://<my_domain>/profilephoto/729.../T\",\n                \"relativeCreatedDate\": \"Just now\",\n                \"type\": \"TextPost\",\n                \"url\": \"/services/data/v58.0/chatter/feed-elements/0D5...\",\n                \"visibility\": \"AllUsers\"\n            },\n            \"statusCode\": 201\n        },\n        {\n            \"result\": [\n                {\n                    \"errorCode\": \"INVALID_MARKUP\",\n                    \"message\": \"Error while parsing Rich Text Content: The value of attribute &quot;src&quot; associated with an element type &quot;img&quot; must not contain the &#39;&lt;&#39; character.\"\n                }\n            ],\n            \"statusCode\": 400\n        }\n    ]\n}"
    }
  ]
}