---
sidebar_position: 2
---

# Create composite post
 Creates a post based on an array of object identifiers (images, videos, etc..)


*Function CreateCompositePost(Val Text, Val Objects, Val Advertisement = False, Val LinkUnderPost = "", Val Parameters = "") Export*

 | Parameter | CLI option | Type | Destination |
 |-|-|-|-|
 | Text | --text | String | Post text |
 | Objects | --objects | Array of String | Array of identifiers like photo123_123 |
 | Advertisement | --ad | Boolean | Sign ""This is an ad"" |
 | LinkUnderPost | --url | String | Link (URL) under the post |
 | Parameters | --auth | Structure Of String | Authorization JSON or path to .json |

 
 Returns: Map Of KeyAndValue - Serialized JSON response from VK

```bsl title="Code example"
	
 Parameters = GetVKParameters();
 Text = "Post from autotest";
 URL = "https://github.com/Bayselonarrend/OpenIntegrations";
 
 Image = "https://openintegrations.dev/test_data/picture.jpg"; // URL, Path or Binary Data
 Video = "https://openintegrations.dev/test_data/video.mp4"; // URL, Path or Binary Data
 
 TFN = GetTempFileName("png");
 FileCopy(Image, TFN);
 
 ImageUpload = OPI_VK.UploadPhotoToServer(TFN, Parameters)["response"][0];
 VideoUpload = OPI_VK.UploadVideoToServer(Video, "NewVideo",,, Parameters);
 
 ImageOwner = OPI_Tools.NumberToString(ImageUpload["owner_id"]);
 VideoOwner = OPI_Tools.NumberToString(VideoUpload["owner_id"]);
 
 ImageID = OPI_Tools.NumberToString(ImageUpload["id"]);
 VideoID = OPI_Tools.NumberToString(VideoUpload["video_id"]);
 
 AttachmentsArray = New Array;
 AttachmentsArray.Add("photo" + ImageOwner + "_" + ImageID);
 AttachmentsArray.Add("video" + VideoOwner + "_" + VideoID);
 
 Result = OPI_VK.CreateCompositePost(Text, AttachmentsArray, False, URL, Parameters);
	
```

```sh title="CLI command example"
 
 oint vk CreateCompositePost --text %text% --objects %objects% --ad %ad% --url %url% --auth %auth%

```


```json title="Result"

{
 "response": {
 "post_id": 2126
 }
}

```
