AbEntry allows users to perform operations on an Address Book entry of a specific Type. See below some considerations for AbEntries:
- Type: defines the Type of entity we are working on. Supported types are :
- Company - An entity representing an organization or business.
- In Create operations, If Type and ParentKey are omitted, Type will be set as Company.\
- Individual - A person who owns and operates their own business.
- In Create operations, Type should be set accordingly for an AbEntry to be created as Individual.\
- Contact - A person who works for either a company or an individual.
- In Create operations, If Type is not included and ParentKey is included, Type will be set as Contact.\
- Company - An entity representing an organization or business.
- Some fields are mandatory based on the AbEntry Type:
-
CompanyName: This field is mandatory for the Company.\
-
LastName: This field is mandatory for Contact and Individual.\
-
ParentKey: This is mandatory for Contact and should be a key of an existing AbEntry (Company or Individual).\
-
- When updating, ParentKey and Type cannot be changed. If those fields need to be changed, the entire AbEntry must be deleted, and a new one must be created.
HowTo's
Create - Individual
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": null,
"Type": "Individual", // Mandatory
"FirstName": "Marty",
"LastName": "McFly", // Mandatory
"CompanyName": "E. Brown Enterprises",
"Phone": "123456789",
"Email": "[email protected]",
"Address": {
"AddressLine1": "1234 Main St.",
"City": "Anytown",
"StateProvince": "BC",
"ZipCode": "12345",
"Country": "CAN"
}
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Create - Company
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": null,
"CompanyName": "E. Brown Enterprises", // Mandatory
"Phone": "123456789",
"Website": "www.e-brown.com",
"Address": {
"AddressLine1": "1234 Main St.",
"City": "Anytown",
"StateProvince": "BC",
"ZipCode": "12345",
"Country": "CAN"
}
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Create - Contact for existing company or individual
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": null,
"FirstName": "Marty",
"LastName": "McFly", // Mandatory
"ParentKey": "QWJFbnRyeQkyNDA2MjkyNTAxMTI1OTg4MDAwMDRDCTA=", // Mandatory - Key of Company or Individual
"Phone": "123456789",
"Email": "[email protected]",
"Address": {
"AddressLine1": "1234 Main St.",
"City": "Anytown",
"StateProvince": "BC",
"ZipCode": "12345",
"Country": "CAN"
}
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Create - Contact with security settings assigned to multiple groups
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": null,
"FirstName": "Marty",
"LastName": "McFly", // Mandatory
"ParentKey": "Q29tcGFueQkyNTA2MjQyNTExMTkwMTg4NzAwMDJDCTA=", // Mandatory - Key of Company or Individual
"Phone": "123456789",
"Email": "[email protected]",
"SecAccess": {
// Keys of security groups that should have read access
"Read": [
"R3JvdXAJLkFfQ0FBLjAw",
"R3JvdXAJLkFDQ1RORzAw"
],
// Keys of security groups that should have write access
"Write": [
"R3JvdXAJLkFfQ0FBLjAw",
"R3JvdXAJLkFDQ1RORzAw"
]
}
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - All properties are applicable to specific type of AbEntry
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": 1
},
"Criteria": {
"SearchQuery": {
"$AND": [
{
"Key": {
"$TREE": "/AbEntry"
}
},
{
"AppliesTo": {
"$IN": "Company" // Could be any type of AbEntry (Company, Individual, Contact)
}
}
]
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read - Individuals
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"CompanyName": 1, // Company name of the Individual
"Email": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$EQ": "Individual"
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Companies
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"CompanyName": 1, // Company name
"Phone": 1,
"Address": { // Main address set
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
}
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$EQ": "Company"
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Companies with pagination
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"ParentKey": 1,
"Type": 1,
"CompanyName": 1,
"Position": 1,
"Phone1": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone2": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone3": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone4": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"AccountManager": {
"Value": 1,
"Uid": 1
},
"Creator": {
"DisplayName": 1
},
"CreationDate": 1,
"ModifiedBy": {
"DisplayName": 1
},
"LastModifyDate": 1,
"Email1": {
"Address": 1,
"Description": 1
},
"Email2": {
"Address": 1,
"Description": 1
},
"Email3": {
"Address": 1,
"Description": 1
},
"WebSite": 1,
"Address": {
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
},
"LastContactDate": 1
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$EQ": "Company"
}
}
},
"OrderBy": {
"PageKey": null,
"PageSize": 50,
"Fields": [
{
"CreationDate": "ASC"
}
]
}
},
"Configuration": {
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Search by a company name
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"ParentKey": 1,
"Type": 1,
"CompanyName": 1,
"Position": 1,
"Phone1": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone2": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone3": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone4": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"AccountManager": {
"Value": 1,
"Uid": 1
},
"Creator": {
"DisplayName": 1
},
"CreationDate": 1,
"ModifiedBy": {
"DisplayName": 1
},
"LastModifyDate": 1,
"Email1": {
"Address": 1,
"Description": 1
},
"Email2": {
"Address": 1,
"Description": 1
},
"Email3": {
"Address": 1,
"Description": 1
},
"WebSite": 1,
"Address": {
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
},
"LastContactDate": 1
}
},
"Criteria": {
"SearchQuery": {
"$AND": [
{
"Type": {
"$EQ": "Company"
}
},
{
"CompanyName": {
"$LIKE": "Ultimate%"
}
}
]
}
},
"OrderBy": {
"PageKey": null,
"PageSize": 50,
"Fields": [
{
"CreationDate": "ASC"
}
]
}
},
"Configuration": {
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Contacts
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"Parent": 1, // Parent company/individual of the contact. It's an AbEntry object so it can be expanded using any AbEntry property
"CompanyName": 1, // Company name of parent
"Email": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$EQ": "Contact"
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - Search by Pharse (Contact or Individual)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": {
"Id": 1,
"Value": 1
},
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"Parent": 1, // Parent company/individual of the contact. It's an AbEntry object so it can be expanded using any AbEntry property
"CompanyName": 1, // Company name of a parent AbEntry
"Email": 1,
"Phone": 1,
"AccountManager": 1,
"LastContactDate": 1,
"Position": 1
}
},
"Criteria": {
"SearchQuery": {
"$AND": [
{
"$PHRASE": "Name: Johnson"
},
{
"Type": {
//if contactType is null comes both, if not comes as requested
"$IN": [
"Contact",
"Individual"
]
}
}
]
},
"Top": 1
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - AbEntry by Key (Contact or Individual)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": {
"Id": 1,
"Value": 1
},
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"Parent": 1, // Parent company/individual of the contact. It's an AbEntry object so it can be expanded using any AbEntry property
"CompanyName": 1, // Company name of the parent AbEntry
"Email": 1,
"Phone": 1,
"AccountManager": 1,
"LastContactDate": 1,
"Position": 1
}
},
"Criteria": {
"SearchQuery": {
"$AND": [
{
"Key": {
"$EQ": "QWJFbnRyeQkyMjA1MDUyNTIyMjkzNzMxMjAwMzFDCTE="
}
},
{
"Type": {
//if contactType is null comes both, if not comes as requested
"$IN": [
"Contact",
"Individual"
]
}
}
]
},
"Top": 1
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - Contacts with pagination
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"ParentKey": 1,
"Type": 1,
"Parent": {
"Type": 1,
"FirstName": 1,
"MiddleName": 1,
"LastName": 1
},
"CompanyName": 1,
"FirstName": 1,
"MiddleName": 1,
"LastName": 1,
"Position": 1,
"Department": 1,
"Division": 1,
"Phone1": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone2": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone3": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone4": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"AccountManager": {
"Value": 1,
"Uid": 1
},
"Creator": {
"DisplayName": 1
},
"CreationDate": 1,
"ModifiedBy": {
"DisplayName": 1
},
"LastModifyDate": 1,
"Email1": {
"Address": 1,
"Description": 1
},
"Email2": {
"Address": 1,
"Description": 1
},
"Email3": {
"Address": 1,
"Description": 1
},
"WebSite": 1,
"Address": {
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
},
"LastContactDate": 1
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$EQ": "Contact"
}
}
},
"OrderBy": {
"PageKey": null,
"PageSize": 50,
"Fields": [
{
"CreationDate": "ASC"
}
]
}
},
"Configuration": {
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Search for contacts and individuals by e-mails
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"ParentKey": 1,
"Type": 1,
"Parent": {
"Type": 1,
"FirstName": 1,
"MiddleName": 1,
"LastName": 1
},
"CompanyName": 1,
"FirstName": 1,
"MiddleName": 1,
"LastName": 1,
"Position": 1,
"Department": 1,
"Division": 1,
"Phone1": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone2": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone3": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"Phone4": {
"Extension": 1,
"Number": 1,
"Description": 1
},
"AccountManager": {
"Value": 1,
"Uid": 1
},
"Creator": {
"DisplayName": 1
},
"CreationDate": 1,
"ModifiedBy": {
"DisplayName": 1
},
"LastModifyDate": 1,
"Email1": {
"Address": 1,
"Description": 1
},
"Email2": {
"Address": 1,
"Description": 1
},
"Email3": {
"Address": 1,
"Description": 1
},
"WebSite": 1,
"Address": {
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
},
"LastContactDate": 1
}
},
"Criteria": {
"SearchQuery": {
"Type": {
"$IN": ["Contact", "Individual"]
},
"Email": {
"$IN": [
"[email protected]",
"[email protected]"
]
}
}
},
"OrderBy": {
"PageKey": null,
"PageSize": 50,
"Fields": [
{
"CreationDate": "ASC"
}
]
}
},
"Configuration": {
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Contacts from specific parent (Company or Individual)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"Parent": 1, // Parent company/individual of the contact. It's an AbEntry object so it can be expanded using any AbEntry property
"CompanyName": 1, // Company name of parent
"Email": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
"ParentKey": { // Could be key for Company or Individual
"$EQ": "QWJFbnRyeQkyNDA2MTEyNTAyNTI1NjEzOTAwMDJDCTA="
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - Contacts and parent from specific parent (Company or Individual)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"MrMs": 1,
"FirstName": 1,
"LastName": 1,
"Parent": 1, // Parent Company/Individual of the Contact. It's an AbEntry object so it can be expanded using any AbEntry property
"CompanyName": 1, // Company name of parent
"Email": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
"Key": {
"$EQ": {
"Body": "Q29tcGFueQkyMjA1MDUyNTIyMjczODY2NDAwMjlDCTA=", // Key for Company/Individual (parent)
"OrRelated": true // Retrieve the Company/Individual record and also all related Contacts
}
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - Contacts who report to a certain contact
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1,
"FullName": 1,
"Email": 1,
"ReportsToKey": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
// Specify an AbEntryKey of a Contact
"ReportsToKey": {
"$EQ": "QWJFbnRyeQkyNDA2MjkyNTAxMTI1OTg4MDAwMDRDCTA="
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": {
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.AbEntrySearcher"
}
}
}
Read - AbEntries using $PHRASE operator
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1,
"FullName": 1,
"Parent": 1, // Parent company/individual of a contact. It's an AbEntry object so it can be expanded using any AbEntry property
"Email": 1,
"Phone": 1
}
},
"Criteria": {
"SearchQuery": {
"$PHRASE": "Jackson" // Specify the text User wants to search for.
//API will search for all AbEntries having such text in the Full Name
// - CompanyName for Companies or Individuals
// - FirstName and LastName for Contacts or Individuals
},
"Top": 5
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - Last contacted AbEntries
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1, // Type of the AbEntry (Company, Individual, Contact)
"FullName": 1, // Full name of the person for contacts, full name of the person + company name for individuals or company name for companies
"LastContactDate": 1
}
},
"Criteria": {
"SearchQuery": {},
"Top": 10 // Number of entries you want
},
"OrderBy": {
"Fields": [
{
"LastContactDate": "DESC" // Returns the data in descending order of LastContactedDate
}
]
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for ordering by LastContactDate
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - AbEntry profile picture (Step 1 - get documentKey)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
// To get the profile picture of an AbEntry first you must get the related DocumentKey, below payload will return that
{
"Document": {
"Scope": {
"Fields": {
"Key": 1 // Document key needed for Step 2
}
},
"Criteria": {
"SearchQuery": {
"$AND": [
{
"ParentKey": {
"$EQ": "QWJFbnRyeQkyNDA2MjkyNTAxMTI1OTg4MDAwMDRDCTU=" // Key of the AbEntry you want to get the profile picture
}
},
{
"Type": {
"$EQ": 14
}
}
]
}
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": {
"Drivers": {
"IDocumentSearcher": "Maximizer.Model.Access.Sql.DocumentSearcher"
}
}
}
Read - AbEntry profile picture (Step 2 - download binary)
// GET https://api.maximizer.com/octopus/DocumentDownload/RG9jdW1lbnQJMzcwMDUzNzMz
// Authorization: Bearer <token>
// To get the profile picture of an AbEntry first you must get the related DocumentKey. If you don't have that one then go to "Read - AbEntry profile picture (Step 1 - get documentKey)".
// After having the documentKey just add that one to the URL and you should get the binary after calling such endpoint
Read - AbEntry object using $INBOUND operator
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1,
"FullName": 1,
"Parent": 1, // Parent company/individual of a contact. It's an AbEntry object so it can be expanded by using any AbEntry property
"Email": 1,
"Phone": 1,
"Address": {
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
}
}
},
"Criteria": {
"SearchQuery": {
//Search for ab entries by geolocation polygon
//Returns true\false if geolocation field is inside specified polygon
//At least 4 points needs to be provided (for triangle)
"$INBOUND(address/location, -125:50, -121:49, -125:49, -125:50)": {
"$EQ": true
}
},
"Top": 10
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Read - AbEntry object with custom Globalization
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1, // Type of the AbEntry (Company, Individual, Contact)
"FirstName": 1, // Type of the AbEntry (Company, Individual, Contact)
"LastName": 1, // Type of the AbEntry (Company, Individual, Contact)
"FullName": 1, // Full name of the person for contacts, full name of the person + company name for individuals or company name for companies
"Parent": 1, // For contacts it will contain the company/individual parent of such contact. It's an abEntry object so it can be expanded using any AbEntry property
"LastContactDate": {
"Value": 1,
"DisplayValue": 1 // Will be affected by Globalization section
}
}
},
"Criteria": {
"SearchQuery": {},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
},
// Globalization affects how the DisplayValue of date fields is formatted.
// In this example, the DisplayValue for any date field (e.g., LastContactDate) will use the locale defined for the user in Maximizer CRM
"Globalization": {
"Culture": "$CURRENTUSER()"
}
}
Metadata
Read AbEntry metadata (simple)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": 1
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/AbEntry"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry 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,
"Nullable": 1,
"Assignable": 1,
"Queryable": 1,
"Mandatory": 1,
"Attributes": 1,
"HasOption": 1,
"DisplayValue": 1,
"Inactive": 1
}
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/AbEntry"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
FieldOptions
Read AbEntry FieldOptions - Type
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"Type": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry FieldOptions - MrMs
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"MrMs": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry FieldOptions - Salutation
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"Salutation": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry FieldOptions - Division
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"Division": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry FieldOptions - Department
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"Department": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read AbEntry FieldOptions - Position
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
// Applicable to all those properties which have "HasOption": true
"AbEntry": {
"FieldOptions": {
"Position": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
AbEntry CRUD
Create - AbEntry
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": null,
// Type of AbEntries supported (Company, Individual, Contact)
// Mandatory for Individual
// If is not included but ParentKey is included then assumed as Contact
// If is not included and ParentKey is also not included then assumed as Company
"Type": "Company",
"Email": "[email protected]",
"Phone": "123456789",
"Website": "www.example.com",
"Address": {
"AddressLine1": "1234 Main St.",
"City": "Anytown",
"StateProvince": "BC",
"ZipCode": "12345",
"Country": "CAN"
},
// ATTENTION
// Below fields are mandatory based on the Type defined
"CompanyName": "E. Brown Enterprises", // Mandatory for Type=Company
"ParentKey": "QWJFbnRyeQkyMjA1MDUyNTE1MzY1OTg0NTAwMDVDCTA=", // Mandatory for Type=Contact - Must be AbEntryKey of Company or Individual
"LastName": "McFly" // Mandatory for Type=Contact and Type=Individual
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - AbEntry
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"AbEntry": {
"Scope": {
"Fields": {
"Key": 1,
"Type": 1, // Type of the AbEntry (Company, Individual, Contact)
"FullName": 1, // Full name of the person for contacts, full name of the person + company name for individuals or company name for companies
"Parent": 1, // For contacts it will contain the company/individual parent of such contact. It's an abEntry object so it can be expanded using any AbEntry property
"Website": 1,
"Email": 1, // Default email set for the AbEntry
"Phone": 1, // Default phone set for the AbEntry
"Address": { // Main address set for the AbEntry
"AddressLine1": 1,
"AddressLine2": 1,
"City": 1,
"StateProvince": 1,
"ZipCode": 1,
"Country": 1,
"Description": 1
}
}
},
"Criteria": {
"SearchQuery": {},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
},
"Configuration": { // Needed for displaying Parent property
"Drivers": {
"IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher"
}
}
}
Update - AbEntry
// POST https://api.maximizer.com/octopus/Update
// Authorization: Bearer <token>
{
// ParentKey, Type CANNOT be updated
"AbEntry": {
"Data": {
"Key": "Q29tcGFueQkyNDA3MDkyNTEwMTAxMTY4ODAwMDFDCTA=", // Mandatory
"WebSite": "http://www.newsiteupdated.com",
//Include here any other field you want to update
// ATTENTION
// Some fields can only be updated if the key corresponds to an specific abEntry Type
"CompanyName": "CompanyName updated", // Can be updated only if Type=Company or Type=Individual
"FirstName": "FirstName updated", // Can be updated only if Type=Contact or Type=Individual
"LastName": "LastName updated" // Can be updated only if Type=Contact or Type=Individual
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Delete - AbEntry
// POST https://api.maximizer.com/octopus/Delete
// Authorization: Bearer <token>
{
"AbEntry": {
"Data": {
"Key": "QWJFbnRyeQkyMjA1MDUyNTIyMjczODY2NDAwMjlDCTE=" // Mandatory
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}