5 Reference

The CRM module has the following permissions:

Permission Name Description
CRM_ACTIVITY_VIEW Enables the holder to view activity associated to contact/org
CRM_ALL Grants the holder access to perform any CRM Module functionality.
CRM_DOC_REMOVE Grants the holder access to remove documents attached to contacts or organizations.
CRM_DOC_UPLOAD Grants the holder access to upload documents to a contact or organization.
CRM_DOC_VIEW Grants the holder access to view the document list and uploaded documents.
CRM_RECEIVE_EMAIL Enables the holder to receive emails from the CRM module.
CRM_RECEIVE_SMS * Enables the holder to receive sms from the CRM module.
CRM_SEARCH_ALL Grants the holder access to the search widget.
CRM_SEND_EMAIL Enables the holder to send emails from within the CRM module.
CRM_SEND_SMS * Enables the holder to send sms from within the CRM module.
CRM_TASK_CREATE Enables the holder to create tasks with CRM.
CRM_TASK_DELETE Enables the holder to delete tasks within CRM.
CRM_VIEW_EMAIL Enables the holder to view email messages.
CRM_VIEW_SMS * Enables the holder to view sms messages.
CUST_ALL Grants the holder access to perform any Customer Utility functionality.
CUST_DELETE Grants the holder access to delete a customer using the Customer Utility.
CUST_ORGANIZATION_DELETE Grants the holder access to delete an organization in the Customer Utility.
CUST_ORGANIZATION_EDIT Grants the holder access to edit an organization in the Customer Utility.
CUST_ORGANIZATION_VIEW Grants the holder access to view an organization in the Customer Utility.
CUST_READ Grants the holder access to read a customer using the Customer Utility.
CUST_TAG_ADD Grants the holder access to add a tag to a customer or organization using the Customer Utility.
CUST_TAG_REMOVE Grants the holder access to remove a tag from a customer or organization using the Customer Utility.
CUST_WRITE Grants the holder access to write a customer using the Customer Utility.

* Currently, SMS capabilities are not supported in the Thinx! CRM module. These capabilities are planned for a future release.

Note
The CRM module leverages the Thinx customer entity utility and therefore incorporates the customer permissions within its own boundaries. A contact within the CRM module is technically stored a Thinx customer entity; hence the interchangeability of the term contact and customer.

Success Codes

CUST1000       The operation completed successfully!
                         This message occurs after any successful operation on a contact, such as saving the contact or adding a comment
                          or as otherwise noted below.

CUST2000      The operation completed successfully!
                         This message occurs after any successful operation on an organization, such as saving an organization or adding
                          a comment or as otherwise noted below.

CUST3000      The operation completed successfully!
                         This message occurs after successfully adding a tag to a contact or organization.

Warning Codes

CUST1107      Bulk Customer operation contained failures. Please see the logs for details.
CUST1108      Error converting search criteria into query fields
CUST2107      Bulk Organization operation contained failures. Please see the logs for details.

Error Codes

