If you want to change Global Colors programatically, the following API calls will be required to do this. Using a PATCH on the /website/design endpoint will overwrite any Global Colors you send so you should always send a full list of Global Colors.
Things you will need
1. Domain name. When using the site API, any requests must be sent to http://{subdomain}.{tool-domain}/api.php/endpoint. e.g. http://demoapi.editortool.companyabc.com/api.php/login
2. The colors you wish to use in hexadecimal format (e.g. #FF0000)
Login
Before we can use the site API, we’ll need to log into the individual site. This can be done via either of the following API calls:
1. Site API (requires username and password)
POST http://demoapi.editortool.companyabc.com/api.php/login { "username": "apidemo", "password": "apidemo123" }
Response:
{ "sessionId": "{session ID}", "message": "Set as cookie value for site_session", "sessionName: "site_session" }
2. HAL API (requires a token)
POST https://hal.mono.net/api/v1/reseller/account/site { "userToken": "{your-token}", "command": "apiLogin", "siteId": {your site ID} }
Response:
{ "status": { "code": 200, "text": "", "timeStamp": "2017-08-21T12:21:31+00:00" }, "data": [ { "sessionName": "site_session", "sessionId": "{session ID}" } ] }
Both calls will yield a session ID in the format 35 character alphanumeric. In any future calls we make, we must include the header 'Cookie=site_session={session ID}'
Get list of current Global Colors in use
GET http://demoapi.editortool.companyabc.com/api.php/globals
Response:
[ { "design": { "css": { "css-md": {}, "css-sm": {}, "colors": { "color_1": "rgb(255, 64, 0)", "color_2": "rgb(0, 96, 255)", "color_3": "rgb(64, 255, 0)", "color_7": "rgb(0, 0, 0)" } } } ]
Overwrite a color
PATCH http://demoapi.editortool.companyabc.com/api.php/globals { "colors": { "color_1": "rgb(254, 64, 0)", "color_2": "rgb(0, 96, 255)", "color_3": "rgb(64, 255, 0)", "color_7": "rgb(200, 0, 0)" } }
Response:
[]