unicodeC / Postman API / Merge a Fork
Back to Collection Items
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
void ChilkatSample(void)
{
HCkHttpW http;
BOOL success;
HCkJsonObjectW json;
HCkHttpResponseW resp;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "strategy": "deleteSource",
// "source": "{{source_collection_uid}}",
// "destination": "{{destination_collection_uid}}"
// }
json = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"strategy",L"deleteSource");
CkJsonObjectW_UpdateString(json,L"source",L"{{source_collection_uid}}");
CkJsonObjectW_UpdateString(json,L"destination",L"{{destination_collection_uid}}");
CkHttpW_SetRequestHeader(http,L"Content-Type",L"application/json");
CkHttpW_SetRequestHeader(http,L"X-API-Key",L"{{postman_api_key}}");
resp = CkHttpW_PostJson3(http,L"https://api.getpostman.com/collections/merge",L"application/json",json);
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
return;
}
wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp));
wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
CkHttpResponseW_Dispose(resp);
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
}
Curl Command
curl -X POST
-H "X-API-Key: {{postman_api_key}}"
-H "Content-Type: application/json"
-d '{
"strategy": "deleteSource",
"source": "{{source_collection_uid}}",
"destination": "{{destination_collection_uid}}"
}'
https://api.getpostman.com/collections/merge
Postman Collection Item JSON
{
"name": "Merge a Fork",
"request": {
"method": "POST",
"header": [
{
"name": "Content-Type",
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"strategy\": \"deleteSource\",\n \"source\": \"{{source_collection_uid}}\",\n \"destination\": \"{{destination_collection_uid}}\"\n}"
},
"url": {
"raw": "https://api.getpostman.com/collections/merge",
"protocol": "https",
"host": [
"api",
"getpostman",
"com"
],
"path": [
"collections",
"merge"
]
},
"description": "This endpoint allows you to merge a forked collection back to its destination collection.\n\nOn successful creation of the collection, the response returns the collection `name`, `id` and `uid`.\n\nYou need to specify the fork UID (as `source`) and destination collection UID (as `destination`) in the request body.\n\nOptionally, you can also specify the merge strategy as either `deleteSource` or `updateSourceWithDestination`. Following is an explanation of the merge strategies\n\n| Merge Strategy | Behaviour |\n| --- | --- |\n| deleteSource | Forked collection is deleted after merging |\n| updateSourceWithDestination | Forked collection is up to date with changes in destination collection |\n\nIf the collections cannot be merged (due to conflicts), appropriate error messages will be returned.\n\n\n> Requires <a href=\"#authentication\">API Key</a> as `X-Api-Key` request header or `apikey` URL query parameter."
},
"response": [
]
}