CRM1100      Generic CRM Error..
CRM1101      Required parameters cannot be null.
CRM1102      An error occurred while finding the organization.
CRM1105      Failed to delete.
CRM1106      Unsupported file attachment type.
CRM1107      Virus infected file attachment.
CRM1108      An error occurred while saving attachment.
CRM1109      Missing file attachment.
CRM1110      An error occurred while getting summary.
CRM1111      Error while removing attachment.
CRM1112      Failed to get Widget occasions.
CRM1113      Failed to get customer MetricWidget.
CRM1114      Document removed successfully.
CRM1115      Failed to get audit actions.
CRM1118      Failed to update the document.
CRM1119      Failed to send message.
CRM1120      Failed to receive message.
CRM1121      An error occurred while running your query.
CRM1122      Failed to get case instances.
CRM9999      General CRM Exception.
CUST1100      An error occurred during processing.
CUST1101      Required parameters cannot be null.
CUST1102      Cannot find the customer in order to perform the operation(s).
CUST1103      Permission denied to customer object.
CUST1104      Cannot add, update, remove key customers in organization.
CUST1105      Object extensions failed validation or type process.
CUST1106      Must remove organization as key organization before removing from contact.
CUST2100      An error occurred during processing.
CUST2101      Required parameters cannot be null.
CUST2102      Cannot find the organization in order to perform the operation(s).
CUST2103      Permission denied to organization object.
CUST2106      Must remove contact as key contact before removing from organization.
CUST3100      An error occurred during the tag processing.
CUST3101      Required parameters cannot be null.
CUST3102      Cannot find the object to assign or unassign tag(s).
CUST3103      Permission denied to object to assign or unassign tag(s).
CUST3104      Unknown Object Type. Use ObjectType.CUSTOMER or ObjectType.ORGANIZATION.
CUST4100      An error occurred during the comment processing.
CUST4101      Required parameters cannot be null.
CUST4102      Cannot find the object to add, update, or remove comment.
CUST4103      Permission denied to object to add, update, or remove comment.
CUST4104      Unknown Object Type. Use ObjectType.CUSTOMER or ObjectType.ORGANIZATION.
CUST4105      Invalid comment index.
CUST4106      Cannot find comment to update.
CUST5114      Required parameters cannot be null when providing voice in object contact field.
CUST5115      Unable to parse phone number using country code and value.
CUST5116      Failed validating phone number using country code and value.
CUST9999      General customer Failure.

Note
The CRM module leverages the Thinx customer entity utility and therefore incorporates the customer error codes and messages within its own boundaries. A contact within the CRM module is technically stored a Thinx customer entity; hence the interchangeability of the term contact and customer.

This section describes the structured attributes available for every contact and organization entity. Contacts within the Thinx! CRM module are represented by the Thinx! customer utility. Therefore, this section technically describes the Thinx! customer entity’s structured data.

The sub-entities are also described in this section.

