Overview
A playbook is a digital canvas used to design and build a journey. It helps to orchestrate the various activities at different stages of a journey.
Use the Playbook service to:
- Design, build, and monitor a customer journey.
- Retrieve, update, and delete a Playbook.
- Fetch all the Journeys.
- Collaborate with SAP Jam users.
The Playbook service uses the Template service to fetch a list of templates for configuring a Journey.
Use a standard REST call to perform all operations related to creating, deleting, viewing, and updating playbooks.
API Reference
/playbooks
This resourceType defines the GET, POST, DELETE methods and their responses for a collection resource.
/playbooks
Retrieves a list of playbooks.
Accepted scopes:
- hybris.playbook_view – Required to retrieve playbooks
Creates a playbook.
Accepted scopes:
- hybris.playbook_manage – Required to create a playbook
get /playbooks
Retrieves a list of playbooks.
Accepted scopes:
- hybris.playbook_view – Required to retrieve playbooks
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- totalCount: (boolean)
This parameter requests to return the total number of object in the collection fulfilling the criteria together with the response. This number will be returned in the 'hybris-count' header.
Example:
true
- sort: (string)
The list of comma-separated properties used to sort the results. By default, the column values are sorted in ascending order. Can either be in the form of fieldName or fieldName:asc,fieldName:desc. If you want to sort by localized attributes, you must use the following form: fieldName.language or fieldName.language:asc,fieldName.language:desc.
Example:
size,species:asc,weight:desc
- fields: (string)
Contains a comma separated list of field identifiers, by which the fields of the response entities should be filtered by. Empty or not initialized value result in a minimal set of entity fields returned. Non-existing or invalid fields will be ignored.
Example:
code,name,description
- q: (string)
The simple query criteria based on available fields to limit returned results or a set of modified documents.
Example:
species:dog name:"Clifford"
- pageNumber: (integer - default: 1 - minimum: 1)
The page number to be retrieved where the size of the pages must be specified by the pageSize parameter. The number of the first page is 1.
Example:
1
- pageSize: (integer - default: 16 - minimum: 1)
The number of documents being retrieved on the page.
Example:
16
- getAll: (boolean)
Indicate whether to get all playbooks or not.
HTTP status code 200
Resource successfully retrieved.
Headers
- hybris-count: (integer)
The total number of objects that fulfil the criteria.
Example:
1000
- Link: required (string - repeat: true)
Link to the current page, the next page and the previous page. Marked accordingly with rel self, rel next and rel prev. The syntax must be conform to RFC-5988. The link to the current page (self) is required and must be provided always. The link to the next page (next) is optional. If not present, the next page is not available, as the current page is the last page of the result. The link to the previous page (prev) is optional. If not present, the previous page is not available, as the current page is the first page of the result.
Example:
<http://sample.com?pageNumber=2&pageSize=10>; rel="self", <http://sample.com?pageNumber=3&pageSize=10>; rel="next"
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Playbooks",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"stages": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Stages",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Stage",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"description": {
"type": "string",
"maxLength": 250
},
"activities": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Activities",
"type": "array",
"items": {
"$ref": "activity"
}
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"name",
"style"
]
}
},
"images": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Images",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Image",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"mediaId": {
"type": "string",
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"notes": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Notes",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Note",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"texts": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Texts",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Text",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"minLength": 0,
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"fontFamily": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"fontSize": {
"type": "integer",
"minimum": "1"
},
"fontWeight": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"fontStyle": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"textDecoration": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"textAlign": {
"type": "string",
"minLength": 1,
"maxLength": 36
}
},
"required": [
"id",
"style"
]
}
},
"connectors": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Connectors",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Connector",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"journey": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journey",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"goal": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal",
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 250
},
"definitions": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Goal definitions",
"type": "array",
"items": {
"$ref": "goalDefinition"
}
}
},
"required": [
"description",
"definitions"
]
}
},
"required": [
"name"
]
},
"collaborationGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"owner": {
"type": "string",
"format": "email"
},
"users": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"format": "email"
}
}
},
"required": [
"name",
"owner"
]
}
}
Example:
{
"name":"Playbook for new product launch",
"stages":[
{
"id":"1",
"rank":1,
"name":"Acquire",
"description":"run various campaign to acquire customers",
"targetGroupId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
},
"activities":[
{
"id":"1",
"templateId":"1",
"rank":1,
"name":"Maruti Breeza Ad Campaign",
"description":"New Facebook Ad Page",
"entityId":"0000045309",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"1",
"overriddenSpend":"500",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"2",
"templateId":"2",
"rank":2,
"name":"Google Adwords",
"description":"Offer for Online Registrations",
"entityId":"0000046014",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"2",
"overriddenSpend":"300",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"3",
"templateId":"3",
"rank":3,
"name":"Upgrade Offers for Customers",
"description":"Email to connect existing Customers",
"entityId":"0000054603",
"owner":"efg.xyz@sap.com",
"edited":"false",
"targetGroupId":"3",
"overriddenSpend":"600",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
]
}
],
"images":[
{
"id":"IMAGE_1",
"mediaId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"notes":[
{
"id":"NOTE_1",
"text":"This is a sample note.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"texts":[
{
"id":"TEXT_1",
"text":"This is a sample text.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)",
"backgroundColor":"3B5999"
},
"fontFamily":"inherit",
"fontSize":23,
"fontWeight":"normal",
"fontStyle":"normal",
"textDecoration":"none",
"textAlign":"left"
}
],
"connectors":[
{
"id":"CONNECTOR_1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)"
},
}
],
"journey":{
"name":"Maruti Vitara Breeza Launch",
"description":"Launch of the New Vehicle Breeza",
"journeyType":"STANDARD"
},
"owner":"abc.xyz@sap.com",
"users":[
"abc.xyz@sap.com",
"efg.xyz@sap.com"
]
}
HTTP status code 400
Request was syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "There are validation problems, see details section for more information",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "validation_violation",
"details": [
{
"field": "pageNumber",
"message": "must be a positive number",
"type": "invalid_query_parameter"
}
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
post /playbooks
Creates a playbook.
Accepted scopes:
- hybris.playbook_manage – Required to create a playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"stages": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Stages",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Stage",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"description": {
"type": "string",
"maxLength": 250
},
"activities": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Activities",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook Activity",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"templateId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"owner": {
"type": "string",
"format": "email"
},
"entityId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"comments": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"marketingAreaId": {
"type": "string",
"maxLength": 36
},
"overriddenSpend": {
"type": "number"
},
"edited": {
"type": "boolean"
},
"style": {
"$ref": "style"
},
"additionalDetails": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name",
"templateId",
"edited",
"style"
]
}
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"name",
"style"
]
}
},
"images": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Images",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Image",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"mediaId": {
"type": "string",
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"notes": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Notes",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Note",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"texts": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Texts",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Text",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"minLength": 0,
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"fontFamily": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"fontSize": {
"type": "integer",
"minimum": "1"
},
"fontWeight": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"fontStyle": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"textDecoration": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"textAlign": {
"type": "string",
"minLength": 1,
"maxLength": 36
}
},
"required": [
"id",
"style"
]
}
},
"connectors": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Connectors",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Connector",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"journey": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journey",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"goal": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal",
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 250
},
"definitions": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Goal definitions",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"action": {
"type": "string",
"enum": [
"INCREASE",
"DECREASE"
]
},
"tileId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"initialValue": {
"type": "number"
},
"value": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"PERCENTAGE",
"X"
]
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"tileId",
"initialValue",
"value",
"unit",
"startDate",
"endDate"
]
}
}
},
"required": [
"description",
"definitions"
]
}
},
"required": [
"name"
]
},
"collaborationGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"owner": {
"type": "string",
"format": "email"
},
"users": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"format": "email"
}
}
},
"required": [
"name",
"owner"
]
}
Example:
{
"name":"Playbook for new product launch",
"stages":[
{
"id":"1",
"rank":1,
"name":"Acquire",
"description":"run various campaign to acquire customers",
"targetGroupId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
},
"activities":[
{
"id":"1",
"templateId":"1",
"rank":1,
"name":"Maruti Breeza Ad Campaign",
"description":"New Facebook Ad Page",
"entityId":"0000045309",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"1",
"overriddenSpend":"500",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"2",
"templateId":"2",
"rank":2,
"name":"Google Adwords",
"description":"Offer for Online Registrations",
"entityId":"0000046014",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"2",
"overriddenSpend":"300",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"3",
"templateId":"3",
"rank":3,
"name":"Upgrade Offers for Customers",
"description":"Email to connect existing Customers",
"entityId":"0000054603",
"owner":"efg.xyz@sap.com",
"edited":"false",
"targetGroupId":"3",
"overriddenSpend":"600",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
]
}
],
"images":[
{
"id":"IMAGE_1",
"mediaId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"notes":[
{
"id":"NOTE_1",
"text":"This is a sample note.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"texts":[
{
"id":"TEXT_1",
"text":"This is a sample text.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)",
"backgroundColor":"3B5999"
},
"fontFamily":"inherit",
"fontSize":23,
"fontWeight":"normal",
"fontStyle":"normal",
"textDecoration":"none",
"textAlign":"left"
}
],
"connectors":[
{
"id":"CONNECTOR_1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)"
},
}
],
"journey":{
"name":"Maruti Vitara Breeza Launch",
"description":"Launch of the New Vehicle Breeza",
"journeyType":"STANDARD"
},
"owner":"abc.xyz@sap.com",
"users":[
"abc.xyz@sap.com",
"efg.xyz@sap.com"
]
}
HTTP status code 201
The collection resource has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
http://www.hybris.com/items/myItem
Body
Type: application/json
Example:
{
"name":"Playbook for new product launch",
"stages":[
{
"id":"1",
"rank":1,
"name":"Acquire",
"description":"run various campaign to acquire customers",
"targetGroupId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
},
"activities":[
{
"id":"1",
"templateId":"1",
"rank":1,
"name":"Maruti Breeza Ad Campaign",
"description":"New Facebook Ad Page",
"entityId":"0000045309",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"1",
"overriddenSpend":"500",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"2",
"templateId":"2",
"rank":2,
"name":"Google Adwords",
"description":"Offer for Online Registrations",
"entityId":"0000046014",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"2",
"overriddenSpend":"300",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"3",
"templateId":"3",
"rank":3,
"name":"Upgrade Offers for Customers",
"description":"Email to connect existing Customers",
"entityId":"0000054603",
"owner":"efg.xyz@sap.com",
"edited":"false",
"targetGroupId":"3",
"overriddenSpend":"600",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
]
}
],
"images":[
{
"id":"IMAGE_1",
"mediaId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"notes":[
{
"id":"NOTE_1",
"text":"This is a sample note.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"texts":[
{
"id":"TEXT_1",
"text":"This is a sample text.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)",
"backgroundColor":"3B5999"
},
"fontFamily":"inherit",
"fontSize":23,
"fontWeight":"normal",
"fontStyle":"normal",
"textDecoration":"none",
"textAlign":"left"
}
],
"connectors":[
{
"id":"CONNECTOR_1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)"
},
}
],
"journey":{
"name":"Maruti Vitara Breeza Launch",
"description":"Launch of the New Vehicle Breeza",
"journeyType":"STANDARD"
},
"owner":"abc.xyz@sap.com",
"users":[
"abc.xyz@sap.com",
"efg.xyz@sap.com"
]
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be created due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
/playbooks/{playbookId}
This resource type defines the GET, PUT, DELETE methods and their responses for a single element resource.
Retrieves a playbook.
Accepted scopes:
- hybris.playbook_view – Required to retrieve a playbook
Updates a playbook.
Accepted scopes:
- hybris.playbook_manage – Required to update a playbook
Deletes a playbook.
Accepted scopes:
- hybris.playbook_delete – Required to delete a playbook
get /playbooks/{playbookId}
Retrieves a playbook.
Accepted scopes:
- hybris.playbook_view – Required to retrieve a playbook
URI Parameters
- playbookId: required (string)
The id of the playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
playbook successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"stages": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Stages",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Stage",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"description": {
"type": "string",
"maxLength": 250
},
"activities": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Activities",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook Activity",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"templateId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"owner": {
"type": "string",
"format": "email"
},
"entityId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"comments": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"marketingAreaId": {
"type": "string",
"maxLength": 36
},
"overriddenSpend": {
"type": "number"
},
"edited": {
"type": "boolean"
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"additionalDetails": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name",
"templateId",
"edited",
"style"
]
}
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"name",
"style"
]
}
},
"images": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Images",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Image",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"mediaId": {
"type": "string",
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"notes": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Notes",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Note",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"texts": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Texts",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Text",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"minLength": 0,
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"fontFamily": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"fontSize": {
"type": "integer",
"minimum": "1"
},
"fontWeight": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"fontStyle": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"textDecoration": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"textAlign": {
"type": "string",
"minLength": 1,
"maxLength": 36
}
},
"required": [
"id",
"style"
]
}
},
"connectors": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Connectors",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Connector",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"journey": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journey",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"goal": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal",
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 250
},
"definitions": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Goal definitions",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"action": {
"type": "string",
"enum": [
"INCREASE",
"DECREASE"
]
},
"tileId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"initialValue": {
"type": "number"
},
"value": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"PERCENTAGE",
"X"
]
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"tileId",
"initialValue",
"value",
"unit",
"startDate",
"endDate"
]
}
}
},
"required": [
"description",
"definitions"
]
}
},
"required": [
"name"
]
},
"collaborationGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"owner": {
"type": "string",
"format": "email"
},
"users": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"format": "email"
}
}
},
"required": [
"name",
"owner"
]
}
Example:
{
"name":"Playbook for new product launch",
"stages":[
{
"id":"1",
"rank":1,
"name":"Acquire",
"description":"run various campaign to acquire customers",
"targetGroupId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
},
"activities":[
{
"id":"1",
"templateId":"1",
"rank":1,
"name":"Maruti Breeza Ad Campaign",
"description":"New Facebook Ad Page",
"entityId":"0000045309",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"1",
"overriddenSpend":"500",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"2",
"templateId":"2",
"rank":2,
"name":"Google Adwords",
"description":"Offer for Online Registrations",
"entityId":"0000046014",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"2",
"overriddenSpend":"300",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"3",
"templateId":"3",
"rank":3,
"name":"Upgrade Offers for Customers",
"description":"Email to connect existing Customers",
"entityId":"0000054603",
"owner":"efg.xyz@sap.com",
"edited":"false",
"targetGroupId":"3",
"overriddenSpend":"600",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
]
}
],
"images":[
{
"id":"IMAGE_1",
"mediaId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"notes":[
{
"id":"NOTE_1",
"text":"This is a sample note.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"texts":[
{
"id":"TEXT_1",
"text":"This is a sample text.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)",
"backgroundColor":"3B5999"
},
"fontFamily":"inherit",
"fontSize":23,
"fontWeight":"normal",
"fontStyle":"normal",
"textDecoration":"none",
"textAlign":"left"
}
],
"connectors":[
{
"id":"CONNECTOR_1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)"
},
}
],
"journey":{
"name":"Maruti Vitara Breeza Launch",
"description":"Launch of the New Vehicle Breeza",
"journeyType":"STANDARD"
},
"owner":"abc.xyz@sap.com",
"users":[
"abc.xyz@sap.com",
"efg.xyz@sap.com"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
put /playbooks/{playbookId}
Updates a playbook.
Accepted scopes:
- hybris.playbook_manage – Required to update a playbook
URI Parameters
- playbookId: required (string)
The id of the playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"stages": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Stages",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Stage",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"description": {
"type": "string",
"maxLength": 250
},
"activities": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Activities",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Playbook Activity",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"templateId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"owner": {
"type": "string",
"format": "email"
},
"entityId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"comments": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"marketingAreaId": {
"type": "string",
"maxLength": 36
},
"overriddenSpend": {
"type": "number"
},
"edited": {
"type": "boolean"
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"additionalDetails": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name",
"templateId",
"edited",
"style"
]
}
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"name",
"style"
]
}
},
"images": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Images",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Image",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"mediaId": {
"type": "string",
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"notes": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Notes",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Note",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"texts": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Texts",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Text",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"text": {
"type": "string",
"minLength": 0,
"maxLength": 500
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
},
"fontFamily": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"fontSize": {
"type": "integer",
"minimum": "1"
},
"fontWeight": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"fontStyle": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"textDecoration": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"textAlign": {
"type": "string",
"minLength": 1,
"maxLength": 36
}
},
"required": [
"id",
"style"
]
}
},
"connectors": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Connectors",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Connector",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"style": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Style",
"type": "object",
"properties": {
"height": {
"type": "integer",
"minimum": "1"
},
"width": {
"type": "integer",
"minimum": "1"
},
"minHeight": {
"type": "integer",
"minimum": "1"
},
"minWidth": {
"type": "integer",
"minimum": "1"
},
"left": {
"type": "integer"
},
"top": {
"type": "integer"
},
"transform": {
"type": "string"
},
"backgroundColor": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"height",
"width",
"minHeight",
"minWidth",
"left",
"top"
]
}
},
"required": [
"id",
"style"
]
}
},
"journey": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journey",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"goal": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal",
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 250
},
"definitions": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Goal definitions",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"action": {
"type": "string",
"enum": [
"INCREASE",
"DECREASE"
]
},
"tileId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"initialValue": {
"type": "number"
},
"value": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"PERCENTAGE",
"X"
]
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"tileId",
"initialValue",
"value",
"unit",
"startDate",
"endDate"
]
}
}
},
"required": [
"description",
"definitions"
]
}
},
"required": [
"name"
]
},
"collaborationGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"owner": {
"type": "string",
"format": "email"
},
"users": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"format": "email"
}
}
},
"required": [
"name",
"owner"
]
}
Example:
{
"name":"Playbook for new product launch",
"stages":[
{
"id":"1",
"rank":1,
"name":"Acquire",
"description":"run various campaign to acquire customers",
"targetGroupId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
},
"activities":[
{
"id":"1",
"templateId":"1",
"rank":1,
"name":"Maruti Breeza Ad Campaign",
"description":"New Facebook Ad Page",
"entityId":"0000045309",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"1",
"overriddenSpend":"500",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"2",
"templateId":"2",
"rank":2,
"name":"Google Adwords",
"description":"Offer for Online Registrations",
"entityId":"0000046014",
"owner":"abc.xyz@sap.com",
"edited":"false",
"targetGroupId":"2",
"overriddenSpend":"300",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
},
{
"id":"3",
"templateId":"3",
"rank":3,
"name":"Upgrade Offers for Customers",
"description":"Email to connect existing Customers",
"entityId":"0000054603",
"owner":"efg.xyz@sap.com",
"edited":"false",
"targetGroupId":"3",
"overriddenSpend":"600",
"marketingAreaId":"CXXGLOBAL",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
]
}
],
"images":[
{
"id":"IMAGE_1",
"mediaId":"1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"notes":[
{
"id":"NOTE_1",
"text":"This is a sample note.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"backgroundColor":"3B5999"
}
}
],
"texts":[
{
"id":"TEXT_1",
"text":"This is a sample text.",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)",
"backgroundColor":"3B5999"
},
"fontFamily":"inherit",
"fontSize":23,
"fontWeight":"normal",
"fontStyle":"normal",
"textDecoration":"none",
"textAlign":"left"
}
],
"connectors":[
{
"id":"CONNECTOR_1",
"style":{
"height":"200",
"width":"100",
"minHeight":"200",
"minWidth":"100",
"left":"100",
"top":"200",
"transform":"rotate(0)"
},
}
],
"journey":{
"name":"Maruti Vitara Breeza Launch",
"description":"Launch of the New Vehicle Breeza",
"journeyType":"STANDARD"
},
"owner":"abc.xyz@sap.com",
"users":[
"abc.xyz@sap.com",
"efg.xyz@sap.com"
]
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be updated due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
delete /playbooks/{playbookId}
Deletes a playbook.
Accepted scopes:
- hybris.playbook_delete – Required to delete a playbook
URI Parameters
- playbookId: required (string)
The id of the playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The resource has been successfully deleted.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
/playbooks/{playbookId}/collaboration
Get collaboration details of a playbook
Accepted scopes:
- hybris.playbook_view – Required to get collaboration details of a playbook
get /playbooks/{playbookId}/collaboration
Get collaboration details of a playbook
Accepted scopes:
- hybris.playbook_view – Required to get collaboration details of a playbook
URI Parameters
- playbookId: required (string)
The id of the playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
/playbooks/{playbookId}/achievabilityScore
Get achievability score for all goals of a playbook
Accepted scopes:
- hybris.playbook_view – Required to get achievability score of a playbook
get /playbooks/{playbookId}/achievabilityScore
Get achievability score for all goals of a playbook
Accepted scopes:
- hybris.playbook_view – Required to get achievability score of a playbook
URI Parameters
- playbookId: required (string)
The id of the playbook
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
/playbooks/journeys
DEPRECATED
Retrieves a list of journeys.
Accepted scopes:
- hybris.playbook_view – Required to retrieve journeys
get /playbooks/journeys
Retrieves a list of journeys.
Accepted scopes:
- hybris.playbook_view – Required to retrieve journeys
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- totalCount: (boolean)
This parameter requests to return the total number of object in the collection fulfilling the criteria together with the response. This number will be returned in the 'hybris-count' header.
Example:
true
- sort: (string)
The list of comma-separated properties used to sort the results. By default, the column values are sorted in ascending order. Can either be in the form of fieldName or fieldName:asc,fieldName:desc. If you want to sort by localized attributes, you must use the following form: fieldName.language or fieldName.language:asc,fieldName.language:desc.
Example:
size,species:asc,weight:desc
- fields: (string)
Contains a comma separated list of field identifiers, by which the fields of the response entities should be filtered by. Empty or not initialized value result in a minimal set of entity fields returned. Non-existing or invalid fields will be ignored.
Example:
code,name,description
- q: (string)
The simple query criteria based on available fields to limit returned results or a set of modified documents.
Example:
species:dog name:"Clifford"
- pageNumber: (integer - default: 1 - minimum: 1)
The page number to be retrieved where the size of the pages must be specified by the pageSize parameter. The number of the first page is 1.
Example:
1
- pageSize: (integer - default: 16 - minimum: 1)
The number of documents being retrieved on the page.
Example:
16
HTTP status code 200
Resource successfully retrieved.
Headers
- hybris-count: (integer)
The total number of objects that fulfil the criteria.
Example:
1000
- Link: required (string - repeat: true)
Link to the current page, the next page and the previous page. Marked accordingly with rel self, rel next and rel prev. The syntax must be conform to RFC-5988. The link to the current page (self) is required and must be provided always. The link to the next page (next) is optional. If not present, the next page is not available, as the current page is the last page of the result. The link to the previous page (prev) is optional. If not present, the previous page is not available, as the current page is the first page of the result.
Example:
<http://sample.com?pageNumber=2&pageSize=10>; rel="self", <http://sample.com?pageNumber=3&pageSize=10>; rel="next"
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journeys",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"journey": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journey",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"description": {
"type": "string",
"maxLength": 250
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"targetGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"goal": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal",
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 250
},
"definitions": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Collection of Goal definitions",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Goal definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"action": {
"type": "string",
"enum": [
"INCREASE",
"DECREASE"
]
},
"tileId": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"initialValue": {
"type": "number"
},
"value": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"PERCENTAGE",
"X"
]
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"tileId",
"initialValue",
"value",
"unit",
"startDate",
"endDate"
]
}
}
},
"required": [
"description",
"definitions"
]
}
},
"required": [
"name"
]
}
},
"required": [
"id"
]
}
Example:
{
"name": "Maruti Vitara Breeza Launch",
"description": "Launch of the New Vehicle Breeza"
}
HTTP status code 400
Request was syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "There are validation problems, see details section for more information",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "validation_violation",
"details": [
{
"field": "pageNumber",
"message": "must be a positive number",
"type": "invalid_query_parameter"
}
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
Scopes in Playbook Service
Scopes prevent unauthorized access to the Playbook service.
These scopes are supported by the Playbook service:
Scope | Description |
---|---|
hybris.playbook_view | Use this scope to view playbook. |
hybris.playbook_manage | Use this scope to create and modify existing playbook. |
hybris.playbook_delete | Use this scope to delete existing playbook. |
Create a Playbook
A playbook is a collection of stages that represents the customers lifecycle. Each stage can contain one or more activities. Use the POST method to create a playbook.
By default, the person who creates a playbook is the owner of the playbook. The owner can choose to assign another user as the owner of an activity within the playbook.
This example shows how to create a playbook.
Request
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/cjm-playbook/v1/playbooks
- Content Type: application/json
- Body: The request body must contain the field with key name name and owner
- Example:
{ "name":"Playbook for new product launch", "stages":[ { "id":"1", "rank":1, "name":"Acquire", "description":"run various campaign to acquire customers", "targetGroupId":"1", "style":{ "height":"200", "width":"100", "minHeight":"200", "minWidth":"100", "left":"100", "top":"200", "backgroundColor":"3B5999" }, "activities":[ { "id":"1", "templateId":"1", "rank":1, "name":"Maruti Breeza Ad Campaign", "description":"New Facebook Ad Page", "entityId":"0000045309", "owner":"abc.xyz@sap.com", "edited":"false", "targetGroupId":"1", "style":{ "height":"200", "width":"100", "minHeight":"200", "minWidth":"100", "left":"100", "top":"200", "backgroundColor":"3B5999" } } ] } ], "journey":{ "name":"Maruti Vitara Breeza Launch", "description":"Launch of the New Vehicle Breeza", "journeyType":"STANDARD" }, "owner":"abc.xyz@sap.com", "users":[ "abc.xyz@sap.com" ] }
Response
- Status Code:
201
Get all Playbooks
This tutorial shows how to use a GET request to obtain all playbooks that belong to a user. Playbook owners can view the playbooks they create or playbooks to which they are assigned as an activity owner or viewer.
Request
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/cjm-playbook/v1/playbooks
Response
- Status Code:
200
- Example:
{ "id":"59f250bb-1dfb-42ca-b37b-244359751b65", "journey":{ "description":"Launch of the New Vehicle Breeza", "journeyType":"STANDARD", "name":"Maruti Vitara Breeza Launch" }, "metadata":{ "createdAt":"2016-11-18T13:00:28.532+0000", "modifiedAt":"2016-11-18T13:00:28.532+0000", "version":"1" }, "name":"Playbook for new product launch", "owner":"abc.xyz@sap.com", "stages":[ { "activities":[ { "description":"New Facebook Ad Page", "edited":false, "entityId":"0000045309", "id":"ba1702f9-411e-4ce1-bca9-c40461307395", "name":"Maruti Breeza Ad Campaign", "owner":"abc.xyz@sap.com", "rank":1, "style":{ "backgroundColor":"3B5999", "height":200, "left":100, "minHeight":200, "minWidth":100, "top":200, "width":100 }, "targetGroupId":"1", "templateId":"1" } ], "description":"run various campaign to acquire customers", "id":"ee20f800-d3af-4120-b2c1-2fe639b0de88", "name":"Acquire", "rank":1, "style":{ "backgroundColor":"3B5999", "height":200, "left":100, "minHeight":200, "minWidth":100, "top":200, "width":100 }, "targetGroupId":"1" } ], "users":[ "abc.xyz@sap.com" ] }
Update a Playbook
To update a playbook, use a PUT request to send the entire playbook object with the updated fields. The service does not support partial updates. Activity owners can only update the activities they own. A playbook viewer can not update a playbook.
This example shows how to update a playbook.
Request
- Method: PUT
- Request URL:
https://api.beta.yaas.io/hybris/cjm-playbook/v1/playbooks/{playbookId}
- Content Type: application/json
- Body: The request body must contain the field with key name name and owner
{ "name":"Playbook for new product launch", "stages":[ { "id":"1", "rank":1, "name":"Acquire", "description":"run various campaign to acquire customers", "targetGroupId":"1", "style":{ "height":"200", "width":"100", "minHeight":"200", "minWidth":"100", "left":"100", "top":"200", "backgroundColor":"3B5999" }, "activities":[ { "id":"1", "templateId":"1", "rank":1, "name":"Maruti Breeza Ad Campaign", "description":"New Facebook Ad Page", "entityId":"0000045309", "owner":"abc.xyz@sap.com", "edited":"false", "targetGroupId":"1", "style":{ "height":"200", "width":"100", "minHeight":"200", "minWidth":"100", "left":"100", "top":"200", "backgroundColor":"3B5999" } }, { "id":"2", "templateId":"2", "rank":2, "name":"Google Adwords", "description":"Offer for Online Registrations", "entityId":"0000046014", "owner":"efg.uvw@sap.com", "edited":"false", "targetGroupId":"2", "style":{ "height":"200", "width":"100", "minHeight":"200", "minWidth":"100", "left":"100", "top":"200", "backgroundColor":"3B5999" } } ] } ], "journey":{ "name":"Maruti Vitara Breeza Launch", "description":"Launch of the New Vehicle Breeza", "journeyType":"STANDARD" }, "owner":"abc.xyz@sap.com", "users":[ "abc.xyz@sap.com", "def.uvw@sap.com", "ghi.rst@sap.com" ] }
Response
- Status Code:
200
Get a Playbook by Playbook ID
This tutorial shows how to use a GET request to obtain a playbook by playbook ID. Playbook owners can view the playbooks they create, or playbooks to which they are assigned as an activity owner or viewer.
Request
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/cjm-playbook/v1/playbooks/{playbookId}
Response
- Status Code:
200
- Example:
{ "id":"59f250bb-1dfb-42ca-b37b-244359751b65", "journey":{ "description":"Launch of the New Vehicle Breeza", "journeyType":"STANDARD", "name":"Maruti Vitara Breeza Launch" }, "metadata":{ "createdAt":"2016-11-18T13:00:28.532+0000", "modifiedAt":"2016-11-18T13:00:28.532+0000", "version":"1" }, "name":"Playbook for new product launch", "owner":"abc.xyz@sap.com", "stages":[ { "activities":[ { "description":"New Facebook Ad Page", "edited":false, "entityId":"0000045309", "id":"ba1702f9-411e-4ce1-bca9-c40461307395", "name":"Maruti Breeza Ad Campaign", "owner":"abc.xyz@sap.com", "rank":1, "style":{ "backgroundColor":"3B5999", "height":200, "left":100, "minHeight":200, "minWidth":100, "top":200, "width":100 }, "targetGroupId":"1", "templateId":"1" } ], "description":"run various campaign to acquire customers", "id":"ee20f800-d3af-4120-b2c1-2fe639b0de88", "name":"Acquire", "rank":1, "style":{ "backgroundColor":"3B5999", "height":200, "left":100, "minHeight":200, "minWidth":100, "top":200, "width":100 }, "targetGroupId":"1" } ], "users":[ "abc.xyz@sap.com" ] }
Delete a Playbook by Playbook ID
This tutorial shows how to use a DELETE request to delete a playbook of a user by playbook ID. Only the playbook owner can delete a playbook.
Request
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/cjm-playbook/v1/playbooks/{playbookId}
Response
- Status Code:
204
Glossary
Term | Description |
---|---|
Customer Journey Manager | Customer Journey Manager is a tactical tool that allows marketers to build, monitor, and optimize the activities at various stages of a customer life cycle. It helps them to enhance the key marketing performance indicators (KPIs) thus achieving the overall brand goal. |
Journey | An ordered set of stages, each comprising a set of activities, designed to achieve a business goal. |
Playbook | A design-time tool used to create a journey. |
If you find any information that is unclear or incorrect, please let us know so that we can improve the Dev Portal content.
Use our private help channel. Receive updates over email and contact our specialists directly.
If you need more information about this topic, visit hybris Experts to post your own question and interact with our community and experts.