ColumnSetup allows users to manage setups of columns available in the different modules in Maximizer CRM.
A ColumnSetup contains three main elements, Name, EntityType and Columns. See below some considerations for those elements:
-
"Name" is the property user will use to identify such ColumnSetup in Maximizer CRM UI.\
-
All column setups belong to one and only one specific "EntityType", the supported entities are:
-
1 = AddressBook\
-
2 = Opportunity\
-
5 = CustomerService\
-
19 = Lead\
-
10003 = Interaction\
-
10015 = Activity\
-
-
As an example of how EntityType works, a ColumnSetup created using EntityType = 2 (Opportunity) will be available to use in opportunitites module in Maximizer CRM.\
-
"Columns" element is an array of columns containing the different properties (from selected EntityType) user wants to show in the UI. The properties that can be set up for each column are:
-
ID: identification for the column, usually we follow standard of C0, C1, C2...\
-
Header: title the column will have in the UI.\
-
Template: field from defined EntityType that will be shown in this column. Need to be enclosed by double curly brackets, ex. {{Objective}}.\
-
Width: width of the column in the UI.\
-
For now ColumnSetup only allows users to read, delete or update existing ColumnSetups.
MetaData
Read ColumnSetup metadata (simple)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": 1
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/ColumnSetup"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read ColumnSetup metadata (more)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": {
"Key": 1,
"Alias": 1,
"Type": 1,
"Name": 1,
"AppliesTo": 1,
"Sortable": 1,
"Queryable": 1,
"Mandatory": 1,
"Attributes": 1,
"HasOption": 1,
"DisplayValue": 1
}
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/ColumnSetup"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
ColumnSetup CRUD
Read - ColumnSetup
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"ColumnSetup": {
"Scope": {
"Fields": {
"Key": 1,
"Name": 1,
// Entity that the ColumnSetup belongs to, supported values are
// 1 = AddressBook
// 2 = Opportunity
// 5 = CustomerService
// 19 = Lead
// 10003 = Interaction
// 10015 = Activity
"EntityType": 1,
// Columns included in the column setup
"Columns": [
{
"ID": 1,
"Header": 1, // Header assigned to the column
"Template": 1, // Field from defined EntityType that will be shown in this column
"Width": 1
}
]
}
},
"Criteria": {
"SearchQuery": {
"EntityType": {
"$EQ": 19 // Entity type needs to be specified
}
},
"Top": 3
}
}
}
Update - ColumnSetup
// POST https://api.maximizer.com/octopus/Update
// Authorization: Bearer <token>
{
"ColumnSetup": {
"Data": {
"Key": "Q29sdW1uU2V0dXAJNDUzOQkwCTI=", // Mandatory
"Name": "My View",
// Columns to include in the column setup
"Columns": [
{
"ID": "C0", // Mandatory
"Header": "Company", // Mandatory
"Template": "{{CompanyName}}", // Mandatory, Needs to be valid field from EntityType already assigned to the column setup
"Width": 150 // Mandatory
},
{
"ID": "C1",
"Header": "Phone 1",
"Template": "{{Phone1/Number}}",
"Width": 150
},
{
"ID": "C2",
"Header": "Status",
"Template": "{{Status}}",
"Width": 150
},
{
"ID": "C4",
"Header": "Email",
"Template": "{{Email/Address}}",
"Width": 150
}
]
}
}
}
Delete - ColumnSetup
// POST https://api.maximizer.com/octopus/Delete
// Authorization: Bearer <token>
{
"ColumnSetup": {
"Data": {
"Key": "Q29sdW1uU2V0dXAJNDUzOQkwCTI=" //Mandatory
}
}
}