Attribute Type Description
Customer Entity
addresses List The addresses associated with the contact. The list consists of Address entities.
clientId Integer The unique number assigned to your Thinx! Platform account. This number is automatically populated and cannot be overridden.
comments List Contains any comments associated to the Contact. The list consists of Comment entities.
contact ContactCommunication The information of the person serving as a point of contact for the Contact itself. This could be the administrative professional assisting the Contact.
createdBy String The userid of the user which created the Contact.
createdDateLong Long The timestamp of the Contact’s creation date in terms of milliseconds since 1/1/1970. This timestamp can be used to retrieve a Javascript and Java date object.
customers Customer The list of Contacts associated to this contact. This attribute contains the Contact’s hierarchal connections. Typically, only the summary information (such as firstName, lastName and id) is stored for connections.
dateCreated Date The timestamp of the Contact’s creation date.
dateModified Date The timestamp of the last time that the Contact was modified.
documents List Contains metadata for the documents attached to the Contact. The list consists of DocumentSummary entities.
firstName String The first name of the Contact.
gender Enumeration The gender of the Contact. The available genders are Male, Female and non-binary.
id String The unique GUID of the Contact. When creating the Contact, this value can be left blank and will automatically get generated by the CRM module.
inactive Boolean Indicates whether or not the Contact is inactive. If a contact is not active, then the inactive attribute will be true.
keyCustomers List The list of Contacts associated to the current Contact which have Key Relationship Connection to it. The list consists of Customer entities and typically, only the summary information (such as firstName, lastName and id) is stored for connections.
keyOrganizations List The list of Organizations associated to the current Contact which have Key Relationship Connection to it. The list consists of Organization entities and typically, only the summary information is stored for connections).
languageSpoken List The list of languages spoken by the Contact. The list consists of freeform String types.
lastName String The last name of the Contact
middleName String The middle name of the Contact
modifiedBy String The userid of the user which last modified the Contact.
occasions List The list of important occasions associated with the Contact. The list consists of Occasion entities.
optOut Boolean Indicates whether or not the Contact has opted out of any communication from your organization. If they’ve opted out, the value of optOut is true.
organizations List The list of organizations to which this Contact is associated. This attribute contains the Contact’s affiliation connections. Typically, only the summary information is stored for the affiliation. The list consists of Organization entities.
permission List The list of permissions associated to the permission. The list consists of ContactPermission entities. If permission list is empty, then all users have access to the Contact.
positionTitle String The title of the Contact
preferredName preferredName String The preferred name of the Contact
suffix String String
tags List The list of user tags associated to the Contact. The list consists of Tag entities.
Organization Entity
addresses List The addresses associated with the organization. The list consists of Address entities.
alias String An alias used for the Organization
clientId Integer The unique number assigned to your Thinx! Platform account. This number is automatically populated and cannot be overridden.
comments List Contains any comments associated to the Organization. The list consists of Comment entities.
contact ContactCommunication The information of the person serving as a point of contact for the Organization itself.
createdBy String The userid of the user which created the Organization.
createdDateLong Long The timestamp of the Organization’s creation date in terms of milliseconds since 1/1/1970. This timestamp can be used to retrieve a Javascript and Java date object.
customers Customer The list of Contacts associated to this Organization. This attribute contains the Organization’s affiliation connections. Typically, only the summary information is stored for connections.
dateCreated Date The timestamp of the Organization’s creation date.
dateModified Date The timestamp of the last time that the Organization was modified.
documents List Contains metadata for the documents attached to the Organization. The list consists of DocumentSummary entities
id String The unique GUID of the Organization. When creating the Organization, this value can be left blank and will automatically get generated by the CRM module.
inactive Boolean Indicates whether or not the Organization is inactive. If an Organization is not active, then the inactive attribute will be true.
keyCustomers List The list of Contacts associated to the current Contact which have Key Relationship Connection to it. The list consists of Customer entities and typically, only the summary information (such as firstName, lastName and id) is stored for connections.
keyOrganizations List The list of Organizations associated to the current Contact which have Key Relationship Connection to it. The list consists of Organization entities and typically, only the summary information is stored for connections).
modifiedBy String The userid of the user which last modified the Organization.
occasions List The list of important occasions associated with the Organization. The list consists of Occasion entities.
owner List The list of user tags associated to the Contact. The list consists of Tag entities.
tags List The list of user tags associated to the Contact. The list consists of Tag entities.
Address Entity
line1 String Line 1 of the address
line2 String Line 2 of the address
line3 String Line 3 of the address
line4 String Line 4 of the address
state String The state or province of the address
zip String The zip code or postal code of the address
country String The country of the address.
type Enumeration Describes the type of address. Possible values are Home, Office, Business, Shipping, PO Box, Permanent, Temporary, Residentials.
Comment Entity
author Person The metadata entity for the comment author
comment String The content body of the Contact comment
Communication Entity
mode Enumeration The mode of communication. Possible values are Email, Fax, Phone, or Mobile.
type CommunicationType The type of communication. This is a free form entity. User specify a more detailed description. For example, if. The mode is Email, the type could me “Main Email” or “Work Email” or even “Use this”
primary Boolean Indicates whether or not this communication serves as a primary form of communication.
ContactCommunication Entity
email List Contains a list of valid email addresses. The list consists of Email entities.
phone List Contains a list of valid phone numbers. The list consists of Voice entities.
mobile List Contains a list of valid mobile phone numbers. The list consists of Voice entities.
fax List Contains a list of valid fax numbers. The list consists of Voice entities.
url List Contains a list of valid web urls. The list consists of URL entities.
preferred Communication The preferred mode of communication for the contact.
assistant Person The attributes describing the person serving as the point of contact, such as an administrative assistant for the Contact.
ContactPermission Entity
ownerOnly Boolean Indicates that this permission should restrict the visibility of the Contact to the user who created it (i.e. the Contact.createdBy). If this is true, the Contact is for all intents and purposes “private.” Administrative users can still see this Contact, however. If true, the value of permission is not used.
permission String The CRM permission required to view the Contact.
DocumentSummary Entity
createdBy String The userid of the document uploader
dateCreated Date The timestamp of when the document was uploaded.
dateModified Date The timestamp of when the document was last modified.
description String The user provided description of the document.
extension String The file extension of the document.
id String The system generated GUID of the document
modifiedBy String The userid of the last user who modified the document
name String The name of the document.
path String The relative path on the file system where the document is physically located.
Email Entity
email String The actual email address
mode Enumeration The mode of communication. Possible values are Email, Fax, Phone, or Mobile.
type CommunicationType The type of communication. This is a free form entity. User specify a more detailed description. For example, if. The mode is Email, the type could me “Main Email” or “Work Email” or even “Use this”
primary Boolean Indicates whether or not this communication serves as a primary form of communication.
Occasion Entity
date Date The date of the occasion. This is an absolute date. An example could be a Contract Renewal deadline.
recurring Boolean The recurring indicator is not currently supported
reminder Boolean Indicates that the date should be highlighted as it approaches.
Person Entity
addresses List The addresses associated with the contact. The list consists of Address entities.
clientId Integer The unique number assigned to your Thinx! Platform account. This number is automatically populated and cannot be overridden.
contact ContactCommunication The information of the person serving as a point of contact for the Person itself. This could be the administrative professional assisting the Person.
createdBy String The userid of the user which created the Person.
createdDateLong Long The timestamp of the Person’s creation date in terms of milliseconds since 1/1/1970. This timestamp can be used to retrieve a Javascript and Java date object.
dateCreated Date The timestamp of the Person’s creation date.
dateModified Date The timestamp of the last time that the Person was modified.
firstName String The first name of the Person.
gender Enumeration The gender of the Contact. The available genders are Male, Female and non-binary.
id String The unique GUID of the Contact. When creating the Contact, this value can be left blank and will automatically get generated by the CRM module.
languageSpoken List The list of languages spoken by the Person. The list consists of freeform String types.
lastName String The last name of the Person
middleName String The middle name of the Person
modifiedBy String The userid of the user which last modified the Person.
occasions List The list of important occasions associated with the Person. The list consists of Occasion entities.
preferredName String The preferred name of the Person
suffix String The suffix of the Person
Tag Entity
createdBy String The userid of the user which created the Tag.
dateCreated Date The timestamp of the Tag’s creation date.
dateModified Date The timestamp of the last time that the Tag was modified.
modifiedBy String The userid of the user which last modified the Tag.
value String The actual value of the tag.
URL Entity
address String The web address of the URL; must start with http or https
icon String The corresponding icon representing the web address. This icon must be part of the font awesome icon set.
label String The label of the URL for display to end users.
mode Enumeration The mode of communication. Possible values are Email, Fax, Phone, or Mobile.
type CommunicationType The type of communication. This is a free form entity. User specify a more detailed description. For example, if. The mode is Email, the type could me “Main Email” or “Work Email” or even “Use this”
primary Boolean Indicates whether or not this communication serves as a primary form of communication.
Voice Entity
countryCode String The country code to which the number belongs. Must be the official country abbreviation. EX – US for the United States and CN for China.
countryDailingCode Integer The assigned country dialing code. This code is used during phone number validation.
extension Integer The extension of the phone number.
mode Enumeration The mode of communication. Possible values are Email, Fax, Phone, or Mobile.
normalizedValue String The formatted phone number as specified in the value attribute.
primary Boolean Indicates whether or not this communication serves as a primary form of communication.
type CommunicationType The type of communication. This is a free form entity. User specify a more detailed description. For example, if. The mode is Email, the type could me “Main Email” or “Work Email” or even “Use this”
value Long The actual phone number, numbers only.

The Thinx! CRM module publishes a Swagger endpoint with the relevant REST APIs documented. In order to invoke the APIs, an appropriately provisioned token is required. The Swagger endpoint is: https://crm.thinxsoftware.com/crm/swagger-ui.html#/

  • crm/reference.txt
  • Last modified: 2020/05/06 14:10
  • (external edit)