Campaign Folders
This chapter focuses on services for the campaign folders.
Get all campaign folders
A GET
to /campaign-folders
returns all the campaigns folders that the user is allowed to read.
HTTP request
GET /api/rest/latest/campaign-folders?page=1&size=3 HTTP/1.1
Accept: application/json
Host: localhost:8080
Request parameters
Parameter | Description |
---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
|
which type of the element should be returned (optional) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1390
{
"_embedded" : {
"campaign-folders" : [ {
"_type" : "campaign-folder",
"id" : 100,
"name" : "qualification",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/100"
}
}
}, {
"_type" : "campaign-folder",
"id" : 101,
"name" : "CP-18.01",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/101"
}
}
}, {
"_type" : "campaign-folder",
"id" : 102,
"name" : "DX-U17",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/102"
}
}
} ]
},
"_links" : {
"first" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders?page=0&size=3"
},
"prev" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders?page=0&size=3"
},
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders?page=1&size=3"
},
"next" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders?page=2&size=3"
},
"last" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders?page=3&size=3"
}
},
"page" : {
"size" : 3,
"totalElements" : 10,
"totalPages" : 4,
"number" : 1
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the user is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |
Get campaign folders tree by project
A GET
to /campaign-folders/tree/{ids}
returns the campaigns folders tree by projects that the user is allowed to read.
HTTP request
GET /api/rest/latest/campaign-folders/tree/10,11 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 691
[ {
"_type" : "project",
"id" : 10,
"name" : "project-1",
"folders" : [ {
"_type" : "campaign-folder",
"id" : 100,
"name" : "folder1",
"url" : "http://localhost:8080/api/rest/latest/campaign-folders/100",
"children" : [ ]
}, {
"_type" : "campaign-folder",
"id" : 101,
"name" : "folder2",
"url" : "http://localhost:8080/api/rest/latest/campaign-folders/101",
"children" : [ ]
} ]
}, {
"_type" : "project",
"id" : 11,
"name" : "project-2",
"folders" : [ {
"_type" : "campaign-folder",
"id" : 102,
"name" : "folder3",
"url" : "http://localhost:8080/api/rest/latest/campaign-folders/102",
"children" : [ ]
} ]
} ]
Response fields
Path | Type | Description |
---|---|---|
|
|
the type of the entity |
|
|
id of project |
|
|
name of project |
|
|
all folders for the given project |
|
|
the type of the entity |
|
|
id of the campaign folder |
|
|
name of the campaign folder |
|
|
url of the campaign folder |
|
|
children folders |
Create campaign folder
A POST
to /campaign-folders
creates a new campaign folder. The parent object and the name are required; refer to the complete reference of Get campaign folder for the other attributes.
HTTP request
POST /api/rest/latest/campaign-folders HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 203
Host: localhost:8080
{
"_type" : "campaign-folder",
"name" : "Campaign folder 1",
"custom_fields" : [ {
"code" : "cuf1",
"value" : "Cuf1 Value"
} ],
"parent" : {
"_type" : "project",
"id" : 14
}
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1366
{
"_type" : "campaign-folder",
"id" : 33,
"name" : "Campaign folder 1",
"project" : {
"_type" : "project",
"id" : 14,
"name" : "Test Project 1",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
}
}
},
"path" : "/Test Project 1/Campaign folder 1",
"parent" : {
"_type" : "project",
"id" : 14,
"name" : "Test Project 1",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
}
}
},
"created_by" : "admin",
"created_on" : "2017-06-15T10:00:00.000+00:00",
"last_modified_by" : "admin",
"last_modified_on" : "2017-06-15T10:00:00.000+00:00",
"description" : null,
"custom_fields" : [ {
"code" : "cuf1",
"label" : "Lib Cuf1",
"value" : "Cuf1 Value"
}, {
"code" : "cuf2",
"label" : "Lib Cuf2",
"value" : "true"
} ],
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33"
},
"project" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
},
"content" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33/content"
},
"attachments" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33/attachments"
}
}
}
Get campaign folder
A GET
to /campaign-folders/{id}
returns the campaign folder with the given id.
Path parameters
Parameter | Description |
---|---|
|
the id of the campaign case folder |
HTTP request
GET /api/rest/latest/campaign-folders/24 HTTP/1.1
Accept: application/json
Host: localhost:8080
Request parameters
Parameter | Description |
---|---|
|
which fields of the elements should be returned (optional) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1380
{
"_type" : "campaign-folder",
"id" : 24,
"name" : "old",
"project" : {
"_type" : "project",
"id" : 10,
"name" : "Mangrove",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/10"
}
}
},
"path" : "/Mangrove/old",
"parent" : {
"_type" : "project",
"id" : 10,
"name" : "Mangrove",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/10"
}
}
},
"created_by" : "User-1",
"created_on" : "2011-09-30T10:00:00.000+00:00",
"last_modified_by" : "admin",
"last_modified_on" : "2017-06-16T10:00:00.000+00:00",
"description" : "<p>where all the old campaigns go</p>",
"custom_fields" : [ {
"code" : "CF_TXT",
"label" : "test level",
"value" : "mandatory"
}, {
"code" : "CF_TAGS",
"label" : "see also",
"value" : [ "walking", "bipedal" ]
} ],
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/24"
},
"project" : {
"href" : "http://localhost:8080/api/rest/latest/projects/10"
},
"content" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/24/content"
},
"attachments" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/24/attachments"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the id of the entity |
|
|
the type of the entity |
|
|
name of the entity |
|
|
project of the entity |
|
|
the location of the entity (either a folder or the project if located at the root of the library) |
|
|
the path of the entity |
|
|
user that created the entity |
|
|
timestamp of the creation (ISO 8601) |
|
|
user that modified the entity the most recently |
|
|
timestamp of last modification (ISO 8601) |
|
|
description of that entity (html) |
|
|
the attachments of that entity |
|
|
related links |
|
|
the custom fields of that campaign folder |
|
|
the label of the custom field |
|
|
the code of the custom field |
|
|
the value of the custom field. The value is either a string (for most custom fields), or an array of strings (for multivalued custom fields eg a tag list) |
Links
Relation | Description |
---|---|
|
the link to this folder |
|
the link to its project |
|
the link to its content |
|
the link to its attachments |
Modify campaign folder
A Patch
to /campaign-folders/{id}
modifies the campaign folder with the given id.
HTTP request
PATCH /api/rest/latest/campaign-folders/33 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 232
Host: localhost:8080
{
"_type" : "campaign-folder",
"name" : "Update - Campaign folder 1",
"description" : "Update - Description Campaign folder 1",
"custom_fields" : [ {
"code" : "cuf2",
"label" : "Cuf-CaC",
"value" : "true"
} ]
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1420
{
"_type" : "campaign-folder",
"id" : 33,
"name" : "Update - Campaign folder 1",
"project" : {
"_type" : "project",
"id" : 14,
"name" : "Test Project 1",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
}
}
},
"path" : "/Test Project 1/Update - Campaign folder 1",
"parent" : {
"_type" : "project",
"id" : 14,
"name" : "Test Project 1",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
}
}
},
"created_by" : "admin",
"created_on" : "2017-06-15T10:00:00.000+00:00",
"last_modified_by" : "admin",
"last_modified_on" : "2017-06-15T10:00:00.000+00:00",
"description" : "Update - Description Campaign folder 1",
"custom_fields" : [ {
"code" : "cuf1",
"label" : "Lib Cuf1",
"value" : "Cuf1 Value"
}, {
"code" : "cuf2",
"label" : "Lib Cuf2",
"value" : "true"
} ],
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33"
},
"project" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14"
},
"content" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33/content"
},
"attachments" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/33/attachments"
}
}
}
Delete campaign folder
A DELETE
to /campaign-folders/{ids}
deletes one or several campaign folder with the given id(s). Remember that deleting a folder entails that its content is deleted as well !
Path parameters
Parameter | Description |
---|---|
|
the list of ids of the campaign folders |
HTTP request
DELETE /api/rest/latest/campaign-folders/51,52 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Get campaign folder contents
A GET
to /campaign-folders/{id}/content
returns the contents of the campaign folder with the given id.
Path parameters
Parameter | Description |
---|---|
|
the id of the campaign-folder |
HTTP request
GET /api/rest/latest/campaign-folders/180/content HTTP/1.1
Accept: application/json
Host: localhost:8080
Request parameters
Parameter | Description |
---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
|
level of depth of the content that should be returned (optional), available values : root or nested (more info in Parameter 'include' section) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1021
{
"_embedded" : {
"content" : [ {
"_type" : "campaign",
"id" : 13,
"name" : "non regression",
"reference" : "",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaigns/13"
}
}
}, {
"_type" : "campaign",
"id" : 150,
"name" : "new features",
"reference" : "",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaigns/150"
}
}
}, {
"_type" : "campaign-folder",
"id" : 1467,
"name" : "non-standard environment acceptance tests",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/1467"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/180/content?page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 3,
"totalPages" : 1,
"number" : 0
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the user is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |