API Reference Manual: Difference between revisions

From RangerMSP Wiki - PSA software for MSPs and IT services providers
Jump to navigation Jump to search
 
(73 intermediate revisions by 3 users not shown)
Line 2: Line 2:
=Introduction=
=Introduction=
In this document you will find:
In this document you will find:
* Detailed listing of the CommitCRM API functions with their parameters
* Detailed listing of the RangerMSP API functions with their parameters
* Detailed listing of database fields per entity. The database fields are used when adding, updating and retrieving data using the API.  
* Detailed listing of database fields per entity. The database fields are used when adding, updating and retrieving data using the API.  


Line 12: Line 12:
<br>
<br>
==Data Retrieval API Functions ==
==Data Retrieval API Functions ==
''Note: ** this section is under construction** <br> The Data Retrieval API is available starting with CommitCRM 5.5.''<br><br>
The Data Retrieval API is available starting with RangerMSP 5.5.''<br><br>
The Data Retrieval API should be used for read-only purposes. Pulling data from the database using the API should be done using the following steps:
The Data Retrieval API should be used for read-only purposes. Pulling data from the database using the API should be done using the following steps:


Line 36: Line 36:
| '''CmtInitDbQryDll(app_name, path, status)'''
| '''CmtInitDbQryDll(app_name, path, status)'''
| status (int)
| status (int)
| Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the Commit server is installed: <server>\Commit\Db status - 1 for success. See Error Codes Description for other values.
| Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the RangerMSP server is installed: <server>\RangerMSP \Db status - 1 for success. See Error Codes Description for other values.
|-
|-
| '''CmtGetQueryRecIds'''<br> (xml_request_buff,<br>xml_request_buff_len,<br>xml_response_data_buff,<br>xml_response_data_buff_len,<br>status)
| '''CmtGetQueryRecIds'''<br> (xml_request_buff,<br>xml_request_buff_len,<br>xml_response_data_buff,<br>xml_response_data_buff_len,<br>status)
Line 94: Line 94:
|}
|}


==Data Update API Functions==
===CmtGetQueryRecIds ===
The Programming API provides the following API functions:
The CmtGetQueryRecIds function receives an SQL query and returns a result list of REC IDs.<br>
Both the request and the response parameters are in XML format. See more details about each XML structure below.
 
====CmtGetQueryRecIds Request====
The crmxmlqueryrequest XML contains the following sections:
* Query Data Type – here you should enter which data type you want to query.
* SQL Query – here you build the SQL Query to be executed.
 
crmxmlqueryrequest XML template:
 
<?xml version="1.0" ?>
<?crmxmlqueryrequest version="1.0" ?>
<CRMQueryDataRequest >
    <ExternalApplicationName>Enter you application name here</ExternalApplicationName>
    <Datakind> one of the supported data types </Datakind>
      <MaxRecordCount> Enter the maximum records you want in the results </MaxRecordCount>
      <Query>
        <Where>
    <Link> ( </Link>
    <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID>
    <Link> ) and | or ( </Link>
    <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID>
    <Link> ) </Link>
        </Where>
        <Order>
    <FLDTKTCARDID_FLDCRDFULLNAME dir="asc | desc" />
        </Order>
      </Query>
</CRMQueryDataRequest >
 
See more details about each XML token below.
 
===== Query Data Type =====
The Data Type should be entered in the following token:
 
<Datakind> one of the supported data types </Datakind>
 
The following table lists the entities supported by the Data Retrieval API. In this list you will find the entity name as it appears in the application and the data kind which is the string you should use in the XML token: ''Datakind'' in the XML.
 
Data Retrieval API Supported data types (Data Kind):
 
{| class="wikitable"
{| class="wikitable"
|-
|-
! '''Method'''
! '''Entity in Application'''
! '''Return Value'''
! '''Data Kind'''
! '''Description'''
|-
| Account
| ACCOUNT
|-
| Opportunity
| OPPORTUNITY
|-
| Document
| DOCUMENT
|-
| Charge
| CHARGE
|-
|-
| '''CmtInitDbEngDll (app_name, path, status)'''
| Appointment
| status (int)
| APPOINTMENT
| Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the Commit server is installed: <server>\Commit\Db status - 1 for success. See Error Codes Description for other values.
|-
|-
| '''CmtInsUpdRec(data_buff, map_buff, flag, tbd,<br>
| Task
rec_id_buff_size, error_codes_buff_size,<br>
| TASK
err_msg_buff_size,rec_id_buff,<br>
|-
err_codes_buff, err_msg_buff, status)'''
| History Note
| status (int), rec_id (char)
| HISTORY-NOTE
| Adds/Updates records.<br>
|-
data_buff - string containing the values to insert into the Database<br>
| History Audit Line
map_buff - mapping of the database fields corresponding with the data buff<br>
| HISTORY-AUDIT
flag - stop(0)/continue(1) the input process is an invalid data value(s)<br>
|-
tbd - Not used<br>
| Ticket
rec_id_buff_size - length of REC ID Buffer<br>
| TICKET
err_code_buff_size - length of Error Code Buffer<br>
err_msg_buff_size - length of Error Message Buffer<br>
rec_id_buff - buffer for returned REC ID<br>
err_codes_buff - buffer for returned Error Codes<br>
err_msg_buff - buffer for returned Error Messages<br>
status - returned status, 1 for success. <br>
See [[Commit API Reference Manual#Error Codes Description|Error Codes Description]] for other values.
|-
|-
| '''CmtTerminateDbEngDll'''
| Item
|  
| ITEM
| Close the connection to the database
|-
|-
| '''CmtGetDescriptionByCode''' (code,<br>desc_size,<br>desc)
| Asset
| message (char)
| ASSET
| Call this function in case of error in<br>
'''CmtInsUpdRec'''. <br>
In case of error (return code other than 1),<br>
you can use this to get error string.
|-
|-
| '''CmtGetDescriptionByStatus'''
| Knowledge Base Article
|  
| ARTICLE
| Call this function in case of error in<br>
|-
'''CmtInitDbEngDll'''
| Contract
| CONTRACT
|-
| Tax
| TAX
|}
|}


'''Field buffers'''
===== SQL Query =====
The record to be added/updated in the database is passed to the Commit API in two buffers:
The Query part in the XML lets you build the actual text of the SQL query, providing you with maximum flexibility.
{| class="wikitable"
 
|-
      <Query>
! '''Parameter'''
        <Where>
! '''Description'''
    <Link> ( </Link>
! '''Example'''
    <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID>
|-
    <Link> ) and | or ( </Link>
| data_buff
    <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID>
| String containing the <u>values</u> to insert into the Database. Separators between the fields are  defined in the map_buff
    <Link> ) </Link>
| "17/04/2008 14:44", "CRD7C9KZPS9JN3LEZVD9", "Charge", "CRDGO0SVQ6074CMAN7DW","Closed","test note in DB Engine", "NTBL6PDPKUU6NXLRHLHP","CRDBSMJ3P72EHMU0HB LX","TKT4S81466E05IM8P23X"
        </Where>
|-
        <Order>
| map_buff
    <FLDTKTCARDID_FLDCRDFULLNAME dir="asc | desc" />
| Mapping of the data_buff: separators, field names.
        </Order>
      </Query>
 
The Query section may contain the following tokens:
* '''Where''' – here you build your actual "where" clause of the query, providing the filtering criteria you want to execute.
** '''Field Names and operators''' – here you can enter the fields to filter by, the operators and the value (e.g. FLDTKTCARDID = CRDIBR5V3SGPKGCSYCEF).
** '''Link''' – this token lets you link text, such as brackets, commas, etc.
* '''Order''' – here you define the sorting criteria for your query (e.g. FLDTKTCARDID_FLDCRDFULLNAME dir="asc").
 
==== CmtGetQueryRecIds Response ====
 
CmtGetQueryRecIds returns the result in XML format as follows:


Field names must be in the same order as the data_buff values.
<?xml version="1.0" ?>
<?crmxmlqueryresponse version = "1.0" ?>
  <CRMQueryDataResponse>
    <Status></Status>
    <ResultCodes></ResultCodes>
    <ResultMessage></ResultMessage>
    <RecordData></RecordData>
  </CRMQueryDataResponse>


The field names should be separated with a different separator than the values (e.g. "new line").
Where:
| " , FLDHISNOTEDATETIME<br>
* '''Status, Result Codes''' – the function returns a main status and in case of error it may return 
FLDHISWORKERID<br>
* '''Result Message''' – contains the error message text in case of an error.
FLDHISKIND<br>
* '''Record Data''' – contains a list of record IDs which answer the query. This list contains the database REC IDs separated by commas.
FLDHISCONTACTID<br>
<br>
FLDHISUSER1<br>
FLDHISDESCRIPTION<br>
FLDHISRECID<br>
FLDHISCARDID<br>
FLDHISLINKRECID<br>
|}


===CmtGetRecordDataByRecId===


=Database Field Listing=
The CmtGetRecordDataByRecId function receives a record ID and a list of fields for the requested entity, and returns the requested data in XML format.
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API.  


The API allows you to add/update the following entities:  
===== CmtGetRecordDataByRecId Request=====
*[[#Account Fields|Accounts]]
Example of a request to read an Account:
*[[#Ticket Fields|Tickets]]
<?xml version="1.0" ?>
*[[#Charge Fields|Charges (and Contract-price Charges)]]
<?crmxmlgetrecorddatarequest version = "1.0" ?>
*[[#Item Fields|Items]]
  <CRMGetRecordDataRequest>
*[[#History Note Fields|History Notes]]
    <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
*[[#Asset Fields|Assets]]
    <GetRecordByRecId>CRDC1VTHMDF627HJECG7</GetRecordByRecId>
*[[#Calendar Fields|Calender]]
    <SelectFieldsList>
*[[#Opportunity Fields|Opportunities]]
      FLDCRDCOMPANY,
*[[#Document Fields|Documents]]
      FLDCRDCONTACT,
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]
      FLDCRDADDRESS1,
      FLDCRDCITY,
    </SelectFieldsList>
  </CRMGetRecordDataRequest>


The crmxmlgetrecorddatarequest XML contains the following parameters:
* '''Get Record by Rec ID''' – here you should enter the Record ID you want to read, usually an ID from the list which was returned from the query function.
* '''Select Fields List''' – here you build the list of fields to be returned for the requested entity.
<br>


All API functions may return error codes. You can find the possible error codes in:
===== CmtGetRecordDataByRecId Response =====
*[[#Error Codes Description|Error Codes]]
The CmtGetRecordDataByRecId function returns the result in XML format as follows:


<?xml version="1.0" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?>
  <CRMGetRecordDataResponse>
    <Status> </Status>
    <ResultCodes></ResultCodes>
    <ResultMessage></ResultMessage>
    <RecordData> database fields tokens </RecordData>
  </CRMGetRecordDataResponse>


In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments.  
Where:
* '''Status, Result Codes''' – the function returns a main status and in case of error it may return 
* '''Result Message''' – contains the error message text in case of an error.
* '''Record Data''' – contains a list of database fields as requested. This list contains holds each database field as a token and the data itself is the token's value.  


Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this:  
Example of a response:
<FLDSLPQUANTITY>10</FLDSLPQUANTITY>


The following table shows the data kind code when using XML or when using the API functions:
'''Account Data'''
<?xml version="1.0" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?>
  <CRMGetRecordDataResponse>
    <Status>SUCCESS</Status>
    <ResultCodes></ResultCodes>
    <ResultMessage></ResultMessage>
    <RecordData>
      <FLDCRDCOMPANY> <![CDATA[ Business Solutions ltd.]]></FLDCRDCOMPANY>
      <FLDCRDCONTACT> <![CDATA[John Smith]]> </FLDCRDCONTACT>
      <FLDCRDADDRESS1> <![CDATA[107 Severin Street]]> </FLDCRDADDRESS1>
      <FLDCRDCITY> <![CDATA[London]]> </FLDCRDCITY>
    </RecordData>
  </CRMGetRecordDataResponse>
 
'''Ticket Data'''
<?xml version="1.0" encoding="ISO-8859-8" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?>
  <CRMGetRecordDataResponse>
    <Status>SUCCESS</Status>
    <ResultCodes></ResultCodes>
    <ResultMessage></ResultMessage>
    <RecordData>
      <FLDTKTTICKETNO><![CDATA[0500-1009]]></FLDTKTTICKETNO>
      <FLDTKTSTATUS CmtRawData="900">Cancelled</FLDTKTSTATUS>
      <FLDTKTUPDATEDATE>24/01/2011  18:03</FLDTKTUPDATEDATE>
    </RecordData>
  </CRMGetRecordDataResponse>
 
===CmtGetFieldAttributesByRecId===
 
The CmtGetRecordDataByRecId function receives a Field ID and returns the field details in XML format. Field details include the same details that can be found when viewing the field attributes in the application. The details are returned in an XML including: Field Type, Size, Label, Hint, Name and Default Value.
 
Both the request and response parameters are in XML format.
 
===== CmtGetFieldAttributesByRecId Request=====
The crmxmlgetfieldattributesrequest XML contains the requested Field ID:
 
<?xml version="1.0" ?>
<?crmxmlgetfieldattributesrequest version = "1.0" ?>
  <CRMGetFieldAttributesRequest>
    <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
    <GetRecordByRecId> Enter the Field ID here (e.g. FLDCRDCITY) </GetRecordByRecId>
  </CRMGetFieldAttributesRequest>
 
Where:
* '''Get Record by Rec ID''' – here you should enter the Field ID you want to read. The Field ID which should be transferred to request can be found in the application, by right-clicking the field > ''Field Attributes > Advanced > Tech. Rec ID''.
 
<br>
 
===== CmtGetFieldAttributesByRecId Response =====
The CmtGetRecordDataByRecId function returns the result in XML format as follows:
 
The CmtGetFieldAttributesByRecId function returns the result in XML format as follows
<?xml version="1.0" ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
  <Status> </Status>
  <ResultCodes></ResultCodes>
  <ResultMessage></ResultMessage>
  <RecordData>
    <TYPE></TYPE>
    <SIZE></SIZE>
    <LABEL></LABEL>
    <HINT></HINT>
    <NAME></NAME>
    <DEFAULTVALUE></DEFAULTVALUE>
    <DISPLAYSYMBOL></DISPLAYSYMBOL>
  </RecordData>
</CRMGetFieldAttributesResponse>
 
 
Where:
* '''Status, Result Codes''' – the function returns a main status and in case of error it may return 
* '''Result Message''' – contains the error message text in case of an error.
* '''Record Data''' – contains a list of database fields containing the field details.
** DEFAULTVALUE: contains the default value for the field.
** DISPLAYSYMBOL: refers to the default value and optionally returns a symbol when relevant for a numeric value (such as currency symbol, percentage symbol, etc.).
 
Example of a response:
 
<?xml version="1.0" ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
  <Status>SUCCESS</Status>
  <ResultCodes></ResultCodes>
  <ResultMessage></ResultMessage>
  <RecordData>
    <TYPE><![CDATA[CHAR]]></TYPE>
    <SIZE>30</SIZE>
    <LABEL><![CDATA[City]]></LABEL>
    <HINT><![CDATA[City of account's address]]></HINT>
    <NAME><![CDATA[Address: City]]></NAME>
    <DEFAULTVALUE></DEFAULTVALUE>
    <DISPLAYSYMBOL></DISPLAYSYMBOL>
  </RecordData>
</CRMGetFieldAttributesResponse>
 
OR (returning a numeric field value)
 
<?xml version="1.0"  ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
  <Status>SUCCESS</Status>
  <ResultCodes></ResultCodes>
  <ResultMessage></ResultMessage>
  <RecordData>
    <TYPE><![CDATA[DOUBLE]]></TYPE>
    <SIZE></SIZE>
    <LABEL><![CDATA[Adjust Percent]]></LABEL>
    <HINT><![CDATA[Percent of discount or markup]]></HINT>
    <NAME><![CDATA[Adjust Percent]]></NAME>
    <DEFAULTVALUE><![CDATA[0]]></DEFAULTVALUE>
    <DISPLAYSYMBOL><![CDATA[%]]></DISPLAYSYMBOL>
  </RecordData>
</CRMGetFieldAttributesResponse>
 
==Data Update API Functions==
The Data Update API allows you to add and update data using Programming API and API by Email (using XML transactions).
<br><br>
Each Data Update API function requires a list of database fields and their values. Database field names can be found by right-clicking the field > Field Settings > Advanced Tab > Rec ID field. You can also find detailed information about each entity and its fields in [[API_Reference_Manual#Database_Field_Listing|Database Field Listing]].
<br><br>
Following are the API functions for adding and updating data:


{| class="wikitable"
{| class="wikitable"
|-
|-
! '''Application entity'''
! '''Method'''
! '''Table name'''
! '''Return Value'''
! '''Programming Code'''
! '''Description'''
! '''XML Data Kind Name'''
|-
|-
| Accounts
| '''CmtInitDbEngDll (app_name, path, status)'''
| Cards
| status (int)
| 10
| Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the RangerMSP server is installed: <server>\RangerMSP\Db status - 1 for success. See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.
| ACCOUNT
|-
|-
| Opportunities
| '''CmtInsUpdRec(app_name, table_id, data_buff, map_buff, flag, tbd,<br>
| Opps
rec_id_buff_size, error_codes_buff_size,<br>
| 20
err_msg_buff_size,rec_id_buff,<br>
| OPPORTUNITY
err_codes_buff, err_msg_buff, status)'''
| status (int), rec_id (char)
| Adds/Updates records.<br>
app_name - string containing your application name<br>
table_id - string containing the database table id<br>
data_buff - string containing the values to insert into the Database<br>
map_buff - mapping of the database fields corresponding with the data buff<br>
flag - stop(0)/continue(1) the input process is an invalid data value(s)<br>
tbd - Not used<br>
rec_id_buff_size - length of REC ID Buffer<br>
err_code_buff_size - length of Error Code Buffer<br>
err_msg_buff_size - length of Error Message Buffer<br>
rec_id_buff - buffer for returned REC ID<br>
err_codes_buff - buffer for returned Error Codes<br>
err_msg_buff - buffer for returned Error Messages<br>
status - returned status, 1 for success. <br>
See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.
|-
|-
| Documents
| '''CmtTerminateDbEngDll'''
| Docs
|  
| 30
| Close the connection to the database
| DOCUMENT
|-
|-
| Charges
| '''CmtGetDescriptionByCode''' (code,<br>desc_size,<br>desc)
| Slips
| message (char)
| 40
| Call this function in case of error in<br>
| CHARGE
'''CmtInsUpdRec'''. <br>
In case of error (return code other than 1),<br>
you can use this to get error string.
|-
|-
| Appointments/Tasks
| '''CmtGetDescriptionByStatus'''
| Events
|
| 50
| Call this function in case of error in<br>
| APPOINTMENT-OR-TASK
'''CmtInitDbEngDll'''
|}
 
'''Field buffers'''
The record to be added/updated in the database is passed to the RangerMSP API in two buffers:
{| class="wikitable"
|-
|-
| History Notes
! '''Parameter'''
| Notebook
! '''Description'''
| 60
! '''Example'''
| HISTORY-NOTE
|-
|-
| Tickets
| data_buff
| Tickets
| String containing the <u>values</u> to insert into the Database. Separators between the fields are  defined in the map_buff
| 70
| "17/04/2008 14:44", "CRD7C9KZPS9JN3LEZVD9", "Charge", "CRDGO0SVQ6074CMAN7DW","Closed","test note in DB Engine", "NTBL6PDPKUU6NXLRHLHP","CRDBSMJ3P72EHMU0HB LX","TKT4S81466E05IM8P23X"
| TICKET
|-
|-
| Items
| map_buff
| Items
| Mapping of the data_buff: separators, field names.
| 80
 
| ITEM
Field names must be in the same order as the data_buff values.
|-
 
| Assets
The field names should be separated with a different separator than the values (e.g. "new line").
| Assets
| " , FLDHISNOTEDATETIME<br>
| 90
FLDHISWORKERID<br>
| ASSET
FLDHISKIND<br>
|-
FLDHISCONTACTID<br>
| Knowledge Base
FLDHISUSER1<br>
| KBArticles
FLDHISDESCRIPTION<br>
| 100
FLDHISRECID<br>
| KBARTICLE
FLDHISCARDID<br>
FLDHISLINKRECID<br>
|}
|}
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.


===Account Fields===
=Database Field Listing=
The following table lists the most important parameters for adding/updating Account
Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API.
records.
 
Note slight differences when adding a main account vs. adding a secondary contact.
The API allows you to add, update and retrieve the following entities:
*[[#Account Fields|Accounts]]
*[[#Ticket Fields|Tickets]]
*[[#Charge Fields|Charges (and Contract-price Charges)]]
*[[#Item Fields|Items]]
*[[#History Note Fields|History Notes]]
*[[#Asset Fields|Assets]]
*[[#Calendar Fields|Calender (Appointments and Tasks)]]
*[[#Opportunity Fields|Opportunities]]
*[[#Document Fields|Documents]]
*[[#Knowledge Base Article Fields|Knowledge Base Articles]]
 
 
All API functions may return error codes. You can find the possible error codes in:
*[[#Error Codes Description|Error Codes]]
 
 
In the following section you will find a detailed listing of the database fields. Each table includes the fields '''Display name''' (as shows in the application), the '''Database Field Name''' (internal database field identifier) and comments.
 
Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this: 
<FLDSLPQUANTITY>10</FLDSLPQUANTITY>
 
The following table shows the data kind code when using XML or when using the API functions:


{| class="wikitable"
{| class="wikitable"
|-
|-
! '''Field Name'''
! '''Application entity'''
! '''Database Field Name'''
! '''Table name'''
! '''Comment'''
! '''Programming Code'''
! '''XML Data Kind Name'''
|-
|-
| Account REC ID
| Accounts
| FLDCRDRECID
| Cards
|The Account record ID (20 chars). The Account Rec ID can be taken from:
| 10
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
| ACCOUNT
#Using ODBC to pull information from the database.
#From the Email Response when adding new Account with the API.
|-
|-
| Account Manager
| Opportunities
| FLDCRDASSIGNCARDID
| Opps
| This field has two roles:
| 20
#When adding a main Account:<br>The account manager should contain the ID of the Employee who is the account manager.
| OPPORTUNITY
#When adding a secondary contact:<br>
This field should contain the ID of the main Account to which the secondary contacted is
added.
|-
|-
|Company name
| Documents
|FLDCRDCOMPANY
| Docs
|
| 30
| DOCUMENT
|-
|-
|Contact: First & Last Name
| Charges
|FLDCRDCONTACT
| Slips
|
| 40
| CHARGE
|-
|-
| Assistant
| Appointments/Tasks
| FLDCRDASSISTANT
| Events
|
| 50
| APPOINTMENT-OR-TASK
|-
|-
|Contract
| History Notes
|FLDCRDBCRECID
| Notebook
|The default Contract for this Account (not required)
| 60
| HISTORY-NOTE
|-
|-
|Account Number
| Tickets
|FLDCRDCARDID2
| Tickets
|
| 70
| TICKET
|-
|-
|ID
| Items
|FLDCRDCARDID3
| Items
|
| 80
| ITEM
|-
|-
|Popup Message
| Assets
|FLDCRDCARDMESSAGE
| Assets
|
| 90
| ASSET
|-
|-
| Address: Line1
| Knowledge Base
| FLDCRDADDRESS1
| KBArticles
|
| 100
| ARTICLE
|}
You can find examples of adding and updating records in the database by using the database field in the [[API Code Samples]] section.
 
===Account Fields===
The following table lists the most important parameters for adding/updating Account
records.
Note slight differences when adding a main account vs. adding a secondary contact.
 
{| class="wikitable"
|-
|-
| Address: Line2
! '''Field Name'''
| FLDCRDADDRESS2
! '''API Field Name'''
|
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Address: Line3
| Account REC ID
| FLDCRDADDRESS3
| FLDCRDRECID
|
|The Account record ID (20 chars). The Account Rec ID can be taken from:
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
#Using the Data Retrieval API to pull information from the database.
#From the Email Response when adding new Account with the API.
|cards
|RECID
|-
|-
|Address: City
| Account Manager
|FLDCRDCITY
| FLDCRDASSIGNCARDID
| This field has two roles:
#When adding a main Account:<br>The account manager should contain the ID of the Employee who is the account manager.
#When adding a secondary contact:<br>
This field should contain the ID of the main Account to which the secondary contacted is
added.
|cards
|ASSIGNCARDID
|-
|Status
|FLDCRDSUBCONTSTATUS
|Relevant only for Secondary Contacts. Possible values:<br>'''A'''-ctive<br>'''N'''-ot Active.<br>Default value if not passed to the API is Active.
|cards
|SUBCONTSTATUS
|-
|Company name
|FLDCRDCOMPANY
|
|
|cards
|COMPANY
|-
|-
|Address: State
|Contact: First & Last Name
|FLDCRDCOUNTRY
|FLDCRDCONTACT
|
|
|cards
|CONTACT
|-
|-
|Address: Country
| Assistant
|FLDCRDSTATE
| FLDCRDASSISTANT
|
|
|cards
|ASSISTANT
|-
|-
|Address: Zip
|Contract
|FLDCRDZIP
|FLDCRDBCRECID
|The default Contract for this Account (not required)
|cards
|BCRECID
|-
|Account Number
|FLDCRDCARDID2
|
|
|cards
|CARDID2
|-
|-
|Creation Date
|ID
|FLDCRDCREATEDATE
|FLDCRDCARDID3
|Any date format, such as DD/MM/YYYY
|
|cards
|CARDID3
|-
|-
|Created by User
|Popup Message
|FLDCRDCREATEUSERID
|FLDCRDCARDMESSAGE
|Foreign Software Name which created the account
|-
|Dear
|FLDCRDDEAR
|
|
|cards
|CARDMESSAGE
|-
|-
|Department
| Address: Line1
|FLDCRDDEPARTMENT
| FLDCRDADDRESS1
|
|
|cards
|ADDRESS1
|-
|-
|Documents Store Directory
| Address: Line2
|FLDCRDDOCSFOLDER
| FLDCRDADDRESS2
|
|
|cards
|ADDRESS2
|-
|-
|E-Mail Address 1
| Address: Line3
|FLDCRDEMAIL1
| FLDCRDADDRESS3
|
|
|cards
|ADDRESS3
|-
|-
|E-Mail Address 2
|Address: City
|FLDCRDEMAIL2
|FLDCRDCITY
|
|
|cards
|CITY
|-
|-
|Account Type
|Address: State
|FLDCRDENTITYKIND
|FLDCRDCOUNTRY
|When adding a Main Account = 1<br>When adding a secondary contact = 5
|-
|Fax Number
|FLDCRDFAX1
|
|
|cards
|COUNTRY
|-
|-
|Fax Number Extension
|Address: Country
|FLDCRDFAXDESC1
|FLDCRDSTATE
|
|
|cards
|STATE
|-
|-
|File as
|Address: Zip
|FLDCRDFULLNAME
|FLDCRDZIP
|
|
|cards
|ZIP
|-
|-
|Type
|Creation Date
|FLDCRDKIND
|FLDCRDCREATEDATE
|
|Any date format, such as DD/MM/YYYY
|cards
|CREATEDATE
|-
|-
|Last Name  
|Created by User
|FLDCRDLASTNAME
|FLDCRDCREATEUSERID
|
|Foreign Software Name which created the account
|cards
|CREATEUSERID
|-
|-
|Notes
|Dear
|FLDCRDNOTES
|FLDCRDDEAR
|
|
|cards
|DEAR
|-
|-
|Field
|Department
|FLDCRDPERSONID
|FLDCRDDEPARTMENT
|
|
|cards
|DEPARTMENT
|-
|-
|Phone 1 Ext.
|Documents Store Directory
|FLDCRDPHNDESC1
|FLDCRDDOCSFOLDER
|
|
|cards
|DOCSFOLDER
|-
|-
|Phone 2 Ext.
|E-Mail Address 1
|FLDCRDPHNDESC2
|FLDCRDEMAIL1
|
|
|cards
|EMAIL1
|-
|-
|Phone 3 Ext.
|E-Mail Address 2
|FLDCRDPHNDESC3
|FLDCRDEMAIL2
|
|
|cards
|EMAIL2
|-
|-
|Phone 4 Ext.
|Account Type
|FLDCRDPHNDESC4
|FLDCRDENTITYKIND
|When adding a Main Account = 1<br>When adding a secondary contact = 5<br>When adding a Employee Account = 4
|cards
|ENTITYKIND
|-
|Fax Number
|FLDCRDFAX1
|
|
|cards
|FAX1
|-
|-
|Phone 1
|Fax Number Extension
|FLDCRDPHONE1
|FLDCRDFAXDESC1
|
|
|cards
|FAXDESC1
|-
|-
|Phone 2
|File as
|FLDCRDPHONE2
|FLDCRDFULLNAME
|
|
|cards
|FULLNAME
|-
|-
|Phone 3
|Type
|FLDCRDPHONE3
|FLDCRDKIND
|
|
|cards
|KIND
|-
|-
|Phone 4
|Last Name
|FLDCRDPHONE4
|FLDCRDLASTNAME
|
|
|cards
|LASTNAME
|-
|-
|Region
|Notes
|FLDCRDREGIONCODE
|FLDCRDNOTES
|
|
|cards
|NOTES
|-
|-
|Popup Message: Display Indication
|Field
|FLDCRDSHOWMESSAGE
|FLDCRDPERSONID
|
|
|cards
|PERSONID
|-
|-
|Sub-Contact Code
|Phone 1 Ext.
|FLDCRDSUBCODE
|FLDCRDPHNDESC1
|
|
|cards
|PHNDESC1
|-
|-
|Salutation
|Phone 2 Ext.
|FLDCRDSUFFIX
|FLDCRDPHNDESC2
|
|
|cards
|PHNDESC2
|-
|-
|Tax1
|Phone 3 Ext.
|FLDCRDTAXCODE1
|FLDCRDPHNDESC3
|
|
|cards
|PHNDESC3
|-
|-
|Tax2
|Phone 4 Ext.
|FLDCRDTAXCODE2
|FLDCRDPHNDESC4
|
|
|cards
|PHNDESC4
|-
|-
|Notes
|Phone 1
|FLDCRDNOTES
|FLDCRDPHONE1
|
|
|cards
|PHONE1
|-
|-
|Title
|Phone 2
|FLDCRDTITLE
|FLDCRDPHONE2
|
|
|cards
|PHONE2
|-
|-
|Last Updated by
|Phone 3
|FLDCRDUPDATEUSERID
|FLDCRDPHONE3
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.
|-
|Web Address 1
|FLDCRDURL1
|
|
|cards
|PHONE3
|-
|-
|Web Address 2
|Phone 4
|FLDCRDURL2
|FLDCRDPHONE4
|
|
|cards
|PHONE4
|-
|-
|Status
|Region
|FLDCRDUSER1
|FLDCRDREGIONCODE
|
|
|cards
|REGIONCODE
|-
|-
|Field1
|Popup Message: Display Indication
|FLDCRDUSER2
|FLDCRDSHOWMESSAGE
|
|
|cards
|SHOWMESSAGE
|-
|-
|Field2
|Sub-Contact Code
|FLDCRDUSER3
|FLDCRDSUBCODE
|
|
|cards
|SUBCODE
|-
|-
|Field3
|Salutation
|FLDCRDUSER4
|FLDCRDSUFFIX
|
|
|cards
|SUFFIX
|-
|-
|Field4
|Tax1
|FLDCRDUSER5
|FLDCRDTAXCODE1
|Tax1 & 2 use a reference in the cards table and actual taxcodes are in the Taxes table
|cards, Taxes
|cards.TAXCODES, Taxes.TAXNUM
|-
|Tax2
|FLDCRDTAXCODE2
|
|
|}
|cards, Taxes
 
|cards.TAXCODES, Taxes.TAXNUM
===Ticket Fields===
 
The table below lists the most important Ticket parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Title
! '''Database Field Name'''
|FLDCRDTITLE
! '''Comment'''
|
|cards
|TITLE
|-
|-
| Account REC ID
|Last Updated by
| FLDTKTCARDID
|FLDCRDUPDATEUSERID
|The Account record ID (20 chars). The Account Rec ID can be taken from:
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
|cards
#ODBC to pull information from the database
|UPDATEUSERID
#The automated email response when adding a cnew Account with the API
|-
|-
| Contact REC ID
|Web Address 1
| FLDTKTCONTACTID
|FLDCRDURL1
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
|
|cards
|URL1
|-
|-
| Contract REC ID
|Web Address 2
| FLDTKTBCRECID
|FLDCRDURL2
|The Contract ID. If not supplied, will be taken from the Account's default contract.
|
|cards
|URL2
|-
|-
| Emp. REC ID
|Status
| FLDTKTWORKERID
|FLDCRDACCOUNTSTATUS
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.
|
|cards
|ACCOUNTSTATUS
|-
|-
| Priority
|Field1
| FLDTKTPRIORITY
|FLDCRDUSER2
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.
|
Immediate = 10<br>High = 20<br>Normal = 30<br>Low = 40<br>Not Applicable= 50
|cards
|USER2
|-
|-
| Ticket Number
|Field2
| FLDTKTTICKETNO
|FLDCRDUSER3
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.
|
|cards
|USER3
|-
|-
|Description
|Field3
|FLDTKTPROBLEM
|FLDCRDUSER4
|This is the Ticket Description. This is a mandatory field, which must contain text.
|
|cards
|USER4
|-
|-
|Ticket Type
|Field4
|FLDTKTKIND
|FLDCRDUSER5
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.
|
|cards
|USER5
|-
|-
|Source
|Field5
|FLDTKTSOURCE
|FLDCRDCOMPANYNO
|
|
|cards
|COMPANYNO
|-
|-
|Estimated Duration Time
|Field6
|FLDTKTSCHEDLENESTIM
|FLDCRDUSER1
|Estimated duration time for the Ticket in minutes.
|
|cards
|USER1
|}
 
===Ticket Fields===
 
The table below lists the most important Ticket parameters and behavior:
 
{| class="wikitable"
|-
! '''Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
|Show Ticket in Dispatcher
| Account REC ID
|FLDTKTFORDISPATCH
| FLDTKTCARDID
|Possible values: Yes/No
|The Account record ID (20 chars). The Account Rec ID can be taken from:
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a cnew Account with the API
| tickets
| CARDID
|-
|-
|Status
| Contact REC ID
|FLDTKTSTATUS
| FLDTKTCONTACTID
|The Ticket Status (optional).<br>
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
Possible values:<br>
| tickets
New = 100<br>
| CONTACTID
Pending = 200<br>
Scheduled = 300<br>
In-House Service = 400<br>
On-Site Service = 500<br>
Laboratory Service = 600<br>
Hold = 700<br>
Other = 800<br>
Canceled = 900<br>
Completed = 1000
|-
|-
|Created by User
| Contract REC ID
|FLDTKTCREATEUSER
| FLDTKTBCRECID
|Should contain the external software name which created the Ticket
|The Contract ID. If not supplied, will be taken from the Account's default contract.
| tickets
| RECID
|-
|-
|Due Date
| Emp. REC ID
|FLDTKTDUEDATETIME
| FLDTKTWORKERID
|Due date for the Ticket.  
|The worker ID to be linked to the Ticket. Must be an active employee. This is an optional  parameter. If not passed, the system default will be used.
Should be passed in date/time format. e.g. MM/DD/YYYY HH:MM AM/PM <br>
| tickets
Example: <br>
| WORKERID
09/14/2010 03:24 PM
|-
|-
|Resolution
| Priority
|FLDTKTSOLUTION
| FLDTKTPRIORITY
|Ticket resolution text
| The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.
|}
Immediate = 10<br>High = 20<br>Normal = 30<br>Low = 40<br>Not Applicable= 50
 
| tickets
===Charge Fields===
| PRIORITY
The table below lists the most important Charge parameters and behavior.
 
Contract-price Charges have some special characteristics (see comments marked by * in
the table below):
 
{| class="wikitable"
|-
|-
! '''Field Name'''
| Ticket Number
! '''Database Field Name'''
| FLDTKTTICKETNO
! '''Comment'''
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.
| tickets
| TICKETNO
|-
|-
| Record ID
|Description
| FLDSLPRECID
|FLDTKTPROBLEM
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be
|This is the Ticket Description. This is a mandatory field, which must contain text.
added as a new Charge.
| tickets
| PROBLEM
|-
|-
| Charge Source
|Ticket Type
| FLDSLPSOURCERECID
|FLDTKTKIND
|The Charge source is the entity for which the charge is created.<br>
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.
Possible values:
| tickets
*Linked Contract RecID (for Contract-price Charges). Cannot be the "System Global Contract".
| KIND
**Passing the Contract RecID indicates that this is a Contract-price charge.
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).
|-
|-
| Account REC ID
|Source
| FLDSLPCARDID
|FLDTKTSOURCE
|The Account record ID (20 chars). The Account REC ID can be taken from:
|
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
| tickets
#ODBC to pull information from the database
| SOURCE
#The automated email response when adding a new Account with the API
|-
|-
| Employee REC ID
|Estimated Duration Time
| FLDSLPWORKERID
|FLDTKTSCHEDLENESTIM
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.
|Estimated duration time for the Ticket in minutes.
| tickets
| SCHEDLENESTIM
|-
|-
| Charged Item
|Show Ticket in Dispatcher
| FLDSLPITEMID
|FLDTKTFORDISPATCH
| The Item Record ID to be linked to the Charge. This is a mandatory field.
|Possible values: Yes/No
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.
| tickets
| FORDISPATCH
|-
|-
| Contract REC ID
|Status
| FLDSLPBCRECID
|FLDTKTSTATUS
| The contract record ID (must be a Contract of the Account)
|The Ticket Status (optional).<br>
Possible values:<br>
New = 100<br>
Pending = 200<br>
Scheduled = 300<br>
In-House Service = 400<br>
On-Site Service = 500<br>
Laboratory Service = 600<br>
Hold = 700<br>
Other = 800<br>
Canceled = 900<br>
Completed = 1000
| tickets
| STATUS
|-
|-
|Ticket REC ID
|Created by User
|FLDSLPTICKETID
|FLDTKTCREATEUSER
|The Ticket ID to be linked to the Charge.
|Should contain the external software name which created the Ticket
*Not relevant for Contract-price Charge
| tickets
| CREATEUSER
|-
|-
|Date
|Due Date
|FLDSLPSLIPDATE
|FLDTKTDUEDATETIME
|The date for the Charge. This is an optional parameter. If not provided, the current date will
|Due date for the Ticket.  
be used. Should be passed in date format. e.g. MM/DD/YYYY
Should be passed in date/time format. e.g. MM/DD/YYYY HH:MM AM/PM <br>
Example: <br>
09/14/2010 03:24 PM
| tickets
| DUEDATETIME
|-
|-
|Description
|Resolution
|FLDSLPDESC
|FLDTKTSOLUTION
|The Charge Description. If not provided, will be taken from the Item's description.
|Ticket resolution text
|-
| tickets
|Units/Hours
| SOLUTION
|FLDSLPQUANTITY
|}
|This is the quantity of hours/units
 
|-
===Charge Fields===
|Adjust Amount
The table below lists the most important Charge parameters and behavior.
|FLDSLPADJUSTAMOUNT
 
|Discount/Markup amount. Positive number means Markup, negative number means Discount.
Contract-price Charges have some special characteristics (see comments marked by * in
the table below):
 
{| class="wikitable"
|-
|-
|Adjust Percent
! '''Field Name'''
|FLDSLPADJUSTPERCENT
! '''API Field Name'''
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
|From Time
| Record ID
|FLDSLPSTARTTIME
| FLDSLPRECID
|From time for labor Charges e.g. 12:06
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be
*Not relevant for Contract-price Charge
added as a new Charge.
| slips
| RECID
|-
|-
|To Time
| Charge Source
|FLDSLPENDTIME
| FLDSLPSOURCERECID
|From time for labor Charges e.g. 14:50
|The Charge source is the entity for which the charge is created.<br>
* Not relevant for Contract-price Charge
Possible values:
*Linked Contract RecID (for Contract-price Charges). Cannot be the "System Global Contract".
**Passing the Contract RecID indicates that this is a Contract-price charge.
*Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).
| slips
| SOURCERECID
|-
|-
|Price/Rate
| Account REC ID
|FLDSLPPRICE
| FLDSLPCARDID
|If not provided, the price is taken from the Item.
|The Account record ID (20 chars). The Account REC ID can be taken from:
#Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a new Account with the API
| slips
| CARDID
|-
|-
| Billable
| Employee REC ID
| FLDSLPBILLKIND
| FLDSLPWORKERID
| B - Billable<br>
| The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.
N - Not Billable<br>
| slips
If not provided, will be set according to the Contract type.
| WORKERID
|-
|-
| Billed
| Charged Item
| FLDSLPSTAGE
| FLDSLPITEMID
| D - Draft
| The Item Record ID to be linked to the Charge. This is a mandatory field.
B - Billed
*For Contract-price Charge can be only Fixed-Price, Unit-based Item.
| slips
| ITEMID
|-
|-
| Field1
| Contract REC ID
| FLDSLPUSER1
| FLDSLPBCRECID
| User defined field
| The contract record ID (must be a Contract of the Account)
| slips
| BCRECID
|-
|-
| Create User
|Ticket REC ID
| FLDSLPCREATEUSER
|FLDSLPTICKETID
| External software name which created the Charge
|The Ticket ID to be linked to the Charge.
|}
*Not relevant for Contract-price Charge
 
| slips
===Item Fields===
| TICKETID
 
The table below lists the most important Item parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Date
! '''Database Field Name'''
|FLDSLPSLIPDATE
! '''Comment'''
|The date for the Charge. This is an optional parameter. If not provided, the current date will
be used. Should be passed in date format. e.g. MM/DD/YYYY
| slips
| SLIPDATE
|-
|-
| Record ID
|Description
| FLDITMRECID
|FLDSLPDESC
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.
|The Charge Description. If not provided, will be taken from the Item's description.
| slips
| DESCRIPTION
|-
|-
| Item Group
|Hours
| FLDITMITEMTYPEGROUP
|FLDSLPHOURSAMOUNT
|The Item Group to be linked to the Charge. This is a mandatory field:<br>
|This is the amount of hours
F - Labor (Fee)<br>
| slips
X - Expense<br>
| HOURSAMOUNT
P - Part
|-
|-
| Item Code
|Units
| FLDITMITEMNO
|FLDSLPQUANTITY
|The item code is a mandatory field
|This is the quantity of units
| slips
| QUANTITY
|-
|-
| Item Name
|Adjust Amount
| FLDITMNAME
|FLDSLPADJUSTAMOUNT
| The item name is a mandatory field
|Discount/Markup amount. Positive number means Markup, negative number means Discount.
| slips
| ADJUSTAMOUNT
|-
|-
| Price Source
|Adjust Percent
| FLDITMPRICESOURCE
|FLDSLPADJUSTPERCENT
| F - Fixed Price<br>
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.
W - by Employee Rate
| slips
| ADJUSTPERCENT
|-
|-
| Price per Hour/Unit
|Adjust Type'''
| FLDITMUNITISHOUR
|FLDSLPADJUSTTYPE
| This field indicated whether the price is unitbased or hours-based.<br>
|The Discount/Markup type:<br>
Y - by Hours<br>
A - total amount adjustment <br>
N - by Units<br>
U - per unit adjustment<br>
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours
P - percent  <br>
|slips
|ADJUSTTYPE
|-
|-
|Price
|From Time
|FLDITMUNITPRICE
|FLDSLPSTARTTIME
|Must be a valid numeric value
|From time for labor Charges e.g. 12:06
*Not relevant for Contract-price Charge
| slips
| FROMTIME
|-
|-
|Cost
|To Time
|FLDITMSTANDARDCOST
|FLDSLPENDTIME
|The date for the Charge. This is an optional parameter. If not provided, the current date will
|From time for labor Charges e.g. 14:50
be used. Should be passed in date format. e.g. MM/DD/YYYY
* Not relevant for Contract-price Charge
| slips
| TOTIME
|-
|-
|Taxes
|Price/Rate
|FLDITMTAXCODE1<br>
|FLDSLPPRICE
FLDITMTAXCODE2<br>
|If not provided, the price is taken from the Item.
FLDITMTAXCODE3
| slips
|You can pass up to 3 different tax codes.
| PRICE
|-
|-
|Description by Name
| Billable
|FLDITMDESCBYNAME
| FLDSLPBILLKIND
|Y - take the description from the name field<br>
| B - Billable<br>
N - take the description from the Description field
N - Not Billable<br>
If not provided, will be set according to the Contract type.
| slips
| BILLKIND
|-
|-
|Description
| Billed
|FLDITMDESC
| FLDSLPSTAGE
|If not provided, the description is taken from the name.
| D - Draft
B - Billed
| slips
| STAGE
|-
|-
|Suspend
| Field1
|FLDITMSUSPENDED
| FLDSLPUSER1
|Indicated whether this item is currently suspended:<br>
| User defined field
Y - yes<br>
| slips
N - no
| USER1
|-
|-
|Notes
| Create User
|FLDITMNOTES
| FLDSLPCREATEUSER
|
| External software name which created the Charge
| slips
| CREATEUSER
|}
 
===Item Fields===
 
The table below lists the most important Item parameters and behavior:
 
{| class="wikitable"
|-
|-
|Field1
! '''Field Name'''
|FLDITMUSER1
! '''API Field Name'''
|User defined field
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
|Create User
| Record ID
|FLDITMCREATEUSER
| FLDITMRECID
|External software name which created the Charge
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.
| Items
| RECID
|-
|-
| Created by User
| Item Group
| FLDTKTCREATEUSER
| FLDITMITEMTYPEGROUP
| Should contain the external software name which created the Ticket
|The Item Group to be linked to the Charge. This is a mandatory field:<br>
|}
F - Labor (Fee)<br>
 
X - Expense<br>
===History Note Fields===
P - Part
The table below lists the most important History Note parameters and behavior:
| Items
 
| ITEMTYPEGROUP
{| class="wikitable"
|-
! '''Field Name'''
! '''Database Field Name'''
! '''Comment'''
|-
|-
| Record ID
| Item Code
| FLDHISRECID
| FLDITMITEMNO
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.
|The item code is a mandatory field
| Items
| ITEMNO
|-
|-
| Date
| Item Name
| FLDHISNOTEDATETIME
| FLDITMNAME
|Any date format, such as DD/MM/YYYY
| The item name is a mandatory field
| Items
| NAME
|-
|-
| Description
| Price Source
| FLDHISDESCRIPTION
| FLDITMPRICESOURCE
| The Description text
| F - Fixed Price<br>
W - by Employee Rate
| Items
|  
|-
|-
| Opportunity/Ticket/Contract
| Price per Hour/Unit
| FLDHISLINKRECID
| FLDITMUNITISHOUR
| Link to Opportunity or Ticket or Contract
| This field indicated whether the price is unitbased or hours-based.<br>
Y - by Hours<br>
N - by Units<br>
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours
| Items
| UNITISHOUR
|-
|-
| Field
|Price
| FLDHISUSER1
|FLDITMUNITPRICE
| User defined field
|Must be a valid numeric value
| Items
| UNITPRICE
|-
|-
| About
|Cost
| FLDHISKIND
|FLDITMSTANDARDCOST
| Optional field
|The date for the Charge. This is an optional parameter. If not provided, the current date will
be used. Should be passed in date format. e.g. MM/DD/YYYY
| Items
| STANDARDCOST
|-
|-
|Employee
|Taxes
|FLDHISWORKERID
|FLDITMTAXCODE1<br>
|The employee ID to be linked to the History Note. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.
FLDITMTAXCODE2<br>
FLDITMTAXCODE3
|You can pass up to 3 different tax codes.
| Items, Taxes
| Items.TAXCODES, Taxes.TAXNUM
|-
|-
|Account
|Description by Name
|FLDHISCARDID
|FLDITMDESCBYNAME
|The Account record ID (20 chars). The Account Rec ID can be taken from:
|Y - take the description from the name field<br>
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
N - take the description from the Description field
#Using ODBC to pull information from the database
| Items
#From the Email Response when adding new Account with the API
| DESCBYNAME
|-
|Description
|FLDITMDESC
|If not provided, the description is taken from the name.
| Items
| DESCRIPTION
|-
|-
|Contact
|Suspend
|FLDHISCONTACTID
|FLDITMSUSPENDED
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
|Indicated whether this item is currently suspended:<br>
Y - yes<br>
N - no
| Items
| SUSPENDED
|-
|-
|Document
|Notes
|FLDHISDOCID
|FLDITMNOTES
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.
|
| Items
| NOTES
|-
|-
|Created by User
|Field1
|FLDHISCREATEUSER
|FLDITMUSER1
|Name of the external software which created this History Note
|User defined field
|}
| Items
| USER1
|-
|Create User
|FLDITMCREATEUSER
|External software name which created the Charge
| Items
|
|-
| Created by User
| FLDTKTCREATEUSER
| Should contain the external software name which created the Ticket
| Items
| CREATEUSER
|}


===Asset Fields===
===History Note Fields===
The table below lists the most important Asset parameters and behavior:
The table below lists the most important History Note parameters and behavior:


{| class="wikitable"
{| class="wikitable"
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Asset Code
| Record ID
| FLDASTASSETCODE
| FLDHISRECID
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.
| NoteBook
| RECID
|-
|-
| Asset Type
| Date
| FLDASTASSETTYPE
| FLDHISNOTEDATETIME
|The Type field is mandatory:<br>
|Any date format, such as DD/MM/YYYY
Hardware = H<br>
| NoteBook
Software = S<br>
| NOTEDATETIME
Other = T
|-
|-
| Asset Name
| Description
| FLDASTNAME
| FLDHISDESCRIPTION
|  
| The Description text
| NoteBook
| DESCRIPTION
|-
|-
| Status
| Opportunity/Ticket/Contract
| FLDASTSTATUS
| FLDHISLINKRECID
| Mandatory field.<br>
| Link to Opportunity or Ticket or Contract
Active = A<br>
| NoteBook
Not Active = N<br>
| LINKRECID
If not provided, default Active is used.
|-
|-
| Record ID
| Field
| FLDASTRECID
| FLDHISUSER1
| If provided, must exist in the database. Ignored if empty
| User defined field
| NoteBook
| USER1
|-
| About
| FLDHISKIND
| Optional field
| NoteBook
| KIND
|-
|-
| Serial No.
|Employee
| FLDASTSERIALNO
|FLDHISWORKERID
|  
|The employee ID to be linked to the History Note. This is a mandatory parameter and must contain an ID of an active employee.  
| NoteBook
| WORKERID
|-
|-
|Account
|Account
|FLDASTACCRECID
|FLDHISCARDID
|The Account which is linked to the Asset
|The Account record ID (20 chars). The Account Rec ID can be taken from:
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
#Using Data Retrieval API to pull information from the database
#From the Email Response when adding new Account with the API
| NoteBook
| CARDID
|-
|-
|Contact
|Contact
|FLDASTCONTACTRECID
|FLDHISCONTACTID
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
| NoteBook
| CONTACTID
|-
|-
|Created by user
|Document
|FLDASTCREATEUSER
|FLDHISDOCID
|Name of external software which created this Asset
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the Data Retrieval API to pull information from the database.
| NoteBook
| DOCID
|-
|-
|Purchase Date
|Created by User
|FLDASTCUSTPURDATE
|FLDHISCREATEUSER
|Any date format, such as DD/MM/YYYY
|Name of the external software which created this History Note
| NoteBook
| CREATEUSER
|}
 
===Asset Fields===
The table below lists the most important Asset parameters and behavior:
 
{| class="wikitable"
|-
|-
|Purchased From Us
! '''Field Name'''
|FLDASTCUSTPURFROMUS
! '''API Field Name'''
|Possible values: Y/N.<br>
! '''Comment'''
If not provided, default value Y is used.
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Purchase Invoice #
| Asset Code
| FLDASTCUSTPUROURINV
| FLDASTASSETCODE
|  
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
| assets
| ASSETCODE
|-
|-
| Customer PO
| Asset Type
| FLDASTCUSTPURPO
| FLDASTASSETTYPE
|The Type field is mandatory:<br>
Hardware = H<br>
Software = S<br>
Other = T
| assets
| ASSETTYPE
|-
| Asset Name
| FLDASTNAME
|  
|  
| assets
| NAME
|-
|-
| Purchase Price
| Status
| FLDASTCUSTPURPRICE
| FLDASTSTATUS
|  
| Mandatory field.<br>
Active = A<br>
Not Active = N<br>
If not provided, default Active is used.
| assets
| STATUS
|-
|-
| Delivered Date
| Record ID
| FLDASTDELIVEDATE
| FLDASTRECID
|  
| If provided, must exist in the database. Ignored if empty
| assets
| RECID
|-
|-
| Description
| Serial No.
| FLDASTDESC
| FLDASTSERIALNO
|  
|  
| assets
| SERIALNO
|-
|-
| Installed By
|Account
| FLDASTINSTALBY
|FLDASTACCRECID
|  
|The Account which is linked to the Asset
| assets
| ACCOUNTRECID
|-
|-
| Installed Date
|Contact
| FLDASTINSTALDATE
|FLDASTCONTACTRECID
|  
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
| assets
| CONTACTRECID
|-
|-
| License Codes
|Created by user
| FLDASTLICENSECODE
|FLDASTCREATEUSER
|  
|Name of external software which created this Asset
| assets
| CREATEUSER
|-
|-
| License Keys
|Purchase Date
| FLDASTLICENSEKEY
|FLDASTCUSTPURDATE
|  
|Any date format, such as DD/MM/YYYY
| assets
| CUSTPURCHASEDATE
|-
|-
| License Notes
|Purchased From Us
| FLDASTLICENSENOTES
|FLDASTCUSTPURFROMUS
|Possible values: Y/N.<br>
If not provided, default value Y is used.
| assets
| CUSTPURCHASEDFROMUS
|-
| Purchase Invoice #
| FLDASTCUSTPUROURINV
|  
|  
| assets
| CUSTPURCHASEDOURINV
|-
|-
| Location
| Customer PO
| FLDASTLOCATION
| FLDASTCUSTPURPO
|  
|  
| assets
| CUSTPURCHASEPO
|-
|-
| Manufacturer
| Purchase Price
| FLDASTMANUFACTURER
| FLDASTCUSTPURPRICE
|  
|  
| assets
| CUSTPURCHASEPRICE
|-
|-
| Mnf Serial No.
| Delivered Date
| FLDASTMNFSERIALNO
| FLDASTDELIVEDATE
|  
|  
| assets
| DELIVERDATE
|-
|-
| Model
| Description
| FLDASTMODEL
| FLDASTDESC
|  
|  
| assets
| DESCRIPTION
|-
|-
| Notes
| Installed By
| FLDASTNOTES
| FLDASTINSTALBY
|  
|  
| assets
| INSTALLEDBY
|-
|-
| Quantity
| Installed Date
| FLDASTQUANTITY
| FLDASTINSTALDATE
| If not provided, default value of 1 is used.
|  
| assets
| INSTALLEDDATE
|-
|-
| Last Update By
| License Codes
| FLDASTUPDATEUSER
| FLDASTLICENSECODE
| Name of externals software which performed the update
|  
| assets
| LICENSECODE
|-
|-
| Field1
| License Keys
| FLDASTUSER1
| FLDASTLICENSEKEYS
| User defined field
|  
| assets
| LICENSEKEYS
|-
|-
| Field2
| License Notes
| FLDASTUSER2
| FLDASTLICENSENOTES
| User defined field
|  
| assets
| LICENSENOTES
|-
|-
| Field3
| Location
| FLDASTUSER3
| FLDASTLOCATION
| User defined field
|  
| assets
| LOCATION
|-
|-
| Field4
| Manufacturer
| FLDASTUSER4
| FLDASTMANUFACTURER
| User defined field
|  
| assets
| MANUFACTURER
|-
|-
| Field5
| Mnf Serial No.
| FLDASTUSER5
| FLDASTMNFSERIALNO
| User defined field
|  
| assets
| MNFSERIALNO
|-
|-
| Date1
| Model
| FLDASTUSERDATE1
| FLDASTMODEL
| User defined field
|-
| Number1
| FLDASTUSERNUMBER1
| User defined field
|-
| Vendor Purchased Date
| FLDASTVENDORDATEPURC
|  
|  
| assets
| MODEL
|-
|-
| Vendor Invoice #
| Notes
| FLDASTVENDORINVNO
| FLDASTNOTES
|  
|  
| assets
| NOTES
|-
|-
| Vendor PO
| Quantity
| FLDASTVENDOROURPO
| FLDASTQUANTITY
|  
| If not provided, default value of 1 is used.
| assets
| QUANTITY
|-
|-
| Vendor Price
| Last Update By
| FLDASTVENDORPRICE
| FLDASTUPDATEUSER
|  
| Name of externals software which performed the update
| assets
| UPDATEUSER
|-
|-
| Vendor
| Field1
| FLDASTVENDORRECID
| FLDASTUSER1
|  
| User defined field
| assets
| USER1
|-
|-
| Vendor Serial No.
| Field2
| FLDASTVENDORSERNO
| FLDASTUSER2
|  
| User defined field
| assets
| USER2
|-
|-
| Vendor Warranty Exp. Date
| Field3
| FLDASTVENDORWARREXP
| FLDASTUSER3
| Any date format, such as DD/MM/YYYY
| User defined field
| assets
| USER3
|-
|-
| Version
| Field4
| FLDASTVERSION
| FLDASTUSER4
|  
| User defined field
| assets
| USER4
|-
|-
| Warranty/License Exp.
| Field5
| FLDASTWARREXPDATE
| FLDASTUSER5
| Any date format, such as DD/MM/YYYY
| User defined field
| assets
| USER5
|-
|-
| Date
| Date1
|
| FLDASTUSERDATE1
|
| User defined field
|}
| assets
 
| USERDATE1
===Calendar Fields===
The table below lists the most important Calendar parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
| Number1
! '''Database Field Name'''
| FLDASTUSERNUMBER1
! '''Comment'''
| User defined field
| assets
| USERNUMBER1
|-
|-
| Record ID
| Vendor Purchased Date
| FLDEVTRECID
| FLDASTVENDORDATEPURC
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this
|  
will be added as a new Appointment/Task.
| assets
| VENDORDATEPURCHASED
|-
|-
| Event Type
| Vendor Invoice #
| FLDEVTWRITETOID
| FLDASTVENDORINVNO
|The Event type is a mandatory field.<br>
|  
Appointment = 1<br>
| assets
Task = 2
| VENDORINVOICENO
|-
|-
| Employee
| Vendor PO
| FLDEVTWORKERID
| FLDASTVENDOROURPO
| The Task/Appointment owner (for private events)
|  
| assets
| VENDOROURPO
|-
|-
| Private: User
| Vendor Price
| FLDEVTPRIVATEID
| FLDASTVENDORPRICE
| Possible values: Y/N<br>
|  
If an Employee was set, this field must be Y
| assets
| VENDORPRICE
|-
|-
| Account
| Vendor
| FLDEVTCARDID
| FLDASTVENDORRECID
| The Account record ID (20 chars). The Account REC ID can be taken from:
|  
#Account Notes tab, at the bottom by rightclicking
| assets
the REC ID field and selecting Copy
| VENDORRECID
#ODBC to pull information from the database
#The automated email response when adding a
new Account with the API
|-
|-
| Contact
| Vendor Serial No.
| FLDEVTCONTACTID
| FLDASTVENDORSERNO
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
|  
| assets
| VENDORSERIALNO
|-
|-
|Document
| Vendor Warranty Exp. Date
|FLDEVTDOCID
| FLDASTVENDORWARREXP
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.
| Any date format, such as DD/MM/YYYY
| assets
| VENDORWARRANTYEXP
|-
|-
|Done Indication
| Version
|FLDEVTDONE
| FLDASTVERSION
|Possible values: Y/N
|  
| assets
| VERSION
|-
|-
|Date
| Warranty/License Exp.
|FLDEVTEVENTDATE
| FLDASTWARREXPDATE
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not
| Any date format, such as DD/MM/YYYY
provided, the current date will be used.
| assets
| WARRANTYEXPDATE
|-
|-
|Description
| Date
|FLDEVTFREETEXT
|
|
|
|
|
|}
===Calendar Fields===
The table below lists the most important Calendar parameters and behavior:
{| class="wikitable"
|-
|-
|Time: Start
! '''Field Name'''
|FLDEVTFROMTIME
! '''API Field Name'''
|Mandatory field
! '''Comment'''
|-
! '''Physical DB Tables'''
| Time: End
! '''Physical DB Fields'''
| FLDEVTTOTIME
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
|-
|-
| Opportunity/Ticket
| Record ID
| FLDEVTLINKRECID
| FLDEVTRECID
| Linked Ticket/Opportunity/Contract/Asset
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this
will be added as a new Appointment/Task.
| Events
| RECID
|-
|-
| Field1
| Event Type
| FLDEVTFAMILY
| FLDEVTWRITETOID
| User Defined field
|The Event type is a mandatory field.<br>
Appointment = 1<br>
Task = 2
| Events
| WRITE_TO_ID
|-
|-
| Field2
| Employee
| FLDEVTACTION
| FLDEVTWORKERID
| User Defined field
| The Task/Appointment owner (for private events)
| Events
| WORKER_ID
|-
|-
| Field3
| Private: User
| FLDEVTPLACE
| FLDEVTPRIVATEID
| User Defined field
| If an Employee was set, this field contain the same REC ID as the Employee field (FLDEVTWORKERID).<br>
| Events
| PRIVATE_ID
|-
|-
| Field4
| Account
| FLDEVTPLACE1
| FLDEVTCARDID
| User Defined field
| The Account record ID (20 chars). The Account REC ID can be taken from:
#Account Notes tab, at the bottom by rightclicking
the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a
new Account with the API
| Events
| CARD_ID
|-
|-
| Field5
| Contact
| FLDEVTPLACE2
| FLDEVTCONTACTID
| User Defined field
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| Events
| CONTACTID
|-
|-
| Created by User
|Document
| FLDEVTCREATEUSERID
|FLDEVTDOCID
| Name of external software which created the event
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the Data Retrieval API to pull information from the database.
| Events
| DOCID
|-
|-
| Last Update: By User
|Done Indication
| FLDEVTUPDATEUSER
|FLDEVTDONE
| Name of external software which updated the
|Possible values: Y/N
event
| Events
|}
| DONE
 
 
===Opportunity Fields===
The table below lists the most important Opportunity parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Date
! '''Database Field Name'''
|FLDEVTEVENTDATE
! '''Comment'''
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not
provided, the current date will be used.
| Events
| EVENT_DATE
|-
|-
| Record ID
|Description
| FLDOPPRECID
|FLDEVTFREETEXT
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.
|
| Events
| FREE_TEXT
|-
|-
| Opportunity Name
|Time: Start
| FLDOPPNAME
|FLDEVTFROMTIME
| Mandatory field.
|Mandatory field
| Events
| FROM_TIME
|-
|-
| Opportunity ID
| Time: End
| FLDOPPUSERID
| FLDEVTTOTIME
| Optional (Oppty ID)
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
| Events
| TO_TIME
|-
|-
| Account
| Opportunity/Ticket
| FLDOPPCARDID
| FLDEVTLINKRECID
| The Account record ID (20 chars). The Account REC ID can be taken from:
| Linked Ticket/Opportunity/Contract/Asset
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
| Events
#ODBC to pull information from the database
| LINKRECID
#The automated email response when adding a new Account with the API
|-
|-
| Contact
| Field1
| FLDEVTCONTACTID
| FLDEVTFAMILY
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| User Defined field
| Events
| FAMILY
|-
|-
| Source
| Field2
| FLDOPPSOURCE
| FLDEVTACTION
|  
| User Defined field
| Events
| ACTION
|-
|-
|Document
| Field3
|FLDEVTDOCID
| FLDEVTPLACE
|Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the ODBC to pull information from the database.
| User Defined field
| Events
| PLACE
|-
|-
|Done Indication
| Field4
|FLDEVTDONE
| FLDEVTPLACE1
|Possible values: Y/N
| User Defined field
| Events
| PLACE1
|-
|-
|Close Date
| Field5
|FLDOPPCLOSEDATE
| FLDEVTPLACE2
|
| User Defined field
| Events
| PLACE2
|-
|-
|Manager
| Created by User
|FLDOPPWORKERID
| FLDEVTCREATEUSERID
|The Manager's REC ID
| Name of external software which created the event
| Events
| CREATEUSERID
|-
|-
|Open Date
| Last Update: By User
|FLDOPPOPENDATE
| FLDEVTUPDATEUSER
|
| Name of external software which updated the
event
| Events
| UPDATE_USER
|}
 
===Opportunity Fields===
The table below lists the most important Opportunity parameters and behavior:
 
{| class="wikitable"
|-
|-
| Close By Date
! '''Field Name'''
| FLDOPPESTDATE
! '''API Field Name'''
| Opportunity must be closed by this date
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Amount
| Record ID
| FLDOPPAMOUNT
| FLDOPPRECID
|  
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.
| Opps
| RECID
|-
|-
| Probability %
| Opportunity Name
| FLDOPPPROBABILITY
| FLDOPPNAME
|  
| Mandatory field.
| Opps
| NAME
|-
|-
| Stage
| Opportunity ID
| FLDOPPSTAGE
| FLDOPPUSERID
|  
| Optional (Oppty ID)
| Opps
| USERID
|-
|-
| Status
| Account
| FLDOPPSTATUS
| FLDOPPCARDID
|  
| The Account record ID (20 chars). The Account REC ID can be taken from:
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a new Account with the API
| Opps
| CARDID
|-
|-
| Closing Amount
| Contact
| FLDOPPCLOSEAMOUNT
| FLDOPPCONTACTID
|  
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| Opps
| CONTACTID
|-
|-
| Description
| Source
| FLDOPPDESCRIPTION
| FLDOPPSOURCE
|  
|  
| Opps
| SOURCE
|-
|-
| Opportunity Type
|Close Date
| FLDOPPKIND
|FLDOPPCLOSEDATE
|  
|
| Opps
| CLOSEDATE
|-
|-
| Opportunity Reason
|Manager
| FLDOPPREASON
|FLDOPPWORKERID
|  
|The Manager's REC ID
| Opps
| WORKERID
|-
|Open Date
|FLDOPPOPENDATE
|
| Opps
| OPENDATE
|-
| Close By Date
| FLDOPPESTDATE
| Opportunity must be closed by this date
| Opps
| ESTDATE
|-
| Amount
| FLDOPPAMOUNT
|
| Opps
| AMOUNT
|-
| Probability %
| FLDOPPPROBABILITY
|
| Opps
| PROBABILITY
|-
| Stage
| FLDOPPSTAGE
|
| Opps
| STAGE
|-
| Status
| FLDOPPSTATUS
|
| Opps
| STATUS
|-
| Closing Amount
| FLDOPPCLOSEAMOUNT
|
| Opps
| CLOSEAMOUNT
|-
| Description
| FLDOPPDESCRIPTION
|
| Opps
| DESCRIPTION
|-
| Opportunity Type
| FLDOPPKIND
|
| Opps
| KIND
|-
| Opportunity Reason
| FLDOPPREASON
|  
| Opps
| REASON
|-
| Note
| FLDOPPNOTES
|
| Opps
| NOTES
|-
| Territory
| FLDOPPREGION
|
| Opps
| REGION
|-
| Field1
| FLDOPTFAMILY
| User Defined field
| Opps
| USER1
|-
|  Field2
|  FLDOPTACTION
| User Defined field
| Opps
| USER2
|-
|  Field3
|  FLDOPTPLACE
| User Defined field
| Opps
| USER3
|-
|  Created by User
|  FLDOPTCREATEUSERID
| Name of external software which created the event
| Opps
| CREATEUSER
|-
|  Last Update: By User
|  FLDOPTUPDATEUSER
| Name of external software which updated the event
| Opps
| UPDATEUSER
|}
 
===Document Fields===
The table below lists the Document parameters and behavior:
 
{| class="wikitable"
|-
! '''Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
| Record ID
| FLDDOCRECID
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.
| docs
| RECID
|-
| Document Date
| FLDDOCDOCDATE
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY
| docs
| DOC_DATE
|-
|-
| Note
| Subject
| FLDOPPNOTES
| FLDDOCDOCUMENTDESC
|  
|  
| docs
| DOCUMENT_DESC
|-
|-
| Territory
| Linked Record
| FLDOPPREGION
| FLDDOCLINKRECID
|  
| The RECID of a linked object. Each Document can be linked to one of the following objects:
*Ticket
*Contract
*Opportunity
*Knowledge Base Article
*Asset
The Record ID (20 chars) can be taken from:
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a new object with the API.
| docs
| LINKRECID
|-
|-
| Field1
| Account Rec ID
| FLDEVTFAMILY
| FLDDOCCARDID
| User Defined field
| The Account record ID (20 chars). The Account REC ID can be taken from:
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
#Data Retrieval API to pull information from the database
#The automated email response when adding a new Account with the API
| docs
| CARD_ID
|-
|-
| Field2
| Contact REC ID
| FLDEVTACTION
| FLDDOCCONTACTID
| User Defined field
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| docs
| CONTACTID
|-
|-
| Field3
|Field1
| FLDEVTPLACE
|FLDDOCTRANSPORT
| User Defined field
|User Defined field
| docs
| TRANSPORT_ID
|-
|-
| Created by User
|Field2
| FLDEVTCREATEUSERID
|FLDDOCFOLDER
| Name of external software which created the event
|User Defined field
| docs
| FOLDER_ID
|-
|-
| Last Update: By User
|Field3
| FLDEVTUPDATEUSER
|FLDDOCUMENTPLACE
| Name of external software which updated the event
|User Defined field
|}
| docs
 
| DOCUMENT_PLACE
===Document Fields===
The table below lists the Document parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|File Path + File name
! '''Database Field Name'''
|FLDDOCDOCUMENTNAME
! '''Comment'''
|The Document path
| docs
| DOCUMENT_NAME
|-
|-
| Record ID
|Category
| FLDDOCRECID
|FLDDOCTREEID
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree
| TreeTbl
| TREE_ID
|-
|-
| Document Date
| Employee REC ID
| FLDDOCDOCDATE
| FLDDOCWORKERID
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY
| The worker record ID to be linked to the Document. Must be an active employee.  
| docs
| WORKER_ID
|-
|-
| Subject
| Created by User
| FLDDOCDOCUMENTDESC
| FLDDOCCREATEUSER
|  
| Name of external software which created the document
| docs
| CREATE_USERNAME
|-
|-
| Linked Record
| Last Update: By User
| FLDDOCLINKRECID
| FLDDOCUPDATEUSER
| The RECID of a linked object. Each Document can be linked to one of the following objects:
| Name of external software which updated the document
*Ticket
| docs
*Contract
| UPDATE_USERNAME
*Opportunity
|}
*Knowledge Base Article
 
*Asset
===Knowledge Base Article Fields===
The Record ID (20 chars) can be taken from:
The table below lists the Knowledge Base Article parameters and behavior:
#Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
 
#ODBC to pull information from the database
{| class="wikitable"
#The automated email response when adding a new object with the API.
|-
|-
| Account Rec ID
! '''Field Name'''
| FLDDOCCARDID
! '''API Field Name'''
| The Account record ID (20 chars). The Account REC ID can be taken from:
! '''Comment'''
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
! '''Physical DB Tables'''
#ODBC to pull information from the database
! '''Physical DB Fields'''
#The automated email response when adding a new Account with the API
|-
|-
| Contact REC ID
| Record ID
| FLDDOCCONTACTID
| FLDKBARECID
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.
| KBArticles
| RECID
|-
|-
|Field1
| Document Date
|FLDDOCTRANSPORT
| FLDKBACREATEDATE
|User Defined field
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY
| KBArticles
| CREATEDATE
|-
|-
|Field2
| Title
|FLDDOCFOLDER
| FLDKBATITLE
|User Defined field
|
| KBArticles
| TITLE
|-
|-
|Field3
| Problem
|FLDDOCUMENTPLACE
| FLDKBAPROBLEM
|User Defined field
|  
| KBArticles
| PROBLEM
|-
|-
|File Path + File name
| Solution
|FLDDOCDOCUMENTNAME
| FLDKBASOLUTION
|The Document path
|  
| KBArticles
| SOLUTION
|-
| Status
| FLDKBASTATUS
| Possible values:
*DRAFT = 'D'
*PUBLISHED = 'P'
*OBSOLETE = 'O'
| KBArticles
| STATUS
|-
|-
|Category
|Category
|FLDDOCTREEID
|FLDKBACATEGORY
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree
|
| KBArticles
| CATEGORY
|-
|-
| Employee REC ID
|Public
| FLDDOCWORKERID
|FLDKBAISPUBLIC
| The worker record ID to be linked to the Document. Must be an active employee. This is an optional parameter. If not passed, the system default will be used.
|Is the Document public.<br>
|-
Possible values:<br>
| Created by User
*'Y' = Yes
| FLDDOCCREATEUSER
*'N' = No
| Name of external software which created the document
| KBArticles
| ISPUBLIC
|-
|-
| Last Update: By User
|Created by User
| FLDDOCUPDATEUSER
|FLDKBACREATEUSER
| Name of external software which updated the document
|Name of external software which created the document
|}
| KBArticles
 
| CREATEUSER
===Knowledge Base Article Fields===
The table below lists the Knowledge Base Article parameters and behavior:
 
{| class="wikitable"
|-
! '''Field Name'''
! '''Database Field Name'''
! '''Comment'''
|-
| Record ID
| FLDKBARECID
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.
|-
| Document Date
| FLDKBACREATEDATE
| The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY
|-
| Title
| FLDKBATITLE
|
|-
| Problem
| FLDKBAPROBLEM
|
|-
| Solution
| FLDKBASOLUTION
|
|-
| Status
| FLDKBASTATUS
| Possible values:
*DRAFT = 'D'
*PUBLISHED = 'P'
*OBSOLETE = 'O'
|-
|Category
|FLDKBACATEGORY
|
|-
|Public
|FLDKBAISPUBLIC
|Is the Document public.<br>
Possible values:<br>
*'Y' = Yes
*'N' = No
|-
|Created by User
|FLDDOCCREATEUSER
|Name of external software which created the document
|-
|-
|Last Update: By User
|Last Update: By User
|FLDDOCUPDATEUSER
|FLDKBAUPDATEUSER
|Name of external software which updated the document
|Name of external software which updated the document
| KBArticles
| UPDATEUSER
|}
|}


===Error Codes Description===
===Error Codes Description===
<u>These error codes are returned when calling the CmtGetDescriptionByStatus function:</u><br>
<u>These error codes are returned when calling the CmtGetDescriptionByStatus function:</u><br>
'''1000''' CmtDbEng.dll not found.<br>
1001 Invalid value for this Data Kind. <br>
'''1001''' Invalid value for the Data Kind value.<br>
1002 Invalid DATA buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length<br>
'''1002''' Invalid DATA buffer received. Make sure you have allocated the buffer correctly and
1003 Invalid MAP buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length.<br>
that you have passed the correct buffer length.<br>
1004 Invalid RECID buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length.<br>
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and
1005 Invalid LOG buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length<br>
that you have passed the correct buffer length.<br>
1006 Invalid RECID buffer received. It should be at least 20 characters.<br>
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly
1007 Invalid external software name received. Specify a unique name that identifies your software.<br>
and that you have passed the correct buffer length.<br>
1008 Cannot process the transaction. Make sure to call the INIT procedure at least once prior to sending transactions for processing.<br>
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and
1009 Path specified for RangerMSP DB folder not found.<br>
that you've passed the correct buffer length.<br>
1010 Path specified for RangerMSP DB folder found, but its contents do not reflect a valid DB folder.<br>
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.<br>
1011 The RECID received for the employee/user was not found in RangerMSP, is invalid or is related to an inactive employee record.<br>
'''1007''' Invalid external software name received. Specify a unique name that identifies your
1013 Software name is missing. Make sure you specify a name that identifies your software.<br>
software.<br>
1014 Software name is less than 3 characters long. Make sure you specify your software name has 3 to 15 characters.<br>
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once
1015 Software name is too long. Make sure your software name has 3 to 15 characters.<br>
prior to sending transactions for processing.<br>
1016 Invalid CODES buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length<br>
'''1009''' Path specified for Commit DB folder not found.<br>
1017 Invalid Record ID received. Record ID should consist of exactly 20 characters.<br>
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB
1018 The Record ID (RECID) is missing.<br>
folder.<br>
1019 Invalid RECID received. Its value cannot point to any entity in RangerMSP.<br>
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is
1020 The size for the result buffer is too small. Increase its size and try again.<br>
related to an inactive employee record.<br>
1021 CmtDbQry.dll not found.<br>
'''1012''' Error registering software.<br>
1022 API calls cannot currently be processed due to periodic maintenance. Please try again in a few moments.<br>
'''1013''' Software name is missing. Make sure you specify a name that identifies your
1023 A newer API version was found. Please restart any applications that use the RangerMSP API and try again. <br>
software.<br>
1100 Database access error.<br>
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name
1501 Cannot delete this type of record<br>
that has 3 to 15 characters.<br>
1502 This record cannot be deleted by  a customer.<br>
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.<br>
2000 General Error Occurred<br>
'''1100''' Database access error.<br>
 
<u>These error codes are returned when calling the CRMQueryDataRequest function:</u><br>
'''110001''' The application entity for the query (Subject) is missing.<br>
'''110002''' Invalid XML request. Couldn’t find the XML request name: CRMQueryDataRequest<br>
'''110003''' Invalid value was requested for the record count.<br>
'''110004''' The size for the result buffer is too small. Increase its size and try again.<br>
'''110005''' The query filtering structure is invalid (should form an SQL-like query).<br>
'''110006''' This Code is not exists in RangerMSP<br>
'''110008''' Invalid application entity for the query (Subject) was received<br>
'''110019''' Additional records answer the query. Only the amount of records you requested was returned.<br>
'''110020''' This Code is not exists in RangerMSP<br>
'''110021''' Empty result set. No records were found for the query<br>
 
<u>These error codes are returned when calling the CRMxmlGetRecDataRequest function:</u><br>
'''150001''' Invalid XML received. Please verify that the XML structure is valid.<br>
'''150002''' Invalid field identifiers were received.<br>
'''150003''' No records in RangerMSP database match the received RECID<br>
'''150004''' The received XML version number is not supported.<br>
'''150005''' XML version number is missing.<br>
'''150006''' The received RECID does not point to an Appointment or Task record (it points to an internal place holder only).<br>
'''150007''' The received RECID does not point to a valid History record (it points to an internal place holder only).<br>
'''150008''' Invalid RECID received. Its value cannot point to any entity in RangerMSP.<br>
'''150009''' The received RECID points to object which is not supported by the API.<br>
'''150011''' Invalid XML request. Couldn’t find the XML request name: CRMxmlgetrecdatarequest<br>
 


<u>General error codes, returned when calling the functions CmtGetDescriptionByCode:</u><br>
<u>General error codes, returned when calling the functions CmtGetDescriptionByCode:</u><br>
Line 1,439: Line 2,257:
'''50114''' Employee not found.<br>
'''50114''' Employee not found.<br>
'''50115''' Some mandatory fields have no values.<br>
'''50115''' Some mandatory fields have no values.<br>
'''50116''' Invalid REC ID buffer received. It should be at least 20 characters.<br>
'''50117''' The Record ID (RECID) is missing.<br>
'''50118''' Invalid Record ID received. Record ID should consist of exactly 20 characters.<br>
'''50119''' Invalid RECID received. Its value cannot point to any entity in RangerMSP.<br>
'''50120''' Software name is missing. Make sure you specify a name that identifies your software.<br>
'''50121''' Software name is less than 3 characters long. Make sure your software name has 3 to 15 characters.<br>
'''50122''' Software name is too long. Make sure your software name has 3 to 15 characters.<br>
'''51000''' Illegal kind of Account entity.<br>
'''51000''' Illegal kind of Account entity.<br>
'''51001''' Account Manager not found.<br>
'''51001''' Account Manager not found.<br>
'''51002''' The REC ID of the Account Manager is illegal.<br>
'''51002''' The REC ID of the Account Manager is illegal.<br>
'''51003''' Illegal tax code.<br>
'''51003''' Illegal tax code.<br>
'''51004''' This code does not exist in Commit.<br>
'''51004''' This code does not exist in RangerMSP.<br>
'''52000''' Illegal kind of event.<br>
'''52000''' Illegal kind of event.<br>
'''52001''' Illegal start time.<br>
'''52001''' Illegal start time.<br>
Line 1,463: Line 2,288:
'''54006''' The Ticket Account was not found in the database.<br>
'''54006''' The Ticket Account was not found in the database.<br>
'''54007''' The Ticket Account Manager was not ound in the database.<br>
'''54007''' The Ticket Account Manager was not ound in the database.<br>
'''54008''' This code does not exist in Commit.<br>
'''54008''' This code does not exist in RangerMSP.<br>
'''54009''' This code does not exist in Commit.<br>
'''54009''' This code does not exist in RangerMSP.<br>
'''54010''' This code does not exist in Commit.<br>
'''54010''' This code does not exist in RangerMSP.<br>
'''54011''' This code does not exist in Commit.<br>
'''54011''' This code does not exist in RangerMSP.<br>
'''54012''' This code does not exist in Commit.<br>
'''54012''' This code does not exist in RangerMSP.<br>
'''55000''' Illegal charge date.<br>
'''55000''' Illegal charge date.<br>
'''55001''' Illegal charge REC ID.<br>
'''55001''' Illegal charge REC ID.<br>
Line 1,482: Line 2,307:
'''55012''' Illegal bill total.<br>
'''55012''' Illegal bill total.<br>
'''55013''' You can not create a charge for a suspended item.<br>
'''55013''' You can not create a charge for a suspended item.<br>
'''55014''' Item was not found in Commit.<br>
'''55014''' Item was not found in RangerMSP.<br>
'''55015''' This code does not exist in Commit.<br>
'''55015''' This code does not exist in RangerMSP.<br>
'''55016''' This code does not exists in Commit.<br>
'''55016''' This code does not exists in RangerMSP.<br>
'''55017''' This Code does not exist in Commit.<br>
'''55017''' This Code does not exist in RangerMSP.<br>
'''55018''' This Code does not exist in Commit.<br>
'''55018''' This Code does not exist in RangerMSP.<br>
'''55019''' This Code does not exist in Commit.<br>
'''55019''' This Code does not exist in RangerMSP.<br>
'''55020''' This Code does not exist in Commit.<br>
'''55020''' This Code does not exist in RangerMSP.<br>
'''55021''' This Code does not exist in Commit.<br>
'''55021''' This Code does not exist in RangerMSP.<br>
'''56000''' Illegal item code.<br>
'''56000''' Illegal item code.<br>
'''56001''' The field that indicates the item group type has an illegal value.<br>
'''56001''' The field that indicates the item group type has an illegal value.<br>
Line 1,500: Line 2,325:
'''56008''' Illegal value in the Description.<br>
'''56008''' Illegal value in the Description.<br>
'''56009''' The field that indicates the item type has an illegal value.<br>
'''56009''' The field that indicates the item type has an illegal value.<br>
'''57000''' This Code does not exist in Commit.<br>
'''57000''' This Code does not exist in RangerMSP.<br>
'''58000''' Illegal date time.<br>
'''58000''' Illegal date time.<br>
'''58001''' The Description field was not found.<br>
'''58001''' The Description field was not found.<br>
'''58002''' The field kind was not found.<br>
'''58002''' The field kind was not found.<br>
'''58003''' The Account member was not found.<br>
'''58003''' The Account member was not found.<br>
'''59000''' This code does not exists in Commit.<br>
'''59000''' This code does not exists in RangerMSP.<br>
'''59001''' This Code does not exist in Commit.<br>
'''59001''' This Code does not exist in RangerMSP.<br>
'''59002''' This Code does not exist in Commit.<br>
'''59002''' This Code does not exist in RangerMSP.<br>
'''59003''' This Code does not exist in Commit.<br>
'''59003''' This Code does not exist in RangerMSP.<br>
'''59004''' This Code does not exist in Commit.<br>
'''59004''' This Code does not exist in RangerMSP.<br>
'''59005''' This Code does not exist in Commit.<br>
'''59005''' This Code does not exist in RangerMSP.<br>
'''60000''' Invalid web user record ID number.<br>
'''60000''' Invalid web user record ID number.<br>
'''60001''' This customer web user is not active.<br>
'''60001''' This customer web user is not active.<br>
Line 1,516: Line 2,341:


==See Also==
==See Also==
*[[Commit API Developers Guide]]
*[[API Developers Guide|RangerMSP API Developers Guide]]
*[[API Code Samples]]
*[[API Code Samples]]
[[Category:User Manuals]]
[[Category:User Manuals]]
[[Category:Integration]]
[[Category:Integration]]

Latest revision as of 10:33, 12 April 2021

User Manuals > API Developers Guide > API Reference Manual

Introduction

In this document you will find:

  • Detailed listing of the RangerMSP API functions with their parameters
  • Detailed listing of database fields per entity. The database fields are used when adding, updating and retrieving data using the API.


API Functions

The Programming API provides two sets of API functions:

  • Data Retrieval API
  • Data Update API


Data Retrieval API Functions

The Data Retrieval API is available starting with RangerMSP 5.5.

The Data Retrieval API should be used for read-only purposes. Pulling data from the database using the API should be done using the following steps:

  1. Execute an SQL query using the data query API function.
  2. The data query API returns a list of resulting record IDs.
  3. Read each record separately using another API function.


The Data Retrieval API functions include initialization, error handling and actual data retrieval functions. The following data retrieval API functions receive and return parameters in XML format:

  • CmtGetQueryRecIds - Receives an SQL query and returns a result list of REC IDs.
  • CmtGetRecordDataByRecId - Returns record details according to the input REC ID.
  • CmtGetFieldAttributesByRecId (advanced) - Returns the database properties of a field.


The following table lists the Data Retrieval API functions and their parameters. You can find more details about each function below the table.

Data Retrieval API Functions:

Method Return Value Description
CmtInitDbQryDll(app_name, path, status) status (int) Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the RangerMSP server is installed: <server>\RangerMSP \Db status - 1 for success. See Error Codes Description for other values.
CmtGetQueryRecIds
(xml_request_buff,
xml_request_buff_len,
xml_response_data_buff,
xml_response_data_buff_len,
status)
status (int),results (char) Receives an SQL query and returns a result list of REC IDs. You should then call CmtGetRecordDataByRecId for each record details.

xml_request_buff – XML with the SQL query.
xml_request_buff_len – length of the request buffer.
xml_response_data_buff - buffer for returned XML response.
xml_response_data_buff_len – length of the response buffer.
status - returned status, 1 for success.

>> See Error Codes Description for other values.
>> See CmtGetQueryRecIds for more details about the XML parameters.

CmtGetRecordDataByRecId
(xml_request_buff,
xml_request_buff_len,
xml_response_data_buff,
xml_response_data_buff_len,
status)
status (int),details(char) Returns a record's details according to the input REC ID.

xml_request_buff – XML with the REC ID.
xml_request_buff_len – length of the request buffer.
xml_response_data_buff - buffer for returned XML response.
xml_response_data_buff_len – length of the response buffer.
status - returned status, 1 for success.

>> See Error Codes Description for other values.
>> See CmtGetRecordDataByRecId for more details about the XML parameters.

CmtGetFieldAttributesByRecId
(xml_request_buff,
xml_request_buff_len,
xml_response_data_buff,
xml_response_data_buff_len,
status)
status (int),details(char) Returns the properties of a database field.

xml_request_buff – XML with the requested Field ID.
xml_request_buff_len – length of the request buffer.
xml_response_data_buff - buffer for returned XML response.
xml_response_data_buff_len – length of the response buffer.
status - returned status, 1 for success.

>> See Error Codes Description for other values.
>> See CmtGetFieldAttributesByRecId for more details about the XML parameters.

CmtTerminateDbQryDll Close the connection to the database
CmtGetDescriptionByCode (code,
desc_size,
desc)
message (char) Call this function in case of error in

CmtInsUpdRec.
In case of error (return code other than 1),
you can use this to get error string.

CmtGetDescriptionByStatus Call this function in case of error in

CmtInitDbQryDll

CmtGetQueryRecIds

The CmtGetQueryRecIds function receives an SQL query and returns a result list of REC IDs.
Both the request and the response parameters are in XML format. See more details about each XML structure below.

CmtGetQueryRecIds Request

The crmxmlqueryrequest XML contains the following sections:

  • Query Data Type – here you should enter which data type you want to query.
  • SQL Query – here you build the SQL Query to be executed.

crmxmlqueryrequest XML template:

<?xml version="1.0" ?> 
<?crmxmlqueryrequest version="1.0" ?> 
<CRMQueryDataRequest >
   <ExternalApplicationName>Enter you application name here</ExternalApplicationName> 
   <Datakind> one of the supported data types </Datakind>
     <MaxRecordCount> Enter the maximum records you want in the results </MaxRecordCount> 
     <Query> 
       <Where>
 	   <Link> ( </Link>
 	   <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID> 
 	   <Link> ) and | or ( </Link>
 	   <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID> 
 	   <Link> ) </Link>
       </Where>
       <Order>
 	  <FLDTKTCARDID_FLDCRDFULLNAME dir="asc | desc" /> 
       </Order>	
     </Query>
</CRMQueryDataRequest >

See more details about each XML token below.

Query Data Type

The Data Type should be entered in the following token:

<Datakind> one of the supported data types </Datakind>

The following table lists the entities supported by the Data Retrieval API. In this list you will find the entity name as it appears in the application and the data kind which is the string you should use in the XML token: Datakind in the XML.

Data Retrieval API Supported data types (Data Kind):

Entity in Application Data Kind
Account ACCOUNT
Opportunity OPPORTUNITY
Document DOCUMENT
Charge CHARGE
Appointment APPOINTMENT
Task TASK
History Note HISTORY-NOTE
History Audit Line HISTORY-AUDIT
Ticket TICKET
Item ITEM
Asset ASSET
Knowledge Base Article ARTICLE
Contract CONTRACT
Tax TAX
SQL Query

The Query part in the XML lets you build the actual text of the SQL query, providing you with maximum flexibility.

     <Query> 
       <Where>
 	   <Link> ( </Link>
 	   <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID> 
 	   <Link> ) and | or ( </Link>
 	   <FLDTKTCARDID op=" = | > | >= | < | <= | like | not | not like "> value </FLDTKTCARDID> 
 	   <Link> ) </Link>
       </Where>
       <Order>
 	  <FLDTKTCARDID_FLDCRDFULLNAME dir="asc | desc" /> 
       </Order>	
     </Query>

The Query section may contain the following tokens:

  • Where – here you build your actual "where" clause of the query, providing the filtering criteria you want to execute.
    • Field Names and operators – here you can enter the fields to filter by, the operators and the value (e.g. FLDTKTCARDID = CRDIBR5V3SGPKGCSYCEF).
    • Link – this token lets you link text, such as brackets, commas, etc.
  • Order – here you define the sorting criteria for your query (e.g. FLDTKTCARDID_FLDCRDFULLNAME dir="asc").

CmtGetQueryRecIds Response

CmtGetQueryRecIds returns the result in XML format as follows:

<?xml version="1.0" ?>
<?crmxmlqueryresponse version = "1.0" ?>
 <CRMQueryDataResponse>
   <Status></Status>
   <ResultCodes></ResultCodes>
   <ResultMessage></ResultMessage>
   <RecordData></RecordData>
 </CRMQueryDataResponse>

Where:

  • Status, Result Codes – the function returns a main status and in case of error it may return
  • Result Message – contains the error message text in case of an error.
  • Record Data – contains a list of record IDs which answer the query. This list contains the database REC IDs separated by commas.


CmtGetRecordDataByRecId

The CmtGetRecordDataByRecId function receives a record ID and a list of fields for the requested entity, and returns the requested data in XML format.

CmtGetRecordDataByRecId Request

Example of a request to read an Account:

<?xml version="1.0" ?>
<?crmxmlgetrecorddatarequest version = "1.0" ?>
 <CRMGetRecordDataRequest>
   <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
   <GetRecordByRecId>CRDC1VTHMDF627HJECG7</GetRecordByRecId>
   <SelectFieldsList>
     FLDCRDCOMPANY,
     FLDCRDCONTACT,
     FLDCRDADDRESS1,
     FLDCRDCITY,
   </SelectFieldsList>
 </CRMGetRecordDataRequest>

The crmxmlgetrecorddatarequest XML contains the following parameters:

  • Get Record by Rec ID – here you should enter the Record ID you want to read, usually an ID from the list which was returned from the query function.
  • Select Fields List – here you build the list of fields to be returned for the requested entity.


CmtGetRecordDataByRecId Response

The CmtGetRecordDataByRecId function returns the result in XML format as follows:

<?xml version="1.0" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?> 
 <CRMGetRecordDataResponse>
   <Status> </Status>
   <ResultCodes></ResultCodes>
   <ResultMessage></ResultMessage>
   <RecordData> database fields tokens </RecordData>
 </CRMGetRecordDataResponse>

Where:

  • Status, Result Codes – the function returns a main status and in case of error it may return
  • Result Message – contains the error message text in case of an error.
  • Record Data – contains a list of database fields as requested. This list contains holds each database field as a token and the data itself is the token's value.

Example of a response:

Account Data

<?xml version="1.0" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?> 
 <CRMGetRecordDataResponse>
   <Status>SUCCESS</Status>
   <ResultCodes></ResultCodes>
   <ResultMessage></ResultMessage>
   <RecordData>
     <FLDCRDCOMPANY> <![CDATA[ Business Solutions ltd.]]></FLDCRDCOMPANY>
     <FLDCRDCONTACT> <![CDATA[John Smith]]> </FLDCRDCONTACT>
     <FLDCRDADDRESS1> <![CDATA[107 Severin Street]]> </FLDCRDADDRESS1>
     <FLDCRDCITY> <![CDATA[London]]> </FLDCRDCITY>
   </RecordData>
 </CRMGetRecordDataResponse>

Ticket Data

<?xml version="1.0" encoding="ISO-8859-8" ?>
<?crmxmlgetrecorddataresponse version = "1.0" ?>
 <CRMGetRecordDataResponse>
   <Status>SUCCESS</Status>
   <ResultCodes></ResultCodes>
   <ResultMessage></ResultMessage>
   <RecordData>
     <FLDTKTTICKETNO><![CDATA[0500-1009]]></FLDTKTTICKETNO>
     <FLDTKTSTATUS CmtRawData="900">Cancelled</FLDTKTSTATUS>
     <FLDTKTUPDATEDATE>24/01/2011  18:03</FLDTKTUPDATEDATE>
   </RecordData>
 </CRMGetRecordDataResponse>

CmtGetFieldAttributesByRecId

The CmtGetRecordDataByRecId function receives a Field ID and returns the field details in XML format. Field details include the same details that can be found when viewing the field attributes in the application. The details are returned in an XML including: Field Type, Size, Label, Hint, Name and Default Value.

Both the request and response parameters are in XML format.

CmtGetFieldAttributesByRecId Request

The crmxmlgetfieldattributesrequest XML contains the requested Field ID:

<?xml version="1.0" ?>
<?crmxmlgetfieldattributesrequest version = "1.0" ?>
 <CRMGetFieldAttributesRequest>
   <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
   <GetRecordByRecId> Enter the Field ID here (e.g. FLDCRDCITY) </GetRecordByRecId>
 </CRMGetFieldAttributesRequest>

Where:

  • Get Record by Rec ID – here you should enter the Field ID you want to read. The Field ID which should be transferred to request can be found in the application, by right-clicking the field > Field Attributes > Advanced > Tech. Rec ID.


CmtGetFieldAttributesByRecId Response

The CmtGetRecordDataByRecId function returns the result in XML format as follows:

The CmtGetFieldAttributesByRecId function returns the result in XML format as follows

<?xml version="1.0" ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
 <Status> </Status>
 <ResultCodes></ResultCodes>
 <ResultMessage></ResultMessage>
 <RecordData>
   <TYPE></TYPE>
   <SIZE></SIZE>
   <LABEL></LABEL>
   <HINT></HINT>
   <NAME></NAME>
   <DEFAULTVALUE></DEFAULTVALUE>
   <DISPLAYSYMBOL></DISPLAYSYMBOL>
 </RecordData>
</CRMGetFieldAttributesResponse>


Where:

  • Status, Result Codes – the function returns a main status and in case of error it may return
  • Result Message – contains the error message text in case of an error.
  • Record Data – contains a list of database fields containing the field details.
    • DEFAULTVALUE: contains the default value for the field.
    • DISPLAYSYMBOL: refers to the default value and optionally returns a symbol when relevant for a numeric value (such as currency symbol, percentage symbol, etc.).

Example of a response:

<?xml version="1.0" ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
 <Status>SUCCESS</Status>
 <ResultCodes></ResultCodes>
 <ResultMessage></ResultMessage>
 <RecordData>
   <TYPE><![CDATA[CHAR]]></TYPE>
   <SIZE>30</SIZE>
   <LABEL><![CDATA[City]]></LABEL>
   <HINT><![CDATA[City of account's address]]></HINT>
   <NAME><![CDATA[Address: City]]></NAME>
   <DEFAULTVALUE></DEFAULTVALUE>
   <DISPLAYSYMBOL></DISPLAYSYMBOL>
 </RecordData>
</CRMGetFieldAttributesResponse>

OR (returning a numeric field value)

<?xml version="1.0"  ?>
<?crmxmlgetfieldattributesresponse version = "1.0" ?>
<CRMGetFieldAttributesResponse>
  <Status>SUCCESS</Status>
  <ResultCodes></ResultCodes>
  <ResultMessage></ResultMessage>
  <RecordData>
    <TYPE><![CDATA[DOUBLE]]></TYPE>
    <SIZE></SIZE>
    <LABEL><![CDATA[Adjust Percent]]></LABEL>
    <HINT><![CDATA[Percent of discount or markup]]></HINT>
    <NAME><![CDATA[Adjust Percent]]></NAME>
    <DEFAULTVALUE><![CDATA[0]]></DEFAULTVALUE>
    <DISPLAYSYMBOL><![CDATA[%]]></DISPLAYSYMBOL>
  </RecordData>
</CRMGetFieldAttributesResponse>

Data Update API Functions

The Data Update API allows you to add and update data using Programming API and API by Email (using XML transactions).

Each Data Update API function requires a list of database fields and their values. Database field names can be found by right-clicking the field > Field Settings > Advanced Tab > Rec ID field. You can also find detailed information about each entity and its fields in Database Field Listing.

Following are the API functions for adding and updating data:

Method Return Value Description
CmtInitDbEngDll (app_name, path, status) status (int) Establishes a connection to the database. app_name - This string will be used for all functions of the package, and will appear in the application as the user who performs the changes in the records you update. You should specify a meaningful value. path - The path to the DB folder where the RangerMSP server is installed: <server>\RangerMSP\Db status - 1 for success. See Error Codes Description for other values.
CmtInsUpdRec(app_name, table_id, data_buff, map_buff, flag, tbd,

rec_id_buff_size, error_codes_buff_size,
err_msg_buff_size,rec_id_buff,
err_codes_buff, err_msg_buff, status)

status (int), rec_id (char) Adds/Updates records.

app_name - string containing your application name
table_id - string containing the database table id
data_buff - string containing the values to insert into the Database
map_buff - mapping of the database fields corresponding with the data buff
flag - stop(0)/continue(1) the input process is an invalid data value(s)
tbd - Not used
rec_id_buff_size - length of REC ID Buffer
err_code_buff_size - length of Error Code Buffer
err_msg_buff_size - length of Error Message Buffer
rec_id_buff - buffer for returned REC ID
err_codes_buff - buffer for returned Error Codes
err_msg_buff - buffer for returned Error Messages
status - returned status, 1 for success.
See Error Codes Description for other values.

CmtTerminateDbEngDll Close the connection to the database
CmtGetDescriptionByCode (code,
desc_size,
desc)
message (char) Call this function in case of error in

CmtInsUpdRec.
In case of error (return code other than 1),
you can use this to get error string.

CmtGetDescriptionByStatus Call this function in case of error in

CmtInitDbEngDll

Field buffers The record to be added/updated in the database is passed to the RangerMSP API in two buffers:

Parameter Description Example
data_buff String containing the values to insert into the Database. Separators between the fields are defined in the map_buff "17/04/2008 14:44", "CRD7C9KZPS9JN3LEZVD9", "Charge", "CRDGO0SVQ6074CMAN7DW","Closed","test note in DB Engine", "NTBL6PDPKUU6NXLRHLHP","CRDBSMJ3P72EHMU0HB LX","TKT4S81466E05IM8P23X"
map_buff Mapping of the data_buff: separators, field names.

Field names must be in the same order as the data_buff values.

The field names should be separated with a different separator than the values (e.g. "new line").

" , FLDHISNOTEDATETIME

FLDHISWORKERID
FLDHISKIND
FLDHISCONTACTID
FLDHISUSER1
FLDHISDESCRIPTION
FLDHISRECID
FLDHISCARDID
FLDHISLINKRECID

Database Field Listing

Following is a detailed listing of fields per entity which can be added/updated using the API. The API parameters are the same when using the Programming API or the XML API.

The API allows you to add, update and retrieve the following entities:


All API functions may return error codes. You can find the possible error codes in:


In the following section you will find a detailed listing of the database fields. Each table includes the fields Display name (as shows in the application), the Database Field Name (internal database field identifier) and comments.

Note that when using XML formatted messages, the database field name refers to the name to be provided within the XML token. For example, when the field name is FLDSLPQUANTITY, the XML token should look like this: <FLDSLPQUANTITY>10</FLDSLPQUANTITY>

The following table shows the data kind code when using XML or when using the API functions:

Application entity Table name Programming Code XML Data Kind Name
Accounts Cards 10 ACCOUNT
Opportunities Opps 20 OPPORTUNITY
Documents Docs 30 DOCUMENT
Charges Slips 40 CHARGE
Appointments/Tasks Events 50 APPOINTMENT-OR-TASK
History Notes Notebook 60 HISTORY-NOTE
Tickets Tickets 70 TICKET
Items Items 80 ITEM
Assets Assets 90 ASSET
Knowledge Base KBArticles 100 ARTICLE

You can find examples of adding and updating records in the database by using the database field in the API Code Samples section.

Account Fields

The following table lists the most important parameters for adding/updating Account records. Note slight differences when adding a main account vs. adding a secondary contact.

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Account REC ID FLDCRDRECID The Account record ID (20 chars). The Account Rec ID can be taken from:
  1. Account Notes tab, at the bottom, rightclick the RecID field and use Copy.
    e.g. CRDVQYSOD1B4U4HZIQJJ
  2. Using the Data Retrieval API to pull information from the database.
  3. From the Email Response when adding new Account with the API.
cards RECID
Account Manager FLDCRDASSIGNCARDID This field has two roles:
  1. When adding a main Account:
    The account manager should contain the ID of the Employee who is the account manager.
  2. When adding a secondary contact:

This field should contain the ID of the main Account to which the secondary contacted is added.

cards ASSIGNCARDID
Status FLDCRDSUBCONTSTATUS Relevant only for Secondary Contacts. Possible values:
A-ctive
N-ot Active.
Default value if not passed to the API is Active.
cards SUBCONTSTATUS
Company name FLDCRDCOMPANY cards COMPANY
Contact: First & Last Name FLDCRDCONTACT cards CONTACT
Assistant FLDCRDASSISTANT cards ASSISTANT
Contract FLDCRDBCRECID The default Contract for this Account (not required) cards BCRECID
Account Number FLDCRDCARDID2 cards CARDID2
ID FLDCRDCARDID3 cards CARDID3
Popup Message FLDCRDCARDMESSAGE cards CARDMESSAGE
Address: Line1 FLDCRDADDRESS1 cards ADDRESS1
Address: Line2 FLDCRDADDRESS2 cards ADDRESS2
Address: Line3 FLDCRDADDRESS3 cards ADDRESS3
Address: City FLDCRDCITY cards CITY
Address: State FLDCRDCOUNTRY cards COUNTRY
Address: Country FLDCRDSTATE cards STATE
Address: Zip FLDCRDZIP cards ZIP
Creation Date FLDCRDCREATEDATE Any date format, such as DD/MM/YYYY cards CREATEDATE
Created by User FLDCRDCREATEUSERID Foreign Software Name which created the account cards CREATEUSERID
Dear FLDCRDDEAR cards DEAR
Department FLDCRDDEPARTMENT cards DEPARTMENT
Documents Store Directory FLDCRDDOCSFOLDER cards DOCSFOLDER
E-Mail Address 1 FLDCRDEMAIL1 cards EMAIL1
E-Mail Address 2 FLDCRDEMAIL2 cards EMAIL2
Account Type FLDCRDENTITYKIND When adding a Main Account = 1
When adding a secondary contact = 5
When adding a Employee Account = 4
cards ENTITYKIND
Fax Number FLDCRDFAX1 cards FAX1
Fax Number Extension FLDCRDFAXDESC1 cards FAXDESC1
File as FLDCRDFULLNAME cards FULLNAME
Type FLDCRDKIND cards KIND
Last Name FLDCRDLASTNAME cards LASTNAME
Notes FLDCRDNOTES cards NOTES
Field FLDCRDPERSONID cards PERSONID
Phone 1 Ext. FLDCRDPHNDESC1 cards PHNDESC1
Phone 2 Ext. FLDCRDPHNDESC2 cards PHNDESC2
Phone 3 Ext. FLDCRDPHNDESC3 cards PHNDESC3
Phone 4 Ext. FLDCRDPHNDESC4 cards PHNDESC4
Phone 1 FLDCRDPHONE1 cards PHONE1
Phone 2 FLDCRDPHONE2 cards PHONE2
Phone 3 FLDCRDPHONE3 cards PHONE3
Phone 4 FLDCRDPHONE4 cards PHONE4
Region FLDCRDREGIONCODE cards REGIONCODE
Popup Message: Display Indication FLDCRDSHOWMESSAGE cards SHOWMESSAGE
Sub-Contact Code FLDCRDSUBCODE cards SUBCODE
Salutation FLDCRDSUFFIX cards SUFFIX
Tax1 FLDCRDTAXCODE1 Tax1 & 2 use a reference in the cards table and actual taxcodes are in the Taxes table cards, Taxes cards.TAXCODES, Taxes.TAXNUM
Tax2 FLDCRDTAXCODE2 cards, Taxes cards.TAXCODES, Taxes.TAXNUM
Title FLDCRDTITLE cards TITLE
Last Updated by FLDCRDUPDATEUSERID When performing updates on existing Account - pass the Foreign Software Name which performs the update. cards UPDATEUSERID
Web Address 1 FLDCRDURL1 cards URL1
Web Address 2 FLDCRDURL2 cards URL2
Status FLDCRDACCOUNTSTATUS cards ACCOUNTSTATUS
Field1 FLDCRDUSER2 cards USER2
Field2 FLDCRDUSER3 cards USER3
Field3 FLDCRDUSER4 cards USER4
Field4 FLDCRDUSER5 cards USER5
Field5 FLDCRDCOMPANYNO cards COMPANYNO
Field6 FLDCRDUSER1 cards USER1

Ticket Fields

The table below lists the most important Ticket parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Account REC ID FLDTKTCARDID The Account record ID (20 chars). The Account Rec ID can be taken from:
  1. Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
  2. Data Retrieval API to pull information from the database
  3. The automated email response when adding a cnew Account with the API
tickets CARDID
Contact REC ID FLDTKTCONTACTID The Contact for this Account. If not provided, the main Contact for the Account is taken. tickets CONTACTID
Contract REC ID FLDTKTBCRECID The Contract ID. If not supplied, will be taken from the Account's default contract. tickets RECID
Emp. REC ID FLDTKTWORKERID The worker ID to be linked to the Ticket. Must be an active employee. This is an optional parameter. If not passed, the system default will be used. tickets WORKERID
Priority FLDTKTPRIORITY The ticket priority. If not passed in the transaction, the default value for new Tickets will be used.

Immediate = 10
High = 20
Normal = 30
Low = 40
Not Applicable= 50

tickets PRIORITY
Ticket Number FLDTKTTICKETNO The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction. tickets TICKETNO
Description FLDTKTPROBLEM This is the Ticket Description. This is a mandatory field, which must contain text. tickets PROBLEM
Ticket Type FLDTKTKIND Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used. tickets KIND
Source FLDTKTSOURCE tickets SOURCE
Estimated Duration Time FLDTKTSCHEDLENESTIM Estimated duration time for the Ticket in minutes. tickets SCHEDLENESTIM
Show Ticket in Dispatcher FLDTKTFORDISPATCH Possible values: Yes/No tickets FORDISPATCH
Status FLDTKTSTATUS The Ticket Status (optional).

Possible values:
New = 100
Pending = 200
Scheduled = 300
In-House Service = 400
On-Site Service = 500
Laboratory Service = 600
Hold = 700
Other = 800
Canceled = 900
Completed = 1000

tickets STATUS
Created by User FLDTKTCREATEUSER Should contain the external software name which created the Ticket tickets CREATEUSER
Due Date FLDTKTDUEDATETIME Due date for the Ticket.

Should be passed in date/time format. e.g. MM/DD/YYYY HH:MM AM/PM
Example:
09/14/2010 03:24 PM

tickets DUEDATETIME
Resolution FLDTKTSOLUTION Ticket resolution text tickets SOLUTION

Charge Fields

The table below lists the most important Charge parameters and behavior.

Contract-price Charges have some special characteristics (see comments marked by * in the table below):

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDSLPRECID The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be

added as a new Charge.

slips RECID
Charge Source FLDSLPSOURCERECID The Charge source is the entity for which the charge is created.

Possible values:

  • Linked Contract RecID (for Contract-price Charges). Cannot be the "System Global Contract".
    • Passing the Contract RecID indicates that this is a Contract-price charge.
  • Entity RecID from which the charge is created (for example when creating a charge from an Appointment or Task).
slips SOURCERECID
Account REC ID FLDSLPCARDID The Account record ID (20 chars). The Account REC ID can be taken from:
  1. Account Notes tab, at the bottom by rightclicking the REC ID field and selecting Copy
  2. Data Retrieval API to pull information from the database
  3. The automated email response when adding a new Account with the API
slips CARDID
Employee REC ID FLDSLPWORKERID The worker record ID to be linked to the Charge. Must be an active employee. This is an optional parameter. If not passed, the system default will be used. slips WORKERID
Charged Item FLDSLPITEMID The Item Record ID to be linked to the Charge. This is a mandatory field.
  • For Contract-price Charge can be only Fixed-Price, Unit-based Item.
slips ITEMID
Contract REC ID FLDSLPBCRECID The contract record ID (must be a Contract of the Account) slips BCRECID
Ticket REC ID FLDSLPTICKETID The Ticket ID to be linked to the Charge.
  • Not relevant for Contract-price Charge
slips TICKETID
Date FLDSLPSLIPDATE The date for the Charge. This is an optional parameter. If not provided, the current date will

be used. Should be passed in date format. e.g. MM/DD/YYYY

slips SLIPDATE
Description FLDSLPDESC The Charge Description. If not provided, will be taken from the Item's description. slips DESCRIPTION
Hours FLDSLPHOURSAMOUNT This is the amount of hours slips HOURSAMOUNT
Units FLDSLPQUANTITY This is the quantity of units slips QUANTITY
Adjust Amount FLDSLPADJUSTAMOUNT Discount/Markup amount. Positive number means Markup, negative number means Discount. slips ADJUSTAMOUNT
Adjust Percent FLDSLPADJUSTPERCENT Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount. slips ADJUSTPERCENT
Adjust Type FLDSLPADJUSTTYPE The Discount/Markup type:

A - total amount adjustment
U - per unit adjustment
P - percent

slips ADJUSTTYPE
From Time FLDSLPSTARTTIME From time for labor Charges e.g. 12:06
  • Not relevant for Contract-price Charge
slips FROMTIME
To Time FLDSLPENDTIME From time for labor Charges e.g. 14:50
  • Not relevant for Contract-price Charge
slips TOTIME
Price/Rate FLDSLPPRICE If not provided, the price is taken from the Item. slips PRICE
Billable FLDSLPBILLKIND B - Billable

N - Not Billable
If not provided, will be set according to the Contract type.

slips BILLKIND
Billed FLDSLPSTAGE D - Draft

B - Billed

slips STAGE
Field1 FLDSLPUSER1 User defined field slips USER1
Create User FLDSLPCREATEUSER External software name which created the Charge slips CREATEUSER

Item Fields

The table below lists the most important Item parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDITMRECID The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item. Items RECID
Item Group FLDITMITEMTYPEGROUP The Item Group to be linked to the Charge. This is a mandatory field:

F - Labor (Fee)
X - Expense
P - Part

Items ITEMTYPEGROUP
Item Code FLDITMITEMNO The item code is a mandatory field Items ITEMNO
Item Name FLDITMNAME The item name is a mandatory field Items NAME
Price Source FLDITMPRICESOURCE F - Fixed Price

W - by Employee Rate

Items
Price per Hour/Unit FLDITMUNITISHOUR This field indicated whether the price is unitbased or hours-based.

Y - by Hours
N - by Units
This is an optional field, depending on the Item Group. For example, if the item group is Labor, and Price Source is By Employee, the value will always be by hours

Items UNITISHOUR
Price FLDITMUNITPRICE Must be a valid numeric value Items UNITPRICE
Cost FLDITMSTANDARDCOST The date for the Charge. This is an optional parameter. If not provided, the current date will

be used. Should be passed in date format. e.g. MM/DD/YYYY

Items STANDARDCOST
Taxes FLDITMTAXCODE1

FLDITMTAXCODE2
FLDITMTAXCODE3

You can pass up to 3 different tax codes. Items, Taxes Items.TAXCODES, Taxes.TAXNUM
Description by Name FLDITMDESCBYNAME Y - take the description from the name field

N - take the description from the Description field

Items DESCBYNAME
Description FLDITMDESC If not provided, the description is taken from the name. Items DESCRIPTION
Suspend FLDITMSUSPENDED Indicated whether this item is currently suspended:

Y - yes
N - no

Items SUSPENDED
Notes FLDITMNOTES Items NOTES
Field1 FLDITMUSER1 User defined field Items USER1
Create User FLDITMCREATEUSER External software name which created the Charge Items
Created by User FLDTKTCREATEUSER Should contain the external software name which created the Ticket Items CREATEUSER

History Note Fields

The table below lists the most important History Note parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDHISRECID The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note. NoteBook RECID
Date FLDHISNOTEDATETIME Any date format, such as DD/MM/YYYY NoteBook NOTEDATETIME
Description FLDHISDESCRIPTION The Description text NoteBook DESCRIPTION
Opportunity/Ticket/Contract FLDHISLINKRECID Link to Opportunity or Ticket or Contract NoteBook LINKRECID
Field FLDHISUSER1 User defined field NoteBook USER1
About FLDHISKIND Optional field NoteBook KIND
Employee FLDHISWORKERID The employee ID to be linked to the History Note. This is a mandatory parameter and must contain an ID of an active employee. NoteBook WORKERID
Account FLDHISCARDID The Account record ID (20 chars). The Account Rec ID can be taken from:
  1. Account Notes tab, at the bottom, right-click the REC ID field and use Copy.
    e.g. CRDVQYSOD1B4U4HZIQJJ
  2. Using Data Retrieval API to pull information from the database
  3. From the Email Response when adding new Account with the API
NoteBook CARDID
Contact FLDHISCONTACTID The Contact for this Account. If not provided, the main Contact for the Account is taken. NoteBook CONTACTID
Document FLDHISDOCID Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the Data Retrieval API to pull information from the database. NoteBook DOCID
Created by User FLDHISCREATEUSER Name of the external software which created this History Note NoteBook CREATEUSER

Asset Fields

The table below lists the most important Asset parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Asset Code FLDASTASSETCODE If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added. assets ASSETCODE
Asset Type FLDASTASSETTYPE The Type field is mandatory:

Hardware = H
Software = S
Other = T

assets ASSETTYPE
Asset Name FLDASTNAME assets NAME
Status FLDASTSTATUS Mandatory field.

Active = A
Not Active = N
If not provided, default Active is used.

assets STATUS
Record ID FLDASTRECID If provided, must exist in the database. Ignored if empty assets RECID
Serial No. FLDASTSERIALNO assets SERIALNO
Account FLDASTACCRECID The Account which is linked to the Asset assets ACCOUNTRECID
Contact FLDASTCONTACTRECID The Contact for this Account. If not provided, the main Contact for the Account is taken. assets CONTACTRECID
Created by user FLDASTCREATEUSER Name of external software which created this Asset assets CREATEUSER
Purchase Date FLDASTCUSTPURDATE Any date format, such as DD/MM/YYYY assets CUSTPURCHASEDATE
Purchased From Us FLDASTCUSTPURFROMUS Possible values: Y/N.

If not provided, default value Y is used.

assets CUSTPURCHASEDFROMUS
Purchase Invoice # FLDASTCUSTPUROURINV assets CUSTPURCHASEDOURINV
Customer PO FLDASTCUSTPURPO assets CUSTPURCHASEPO
Purchase Price FLDASTCUSTPURPRICE assets CUSTPURCHASEPRICE
Delivered Date FLDASTDELIVEDATE assets DELIVERDATE
Description FLDASTDESC assets DESCRIPTION
Installed By FLDASTINSTALBY assets INSTALLEDBY
Installed Date FLDASTINSTALDATE assets INSTALLEDDATE
License Codes FLDASTLICENSECODE assets LICENSECODE
License Keys FLDASTLICENSEKEYS assets LICENSEKEYS
License Notes FLDASTLICENSENOTES assets LICENSENOTES
Location FLDASTLOCATION assets LOCATION
Manufacturer FLDASTMANUFACTURER assets MANUFACTURER
Mnf Serial No. FLDASTMNFSERIALNO assets MNFSERIALNO
Model FLDASTMODEL assets MODEL
Notes FLDASTNOTES assets NOTES
Quantity FLDASTQUANTITY If not provided, default value of 1 is used. assets QUANTITY
Last Update By FLDASTUPDATEUSER Name of externals software which performed the update assets UPDATEUSER
Field1 FLDASTUSER1 User defined field assets USER1
Field2 FLDASTUSER2 User defined field assets USER2
Field3 FLDASTUSER3 User defined field assets USER3
Field4 FLDASTUSER4 User defined field assets USER4
Field5 FLDASTUSER5 User defined field assets USER5
Date1 FLDASTUSERDATE1 User defined field assets USERDATE1
Number1 FLDASTUSERNUMBER1 User defined field assets USERNUMBER1
Vendor Purchased Date FLDASTVENDORDATEPURC assets VENDORDATEPURCHASED
Vendor Invoice # FLDASTVENDORINVNO assets VENDORINVOICENO
Vendor PO FLDASTVENDOROURPO assets VENDOROURPO
Vendor Price FLDASTVENDORPRICE assets VENDORPRICE
Vendor FLDASTVENDORRECID assets VENDORRECID
Vendor Serial No. FLDASTVENDORSERNO assets VENDORSERIALNO
Vendor Warranty Exp. Date FLDASTVENDORWARREXP Any date format, such as DD/MM/YYYY assets VENDORWARRANTYEXP
Version FLDASTVERSION assets VERSION
Warranty/License Exp. FLDASTWARREXPDATE Any date format, such as DD/MM/YYYY assets WARRANTYEXPDATE
Date

Calendar Fields

The table below lists the most important Calendar parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDEVTRECID The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this

will be added as a new Appointment/Task.

Events RECID
Event Type FLDEVTWRITETOID The Event type is a mandatory field.

Appointment = 1
Task = 2

Events WRITE_TO_ID
Employee FLDEVTWORKERID The Task/Appointment owner (for private events) Events WORKER_ID
Private: User FLDEVTPRIVATEID If an Employee was set, this field contain the same REC ID as the Employee field (FLDEVTWORKERID).
Events PRIVATE_ID
Account FLDEVTCARDID The Account record ID (20 chars). The Account REC ID can be taken from:
  1. Account Notes tab, at the bottom by rightclicking

the REC ID field and selecting Copy

  1. Data Retrieval API to pull information from the database
  2. The automated email response when adding a

new Account with the API

Events CARD_ID
Contact FLDEVTCONTACTID The Contact for this Account. If not provided, the main Contact for the Account is taken. Events CONTACTID
Document FLDEVTDOCID Linked Document ID, can be taken from the Document Properties window (right-click RecID and use Copy), or using the Data Retrieval API to pull information from the database. Events DOCID
Done Indication FLDEVTDONE Possible values: Y/N Events DONE
Date FLDEVTEVENTDATE The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not

provided, the current date will be used.

Events EVENT_DATE
Description FLDEVTFREETEXT Events FREE_TEXT
Time: Start FLDEVTFROMTIME Mandatory field Events FROM_TIME
Time: End FLDEVTTOTIME Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used. Events TO_TIME
Opportunity/Ticket FLDEVTLINKRECID Linked Ticket/Opportunity/Contract/Asset Events LINKRECID
Field1 FLDEVTFAMILY User Defined field Events FAMILY
Field2 FLDEVTACTION User Defined field Events ACTION
Field3 FLDEVTPLACE User Defined field Events PLACE
Field4 FLDEVTPLACE1 User Defined field Events PLACE1
Field5 FLDEVTPLACE2 User Defined field Events PLACE2
Created by User FLDEVTCREATEUSERID Name of external software which created the event Events CREATEUSERID
Last Update: By User FLDEVTUPDATEUSER Name of external software which updated the

event

Events UPDATE_USER

Opportunity Fields

The table below lists the most important Opportunity parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDOPPRECID The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity. Opps RECID
Opportunity Name FLDOPPNAME Mandatory field. Opps NAME
Opportunity ID FLDOPPUSERID Optional (Oppty ID) Opps USERID
Account FLDOPPCARDID The Account record ID (20 chars). The Account REC ID can be taken from:
  1. Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
  2. Data Retrieval API to pull information from the database
  3. The automated email response when adding a new Account with the API
Opps CARDID
Contact FLDOPPCONTACTID The Contact for this Account. If not provided, the main Contact for the Account is taken. Opps CONTACTID
Source FLDOPPSOURCE Opps SOURCE
Close Date FLDOPPCLOSEDATE Opps CLOSEDATE
Manager FLDOPPWORKERID The Manager's REC ID Opps WORKERID
Open Date FLDOPPOPENDATE Opps OPENDATE
Close By Date FLDOPPESTDATE Opportunity must be closed by this date Opps ESTDATE
Amount FLDOPPAMOUNT Opps AMOUNT
Probability % FLDOPPPROBABILITY Opps PROBABILITY
Stage FLDOPPSTAGE Opps STAGE
Status FLDOPPSTATUS Opps STATUS
Closing Amount FLDOPPCLOSEAMOUNT Opps CLOSEAMOUNT
Description FLDOPPDESCRIPTION Opps DESCRIPTION
Opportunity Type FLDOPPKIND Opps KIND
Opportunity Reason FLDOPPREASON Opps REASON
Note FLDOPPNOTES Opps NOTES
Territory FLDOPPREGION Opps REGION
Field1 FLDOPTFAMILY User Defined field Opps USER1
Field2 FLDOPTACTION User Defined field Opps USER2
Field3 FLDOPTPLACE User Defined field Opps USER3
Created by User FLDOPTCREATEUSERID Name of external software which created the event Opps CREATEUSER
Last Update: By User FLDOPTUPDATEUSER Name of external software which updated the event Opps UPDATEUSER

Document Fields

The table below lists the Document parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDDOCRECID The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document. docs RECID
Document Date FLDDOCDOCDATE The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY docs DOC_DATE
Subject FLDDOCDOCUMENTDESC docs DOCUMENT_DESC
Linked Record FLDDOCLINKRECID The RECID of a linked object. Each Document can be linked to one of the following objects:
  • Ticket
  • Contract
  • Opportunity
  • Knowledge Base Article
  • Asset

The Record ID (20 chars) can be taken from:

  1. Object's Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
  2. Data Retrieval API to pull information from the database
  3. The automated email response when adding a new object with the API.
docs LINKRECID
Account Rec ID FLDDOCCARDID The Account record ID (20 chars). The Account REC ID can be taken from:
  1. Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
  2. Data Retrieval API to pull information from the database
  3. The automated email response when adding a new Account with the API
docs CARD_ID
Contact REC ID FLDDOCCONTACTID The Contact for this Account. If not provided, the main Contact for the Account is taken. docs CONTACTID
Field1 FLDDOCTRANSPORT User Defined field docs TRANSPORT_ID
Field2 FLDDOCFOLDER User Defined field docs FOLDER_ID
Field3 FLDDOCUMENTPLACE User Defined field docs DOCUMENT_PLACE
File Path + File name FLDDOCDOCUMENTNAME The Document path docs DOCUMENT_NAME
Category FLDDOCTREEID The category record ID should be taken from the database table called TreeTbl which contains the Category tree TreeTbl TREE_ID
Employee REC ID FLDDOCWORKERID The worker record ID to be linked to the Document. Must be an active employee. docs WORKER_ID
Created by User FLDDOCCREATEUSER Name of external software which created the document docs CREATE_USERNAME
Last Update: By User FLDDOCUPDATEUSER Name of external software which updated the document docs UPDATE_USERNAME

Knowledge Base Article Fields

The table below lists the Knowledge Base Article parameters and behavior:

Field Name API Field Name Comment Physical DB Tables Physical DB Fields
Record ID FLDKBARECID The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article. KBArticles RECID
Document Date FLDKBACREATEDATE The date for the Document. This is an optional parameter. If not provided, or if the value is illegal, the current date will be used. Should be passed in date format. e.g. MM/DD/YYYY KBArticles CREATEDATE
Title FLDKBATITLE KBArticles TITLE
Problem FLDKBAPROBLEM KBArticles PROBLEM
Solution FLDKBASOLUTION KBArticles SOLUTION
Status FLDKBASTATUS Possible values:
  • DRAFT = 'D'
  • PUBLISHED = 'P'
  • OBSOLETE = 'O'
KBArticles STATUS
Category FLDKBACATEGORY KBArticles CATEGORY
Public FLDKBAISPUBLIC Is the Document public.

Possible values:

  • 'Y' = Yes
  • 'N' = No
KBArticles ISPUBLIC
Created by User FLDKBACREATEUSER Name of external software which created the document KBArticles CREATEUSER
Last Update: By User FLDKBAUPDATEUSER Name of external software which updated the document KBArticles UPDATEUSER

Error Codes Description

These error codes are returned when calling the CmtGetDescriptionByStatus function:
1001 Invalid value for this Data Kind.
1002 Invalid DATA buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length
1003 Invalid MAP buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length.
1004 Invalid RECID buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length.
1005 Invalid LOG buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length
1006 Invalid RECID buffer received. It should be at least 20 characters.
1007 Invalid external software name received. Specify a unique name that identifies your software.
1008 Cannot process the transaction. Make sure to call the INIT procedure at least once prior to sending transactions for processing.
1009 Path specified for RangerMSP DB folder not found.
1010 Path specified for RangerMSP DB folder found, but its contents do not reflect a valid DB folder.
1011 The RECID received for the employee/user was not found in RangerMSP, is invalid or is related to an inactive employee record.
1013 Software name is missing. Make sure you specify a name that identifies your software.
1014 Software name is less than 3 characters long. Make sure you specify your software name has 3 to 15 characters.
1015 Software name is too long. Make sure your software name has 3 to 15 characters.
1016 Invalid CODES buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length
1017 Invalid Record ID received. Record ID should consist of exactly 20 characters.
1018 The Record ID (RECID) is missing.
1019 Invalid RECID received. Its value cannot point to any entity in RangerMSP.
1020 The size for the result buffer is too small. Increase its size and try again.
1021 CmtDbQry.dll not found.
1022 API calls cannot currently be processed due to periodic maintenance. Please try again in a few moments.
1023 A newer API version was found. Please restart any applications that use the RangerMSP API and try again.
1100 Database access error.
1501 Cannot delete this type of record
1502 This record cannot be deleted by a customer.
2000 General Error Occurred

These error codes are returned when calling the CRMQueryDataRequest function:
110001 The application entity for the query (Subject) is missing.
110002 Invalid XML request. Couldn’t find the XML request name: CRMQueryDataRequest
110003 Invalid value was requested for the record count.
110004 The size for the result buffer is too small. Increase its size and try again.
110005 The query filtering structure is invalid (should form an SQL-like query).
110006 This Code is not exists in RangerMSP
110008 Invalid application entity for the query (Subject) was received
110019 Additional records answer the query. Only the amount of records you requested was returned.
110020 This Code is not exists in RangerMSP
110021 Empty result set. No records were found for the query

These error codes are returned when calling the CRMxmlGetRecDataRequest function:
150001 Invalid XML received. Please verify that the XML structure is valid.
150002 Invalid field identifiers were received.
150003 No records in RangerMSP database match the received RECID
150004 The received XML version number is not supported.
150005 XML version number is missing.
150006 The received RECID does not point to an Appointment or Task record (it points to an internal place holder only).
150007 The received RECID does not point to a valid History record (it points to an internal place holder only).
150008 Invalid RECID received. Its value cannot point to any entity in RangerMSP.
150009 The received RECID points to object which is not supported by the API.
150011 Invalid XML request. Couldn’t find the XML request name: CRMxmlgetrecdatarequest


General error codes, returned when calling the functions CmtGetDescriptionByCode:
50000 The data is not correct for its type.
50001 The field value has been truncated due to the field length in the database.
50002 The insert operation Failed because the REC ID already existed in the database.
50003 Failed to update Record since it is being updated by another user.
50103 Illegal REC ID.
50104 REC ID Creation failed.
50105 Illegal Sub-Contact REC ID.
50106 Illegal Contract REC ID.
50107 Illegal Employee REC ID.
50108 Illegal Ticket REC ID.
50109 Illegal Account REC ID.
50110 Illegal data for that Contract.
50111 This Employee is not active.
50112 Illegal Document REC ID.
50113 Illegal linked object REC ID.
50114 Employee not found.
50115 Some mandatory fields have no values.
50116 Invalid REC ID buffer received. It should be at least 20 characters.
50117 The Record ID (RECID) is missing.
50118 Invalid Record ID received. Record ID should consist of exactly 20 characters.
50119 Invalid RECID received. Its value cannot point to any entity in RangerMSP.
50120 Software name is missing. Make sure you specify a name that identifies your software.
50121 Software name is less than 3 characters long. Make sure your software name has 3 to 15 characters.
50122 Software name is too long. Make sure your software name has 3 to 15 characters.
51000 Illegal kind of Account entity.
51001 Account Manager not found.
51002 The REC ID of the Account Manager is illegal.
51003 Illegal tax code.
51004 This code does not exist in RangerMSP.
52000 Illegal kind of event.
52001 Illegal start time.
52002 Illegal end time.
52003 Illegal event date.
52004 The field Reminder1 has Illegal Value.
52005 The amount in the field has an illegal value.
52006 The Field Remider1:Units has Illegal Value.
52007 The Field Remider2:Active has Illegal Value.
52008 The Field Remider2:Amount has Illegal Value.
52009 The Field Remider2:Units has Illegal Value.
52010 Illegal employee REC ID.
52011 Error occurred while updating the Task/Appointment employee field.
54000 Illegal Ticket open date.
54001 Illegal Ticket close date.
54002 Illegal Ticket code area.
54004 Illegal Ticket priority.
54005 Illegal Ticket status.
54006 The Ticket Account was not found in the database.
54007 The Ticket Account Manager was not ound in the database.
54008 This code does not exist in RangerMSP.
54009 This code does not exist in RangerMSP.
54010 This code does not exist in RangerMSP.
54011 This code does not exist in RangerMSP.
54012 This code does not exist in RangerMSP.
55000 Illegal charge date.
55001 Illegal charge REC ID.
55002 Illegal start date.
55003 Illegal start time.
55004 Illegal amount entered for hours.
55005 Illegal quantity.
55006 Illegal price.
55007 Illegal total.
55008 Illegal value in the Adjust Amount field.
55009 Illegal value in the Adjust Percent.
55010 The Discount/Markup field has an illegal value.
55011 Illegal value in the Adjust Kind field.
55012 Illegal bill total.
55013 You can not create a charge for a suspended item.
55014 Item was not found in RangerMSP.
55015 This code does not exist in RangerMSP.
55016 This code does not exists in RangerMSP.
55017 This Code does not exist in RangerMSP.
55018 This Code does not exist in RangerMSP.
55019 This Code does not exist in RangerMSP.
55020 This Code does not exist in RangerMSP.
55021 This Code does not exist in RangerMSP.
56000 Illegal item code.
56001 The field that indicates the item group type has an illegal value.
56002 The field that indicates if the Item is suspended has an illegal value.
56003 Illegal value of The field that indicate if the item is suspended.
56004 Mismatch found between the fields price and price source.
56005 Illegal cost.
56006 Mismatch found between the fields cost and item group type.
56007 The field that indicates if the charge is by unit or by hours has an illegal value.
56008 Illegal value in the Description.
56009 The field that indicates the item type has an illegal value.
57000 This Code does not exist in RangerMSP.
58000 Illegal date time.
58001 The Description field was not found.
58002 The field kind was not found.
58003 The Account member was not found.
59000 This code does not exists in RangerMSP.
59001 This Code does not exist in RangerMSP.
59002 This Code does not exist in RangerMSP.
59003 This Code does not exist in RangerMSP.
59004 This Code does not exist in RangerMSP.
59005 This Code does not exist in RangerMSP.
60000 Invalid web user record ID number.
60001 This customer web user is not active.
60002 This user is not a customer.

See Also