API Reference Manual: Difference between revisions

From RangerMSP Wiki - PSA software for MSPs and IT services providers
Jump to navigation Jump to search
 
(78 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 34: Line 34:
! '''Description'''
! '''Description'''
|-
|-
| '''CmtInitDbEngDll (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)
| status (int),results (char)
| 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.<br>
| Receives an SQL query and returns a result list of REC IDs. You should then call CmtGetRecordDataByRecId for each record details.<br>
xml_request_buff – XML with the SQL query <br>
xml_request_buff – XML with the SQL query. <br>
xml_request_buff_len – length of the request buffer<br>
xml_request_buff_len – length of the request buffer.<br>
xml_response_data_buff - buffer for returned XML response<br>
xml_response_data_buff - buffer for returned XML response.<br>
xml_response_data_buff_len – length of the response buffer<br>
xml_response_data_buff_len – length of the response buffer.<br>
status - returned status, 1 for success.<br>  
status - returned status, 1 for success.<br>  


>> See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.
>> See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.<br>
>> See [[API_Reference_Manual#CmtGetQueryRecIds|CmtGetQueryRecIds]] for more details about the XML parameters.


|-
|-
|}
| '''CmtGetRecordDataByRecId'''<br> (xml_request_buff,<br>xml_request_buff_len,<br>xml_response_data_buff,<br>xml_response_data_buff_len,<br>status)
| status (int),details(char)
| Returns a record's details according to the input REC ID. <br>
xml_request_buff – XML with the REC ID.<br>
xml_request_buff_len – length of the request buffer.<br>
xml_response_data_buff - buffer for returned XML response.<br>
xml_response_data_buff_len – length of the response buffer.<br>
status - returned status, 1 for success.<br>
 
>> See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.<br>
>> See [[API_Reference_Manual#CmtGetRecordDataByRecId|CmtGetRecordDataByRecId]] for more details about the XML parameters.


==Data Update API Functions==
The Programming API provides the following API functions:
{| class="wikitable"
|-
|-
! '''Method'''
| '''CmtGetFieldAttributesByRecId'''<br> (xml_request_buff,<br>xml_request_buff_len,<br>xml_response_data_buff,<br>xml_response_data_buff_len,<br>status)
! '''Return Value'''
| status (int),details(char)
! '''Description'''
| Returns the properties of a database field. <br>
xml_request_buff – XML with the requested Field ID.<br>
xml_request_buff_len – length of the request buffer.<br>
xml_response_data_buff - buffer for returned XML response.<br>
xml_response_data_buff_len – length of the response buffer.<br>
status - returned status, 1 for success.<br>
 
>> See [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.<br>
>> See [[API_Reference_Manual#CmtGetFieldAttributesByRecId|CmtGetFieldAttributesByRecId]] for more details about the XML parameters.
 
|-
|-
| '''CmtInitDbEngDll (app_name, path, status)'''
| '''CmtTerminateDbQryDll'''
| 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.
| Close the connection to the database
|-
|-
| '''CmtInsUpdRec(data_buff, map_buff, flag, tbd,<br>
| '''CmtGetDescriptionByCode''' (code,<br>desc_size,<br>desc)
rec_id_buff_size, error_codes_buff_size,<br>
| message (char)
err_msg_buff_size,rec_id_buff,<br>
| Call this function in case of error in<br>
err_codes_buff, err_msg_buff, status)'''
'''CmtInsUpdRec'''. <br>
| status (int), rec_id (char)
In case of error (return code other than 1),<br>
| Adds/Updates records.<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 [[Commit API Reference Manual#Error Codes Description|Error Codes Description]] for other values.
|-
| '''CmtTerminateDbEngDll'''
|
| Close the connection to the database
|-
| '''CmtGetDescriptionByCode''' (code,<br>desc_size,<br>desc)
| message (char)
| 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.
you can use this to get error string.
|-
|-
Line 97: Line 91:
|  
|  
| Call this function in case of error in<br>
| Call this function in case of error in<br>
'''CmtInitDbEngDll'''
'''CmtInitDbQryDll'''
|}
|}


'''Field buffers'''
===CmtGetQueryRecIds ===
The record to be added/updated in the database is passed to the Commit API in two buffers:
The CmtGetQueryRecIds function receives an SQL query and returns a result list of REC IDs.<br>
{| class="wikitable"
Both the request and the response parameters are in XML format. See more details about each XML structure below.
|-
 
! '''Parameter'''
====CmtGetQueryRecIds Request====
! '''Description'''
The crmxmlqueryrequest XML contains the following sections:
! '''Example'''
* 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.
| data_buff
 
| String containing the <u>values</u> to insert into the Database. Separators between the fields are  defined in the map_buff
crmxmlqueryrequest XML template:
| "17/04/2008 14:44", "CRD7C9KZPS9JN3LEZVD9", "Charge", "CRDGO0SVQ6074CMAN7DW","Closed","test note in DB Engine", "NTBL6PDPKUU6NXLRHLHP","CRDBSMJ3P72EHMU0HB LX","TKT4S81466E05IM8P23X"
 
|-
<?xml version="1.0" ?>
| map_buff
<?crmxmlqueryrequest version="1.0" ?>
| Mapping of the data_buff: separators, field names.
<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 >


Field names must be in the same order as the data_buff values.
See more details about each XML token below.


The field names should be separated with a different separator than the values (e.g. "new line").
===== Query Data Type =====
| " , FLDHISNOTEDATETIME<br>
The Data Type should be entered in the following token:
FLDHISWORKERID<br>
FLDHISKIND<br>
FLDHISCONTACTID<br>
FLDHISUSER1<br>
FLDHISDESCRIPTION<br>
FLDHISRECID<br>
FLDHISCARDID<br>
FLDHISLINKRECID<br>
|}


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


=Database Field Listing=
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.
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:
Data Retrieval API Supported data types (Data Kind):
*[[#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]]
*[[#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"
|-
|-
! '''Application entity'''
! '''Entity in Application'''
! '''Table name'''
! '''Data Kind'''
! '''Programming Code'''
! '''XML Data Kind Name'''
|-
|-
| Accounts
| Account
| Cards
| ACCOUNT
| 10
| ACCOUNT  
|-
|-
| Opportunities
| Opportunity
| Opps
| OPPORTUNITY
| 20
| OPPORTUNITY  
|-
|-
| Documents
| Document
| Docs
| DOCUMENT
| 30
| DOCUMENT  
|-
|-
| Charges
| Charge
| Slips
| 40
| CHARGE
| CHARGE
|-
|-
| Appointments/Tasks
| Appointment
| Events
| APPOINTMENT
| 50
|-
| APPOINTMENT-OR-TASK
| Task
| TASK
|-
|-
| History Notes
| History Note
| Notebook
| 60
| HISTORY-NOTE
| HISTORY-NOTE
|-
|-
| Tickets
| History Audit Line
| Tickets
| HISTORY-AUDIT
| 70
|-
| TICKET  
| Ticket
| TICKET
|-
| Item
| ITEM
|-
| Asset
| ASSET
|-
|-
| Items
| Knowledge Base Article
| Items
| ARTICLE
| 80
| ITEM
|-
|-
| Assets
| Contract
| Assets
| CONTRACT
| 90
| ASSET
|-
|-
| Knowledge Base
| Tax
| KBArticles
| TAX
| 100
| KBARTICLE
|}
|}
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===
===== SQL Query =====
The following table lists the most important parameters for adding/updating Account
The Query part in the XML lets you build the actual text of the SQL query, providing you with maximum flexibility.
records.
 
Note slight differences when adding a main account vs. adding a secondary contact.
      <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 ====


{| class="wikitable"
CmtGetQueryRecIds returns the result in XML format as follows:
|-
 
! '''Field Name'''
<?xml version="1.0" ?>
! '''Database Field Name'''
<?crmxmlqueryresponse version = "1.0" ?>
! '''Comment'''
  <CRMQueryDataResponse>
|-
    <Status></Status>
| Account REC ID
    <ResultCodes></ResultCodes>
| FLDCRDRECID
    <ResultMessage></ResultMessage>
|The Account record ID (20 chars). The Account Rec ID can be taken from:
    <RecordData></RecordData>
#Account Notes tab, at the bottom, rightclick the RecID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
  </CRMQueryDataResponse>
#Using ODBC to pull information from the database.
 
#From the Email Response when adding new Account with the API.
Where:
|-
* '''Status, Result Codes''' – the function returns a main status and in case of error it may return 
| Account Manager
* '''Result Message''' – contains the error message text in case of an error.
| FLDCRDASSIGNCARDID
* '''Record Data''' – contains a list of record IDs which answer the query. This list contains the database REC IDs separated by commas.
| This field has two roles:
<br>
#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>
===CmtGetRecordDataByRecId===
This field should contain the ID of the main Account to which the secondary contacted is
 
added.
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.
<br>
 
===== 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''.
 
<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"
|-
|-
|Company name
! '''Method'''
|FLDCRDCOMPANY
! '''Return Value'''
|
! '''Description'''
|-
|-
|Contact: First & Last Name
| '''CmtInitDbEngDll (app_name, path, status)'''
|FLDCRDCONTACT
| 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 [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.
|-
|-
| Assistant
| '''CmtInsUpdRec(app_name, table_id, data_buff, map_buff, flag, tbd,<br>
| FLDCRDASSISTANT
rec_id_buff_size, error_codes_buff_size,<br>
|
err_msg_buff_size,rec_id_buff,<br>
|-
err_codes_buff, err_msg_buff, status)'''
|Contract
| status (int), rec_id (char)
|FLDCRDBCRECID
| Adds/Updates records.<br>
|The default Contract for this Account (not required)
app_name - string containing your application name<br>
|-
table_id - string containing the database table id<br>
|Account Number
data_buff - string containing the values to insert into the Database<br>
|FLDCRDCARDID2
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.
|-
|-
|ID
| '''CmtTerminateDbEngDll'''
|FLDCRDCARDID3
|  
|
| Close the connection to the database
|-
|-
|Popup Message
| '''CmtGetDescriptionByCode''' (code,<br>desc_size,<br>desc)
|FLDCRDCARDMESSAGE
| message (char)
|
| 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.
|-
|-
| Address: Line1
| '''CmtGetDescriptionByStatus'''
| FLDCRDADDRESS1
|
|
| Call this function in case of error in<br>
'''CmtInitDbEngDll'''
|}
 
'''Field buffers'''
The record to be added/updated in the database is passed to the RangerMSP API in two buffers:
{| class="wikitable"
|-
|-
| Address: Line2
! '''Parameter'''
| FLDCRDADDRESS2
! '''Description'''
|
! '''Example'''
|-
|-
| Address: Line3
| data_buff
| FLDCRDADDRESS3
| String containing the <u>values</u> 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"
|-
|-
|Address: City
| map_buff
|FLDCRDCITY
| Mapping of the data_buff: separators, field names.
|
 
|-
Field names must be in the same order as the data_buff values.
|Address: State
 
|FLDCRDCOUNTRY
The field names should be separated with a different separator than the values (e.g. "new line").
|
| " , FLDHISNOTEDATETIME<br>
|-
FLDHISWORKERID<br>
|Address: Country
FLDHISKIND<br>
|FLDCRDSTATE
FLDHISCONTACTID<br>
|
FLDHISUSER1<br>
|-
FLDHISDESCRIPTION<br>
|Address: Zip
FLDHISRECID<br>
|FLDCRDZIP
FLDHISCARDID<br>
|
FLDHISLINKRECID<br>
|-
|}
|Creation Date
 
|FLDCRDCREATEDATE
=Database Field Listing=
|Any date format, such as DD/MM/YYYY
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.
|-
 
|Created by User
The API allows you to add, update and retrieve the following entities:  
|FLDCRDCREATEUSERID
*[[#Account Fields|Accounts]]
|Foreign Software Name which created the account
*[[#Ticket Fields|Tickets]]
|-
*[[#Charge Fields|Charges (and Contract-price Charges)]]
|Dear
*[[#Item Fields|Items]]
|FLDCRDDEAR
*[[#History Note Fields|History Notes]]
|
*[[#Asset Fields|Assets]]
|-
*[[#Calendar Fields|Calender (Appointments and Tasks)]]
|Department
*[[#Opportunity Fields|Opportunities]]
|FLDCRDDEPARTMENT
*[[#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"
|-
|-
|Documents Store Directory
! '''Application entity'''
|FLDCRDDOCSFOLDER
! '''Table name'''
|
! '''Programming Code'''
! '''XML Data Kind Name'''
|-
|-
|E-Mail Address 1
| Accounts
|FLDCRDEMAIL1
| Cards
|
| 10
| ACCOUNT
|-
|-
|E-Mail Address 2
| Opportunities
|FLDCRDEMAIL2
| Opps
|
| 20
| OPPORTUNITY
|-
|-
|Account Type
| Documents
|FLDCRDENTITYKIND
| Docs
|When adding a Main Account = 1<br>When adding a secondary contact = 5
| 30
| DOCUMENT
|-
|-
|Fax Number
| Charges
|FLDCRDFAX1
| Slips
|
| 40
| CHARGE
|-
|-
|Fax Number Extension
| Appointments/Tasks
|FLDCRDFAXDESC1
| Events
|
| 50
| APPOINTMENT-OR-TASK
|-
|-
|File as
| History Notes
|FLDCRDFULLNAME
| Notebook
|
| 60
| HISTORY-NOTE
|-
|-
|Type
| Tickets
|FLDCRDKIND
| Tickets
|
| 70
| TICKET
|-
|-
|Last Name
| Items
|FLDCRDLASTNAME
| Items
|
| 80
| ITEM
|-
|-
|Notes
| Assets
|FLDCRDNOTES
| Assets
|
| 90
| ASSET
|-
|-
|Field
| Knowledge Base
|FLDCRDPERSONID
| 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"
|-
|-
|Phone 1 Ext.  
! '''Field Name'''
|FLDCRDPHNDESC1
! '''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:
#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
|-
| Account Manager
| 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
|-
|-
|Phone 2 Ext.
|Company name
|FLDCRDPHNDESC2
|FLDCRDCOMPANY
|
|
|cards
|COMPANY
|-
|-
|Phone 3 Ext.
|Contact: First & Last Name
|FLDCRDPHNDESC3
|FLDCRDCONTACT
|
|
|cards
|CONTACT
|-
|-
|Phone 4 Ext.
| Assistant
|FLDCRDPHNDESC4
| FLDCRDASSISTANT
|
|
|cards
|ASSISTANT
|-
|-
|Phone 1
|Contract
|FLDCRDPHONE1
|FLDCRDBCRECID
|
|The default Contract for this Account (not required)
|cards
|BCRECID
|-
|-
|Phone 2
|Account Number
|FLDCRDPHONE2
|FLDCRDCARDID2
|
|
|cards
|CARDID2
|-
|-
|Phone 3
|ID
|FLDCRDPHONE3
|FLDCRDCARDID3
|
|
|cards
|CARDID3
|-
|-
|Phone 4
|Popup Message
|FLDCRDPHONE4
|FLDCRDCARDMESSAGE
|
|
|cards
|CARDMESSAGE
|-
|-
|Region
| Address: Line1
|FLDCRDREGIONCODE
| FLDCRDADDRESS1
|
|
|cards
|ADDRESS1
|-
|-
|Popup Message: Display Indication
| Address: Line2
|FLDCRDSHOWMESSAGE
| FLDCRDADDRESS2
|
|
|cards
|ADDRESS2
|-
|-
|Sub-Contact Code
| Address: Line3
|FLDCRDSUBCODE
| FLDCRDADDRESS3
|
|
|cards
|ADDRESS3
|-
|-
|Salutation
|Address: City
|FLDCRDSUFFIX
|FLDCRDCITY
|
|
|cards
|CITY
|-
|-
|Tax1
|Address: State
|FLDCRDTAXCODE1
|FLDCRDCOUNTRY
|
|
|cards
|COUNTRY
|-
|-
|Tax2
|Address: Country
|FLDCRDTAXCODE2
|FLDCRDSTATE
|
|
|cards
|STATE
|-
|-
|Notes
|Address: Zip
|FLDCRDNOTES
|FLDCRDZIP
|
|
|cards
|ZIP
|-
|-
|Title
|Creation Date
|FLDCRDTITLE
|FLDCRDCREATEDATE
|
|Any date format, such as DD/MM/YYYY
|cards
|CREATEDATE
|-
|-
|Last Updated by
|Created by User
|FLDCRDUPDATEUSERID
|FLDCRDCREATEUSERID
|When performing updates on existing Account - pass the Foreign Software Name which performs the update.
|Foreign Software Name which created the account
|cards
|CREATEUSERID
|-
|-
|Web Address 1
|Dear
|FLDCRDURL1
|FLDCRDDEAR
|
|
|cards
|DEAR
|-
|-
|Web Address 2
|Department
|FLDCRDURL2
|FLDCRDDEPARTMENT
|
|
|cards
|DEPARTMENT
|-
|-
|Status
|Documents Store Directory
|FLDCRDUSER1
|FLDCRDDOCSFOLDER
|
|
|cards
|DOCSFOLDER
|-
|-
|Field1
|E-Mail Address 1
|FLDCRDUSER2
|FLDCRDEMAIL1
|
|
|cards
|EMAIL1
|-
|-
|Field2
|E-Mail Address 2
|FLDCRDUSER3
|FLDCRDEMAIL2
|
|
|cards
|EMAIL2
|-
|-
|Field3
|Account Type
|FLDCRDUSER4
|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
|-
|-
|Field4
|Fax Number Extension
|FLDCRDUSER5
|FLDCRDFAXDESC1
|
|
|}
|cards
 
|FAXDESC1
===Ticket Fields===
 
The table below lists the most important Ticket parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|File as
! '''Database Field Name'''
|FLDCRDFULLNAME
! '''Comment'''
|
|cards
|FULLNAME
|-
|-
| Account REC ID
|Type
| FLDTKTCARDID
|FLDCRDKIND
|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
|cards
#ODBC to pull information from the database
|KIND
#The automated email response when adding a cnew Account with the API
|-
|-
| Contact REC ID
|Last Name
| FLDTKTCONTACTID
|FLDCRDLASTNAME
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
|
|cards
|LASTNAME
|-
|-
| Contract REC ID
|Notes
| FLDTKTBCRECID
|FLDCRDNOTES
|The Contract ID. If not supplied, will be taken from the Account's default contract.
|
|cards
|NOTES
|-
|-
| Emp. REC ID
|Field
| FLDTKTWORKERID
|FLDCRDPERSONID
|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
|PERSONID
|-
|-
| Priority
|Phone 1 Ext.
| FLDTKTPRIORITY
|FLDCRDPHNDESC1
| 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
|PHNDESC1
|-
|-
| Ticket Number
|Phone 2 Ext.
| FLDTKTTICKETNO
|FLDCRDPHNDESC2
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.
|
|cards
|PHNDESC2
|-
|-
|Description
|Phone 3 Ext.
|FLDTKTPROBLEM
|FLDCRDPHNDESC3
|This is the Ticket Description. This is a mandatory field, which must contain text.
|
|cards
|PHNDESC3
|-
|-
|Ticket Type
|Phone 4 Ext.
|FLDTKTKIND
|FLDCRDPHNDESC4
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.
|
|cards
|PHNDESC4
|-
|-
|Source
|Phone 1
|FLDTKTSOURCE
|FLDCRDPHONE1
|
|cards
|PHONE1
|-
|Phone 2
|FLDCRDPHONE2
|
|
|cards
|PHONE2
|-
|-
|Estimated Duration Time
|Phone 3
|FLDTKTSCHEDLENESTIM
|FLDCRDPHONE3
|Estimated duration time for the Ticket in minutes.
|
|cards
|PHONE3
|-
|-
|Show Ticket in Dispatcher
|Phone 4
|FLDTKTFORDISPATCH
|FLDCRDPHONE4
|Possible values: Yes/No
|
|cards
|PHONE4
|-
|-
|Status
|Region
|FLDTKTSTATUS
|FLDCRDREGIONCODE
|The Ticket Status (optional).<br>
|
Possible values:<br>
|cards
New = 100<br>
|REGIONCODE
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
|Popup Message: Display Indication
|FLDTKTCREATEUSER
|FLDCRDSHOWMESSAGE
|Should contain the external software name which created the Ticket
|
|cards
|SHOWMESSAGE
|-
|-
|Due Date
|Sub-Contact Code
|FLDTKTDUEDATETIME
|FLDCRDSUBCODE
|Due date for the Ticket.
|
Should be passed in date/time format. e.g. MM/DD/YYYY HH:MM AM/PM <br>
|cards
Example: <br>
|SUBCODE
09/14/2010 03:24 PM
|-
|-
|Resolution
|Salutation
|FLDTKTSOLUTION
|FLDCRDSUFFIX
|Ticket resolution text
|
|}
|cards
 
|SUFFIX
===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):
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Tax1
! '''Database Field Name'''
|FLDCRDTAXCODE1
! '''Comment'''
|Tax1 & 2 use a reference in the cards table and actual taxcodes are in the Taxes table
|cards, Taxes
|cards.TAXCODES, Taxes.TAXNUM
|-
|-
| Record ID
|Tax2
| FLDSLPRECID
|FLDCRDTAXCODE2
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be
|
added as a new Charge.
|cards, Taxes
|cards.TAXCODES, Taxes.TAXNUM
|-
|-
| Charge Source
|Title
| FLDSLPSOURCERECID
|FLDCRDTITLE
|The Charge source is the entity for which the charge is created.<br>
|
Possible values:
|cards
*Linked Contract RecID (for Contract-price Charges). Cannot be the "System Global Contract".
|TITLE
**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
|Last Updated by
| FLDSLPCARDID
|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 new Account with the API
|-
|-
| Employee REC ID
|Web Address 1
| FLDSLPWORKERID
|FLDCRDURL1
| 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.
|
|cards
|URL1
|-
|-
| Charged Item
|Web Address 2
| FLDSLPITEMID
|FLDCRDURL2
| 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.
|cards
|URL2
|-
|-
| Contract REC ID
|Status
| FLDSLPBCRECID
|FLDCRDACCOUNTSTATUS
| The contract record ID (must be a Contract of the Account)
|
|cards
|ACCOUNTSTATUS
|-
|-
|Ticket REC ID
|Field1
|FLDSLPTICKETID
|FLDCRDUSER2
|The Ticket ID to be linked to the Charge.
|
*Not relevant for Contract-price Charge
|cards
|USER2
|-
|-
|Date
|Field2
|FLDSLPSLIPDATE
|FLDCRDUSER3
|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
|cards
|USER3
|-
|-
|Description
|Field3
|FLDSLPDESC
|FLDCRDUSER4
|The Charge Description. If not provided, will be taken from the Item's description.
|
|cards
|USER4
|-
|-
|Units/Hours
|Field4
|FLDSLPQUANTITY
|FLDCRDUSER5
|This is the quantity of hours/units
|
|cards
|USER5
|-
|-
|Adjust Amount
|Field5
|FLDSLPADJUSTAMOUNT
|FLDCRDCOMPANYNO
|Discount/Markup amount. Positive number means Markup, negative number means Discount.
|
|cards
|COMPANYNO
|-
|-
|Adjust Percent
|Field6
|FLDSLPADJUSTPERCENT
|FLDCRDUSER1
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.
|
|cards
|USER1
|}
 
===Ticket Fields===
 
The table below lists the most important Ticket parameters and behavior:
 
{| class="wikitable"
|-
|-
|From Time
! '''Field Name'''
|FLDSLPSTARTTIME
! '''API Field Name'''
|From time for labor Charges e.g. 12:06
! '''Comment'''
*Not relevant for Contract-price Charge
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
| Account REC ID
| FLDTKTCARDID
|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
|-
|-
|To Time
| Contact REC ID
|FLDSLPENDTIME
| FLDTKTCONTACTID
|From time for labor Charges e.g. 14:50
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
* Not relevant for Contract-price Charge
| tickets
| CONTACTID
|-
|-
|Price/Rate
| Contract REC ID
|FLDSLPPRICE
| FLDTKTBCRECID
|If not provided, the price is taken from the Item.
|The Contract ID. If not supplied, will be taken from the Account's default contract.
| tickets
| RECID
|-
|-
| Billable
| Emp. REC ID
| FLDSLPBILLKIND
| FLDTKTWORKERID
| B - Billable<br>
|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.
N - Not Billable<br>
| tickets
If not provided, will be set according to the Contract type.
| WORKERID
|-
| Priority
| FLDTKTPRIORITY
| 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
| PRIORITY
|-
|-
| Billed
| Ticket Number
| FLDSLPSTAGE
| FLDTKTTICKETNO
| D - Draft
| The Ticket number. If passed, must be an existing Ticket, and this will update the Ticket with the details in the transaction.
B - Billed
| tickets
| TICKETNO
|-
|-
| Field1
|Description
| FLDSLPUSER1
|FLDTKTPROBLEM
| User defined field
|This is the Ticket Description. This is a mandatory field, which must contain text.
| tickets
| PROBLEM
|-
|-
| Create User
|Ticket Type
| FLDSLPCREATEUSER
|FLDTKTKIND
| External software name which created the Charge
|Ticket Type (optional). The Ticket Type string should be passed. If not provided, default is used.
|}
| tickets
 
| KIND
===Item Fields===
 
The table below lists the most important Item parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Source
! '''Database Field Name'''
|FLDTKTSOURCE
! '''Comment'''
|
| tickets
| SOURCE
|-
|-
| Record ID
|Estimated Duration Time
| FLDITMRECID
|FLDTKTSCHEDLENESTIM
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.
|Estimated duration time for the Ticket in minutes.
| tickets
| SCHEDLENESTIM
|-
|-
| Item Group
|Show Ticket in Dispatcher
| FLDITMITEMTYPEGROUP
|FLDTKTFORDISPATCH
|The Item Group to be linked to the Charge. This is a mandatory field:<br>
|Possible values: Yes/No
F - Labor (Fee)<br>
| tickets
X - Expense<br>
| FORDISPATCH
P - Part
|-
|-
| Item Code
|Status
| FLDITMITEMNO
|FLDTKTSTATUS
|The item code is a mandatory field
|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
|-
|-
| Item Name
|Created by User
| FLDITMNAME
|FLDTKTCREATEUSER
| The item name is a mandatory field
|Should contain the external software name which created the Ticket
| tickets
| CREATEUSER
|-
|-
| Price Source
|Due Date
| FLDITMPRICESOURCE
|FLDTKTDUEDATETIME
| F - Fixed Price<br>
|Due date for the Ticket.
W - by Employee Rate
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
|-
|-
| Price per Hour/Unit
|Resolution
| FLDITMUNITISHOUR
|FLDTKTSOLUTION
| This field indicated whether the price is unitbased or hours-based.<br>
|Ticket resolution text
Y - by Hours<br>
| tickets
N - by Units<br>
| SOLUTION
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
|}
|-
 
|Price
===Charge Fields===
|FLDITMUNITPRICE
The table below lists the most important Charge parameters and behavior.
|Must be a valid numeric value
 
Contract-price Charges have some special characteristics (see comments marked by * in
the table below):
 
{| class="wikitable"
|-
|-
|Cost
! '''Field Name'''
|FLDITMSTANDARDCOST
! '''API Field Name'''
|The date for the Charge. This is an optional parameter. If not provided, the current date will
! '''Comment'''
be used. Should be passed in date format. e.g. MM/DD/YYYY
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
|Taxes
| Record ID
|FLDITMTAXCODE1<br>
| FLDSLPRECID
FLDITMTAXCODE2<br>
|The Charge record ID. If provided, the existing Charge will be updated. Otherwise, this will be
FLDITMTAXCODE3
added as a new Charge.
|You can pass up to 3 different tax codes.
| slips
| RECID
|-
|-
|Description by Name
| Charge Source
|FLDITMDESCBYNAME
| FLDSLPSOURCERECID
|Y - take the description from the name field<br>
|The Charge source is the entity for which the charge is created.<br>
N - take the description from the Description field
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
|-
|-
|Description
| Account REC ID
|FLDITMDESC
| FLDSLPCARDID
|If not provided, the description is taken from the name.
|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
|-
|-
|Suspend
| Employee REC ID
|FLDITMSUSPENDED
| FLDSLPWORKERID
|Indicated whether this item is currently suspended:<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.
Y - yes<br>
| slips
N - no
| WORKERID
|-
|-
|Notes
| Charged Item
|FLDITMNOTES
| 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
|-
|-
|Field1
|Ticket REC ID
|FLDITMUSER1
|FLDSLPTICKETID
|User defined field
|The Ticket ID to be linked to the Charge.
*Not relevant for Contract-price Charge
| slips
| TICKETID
|-
|-
|Create User
|Date
|FLDITMCREATEUSER
|FLDSLPSLIPDATE
|External software name which created the Charge
|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
|-
|-
| Created by User
|Description
| FLDTKTCREATEUSER
|FLDSLPDESC
| Should contain the external software name which created the Ticket
|The Charge Description. If not provided, will be taken from the Item's description.
|}
| slips
 
| DESCRIPTION
===History Note Fields===
The table below lists the most important History Note parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
|Hours
! '''Database Field Name'''
|FLDSLPHOURSAMOUNT
! '''Comment'''
|This is the amount of hours
| slips
| HOURSAMOUNT
|-
|-
| Record ID
|Units
| FLDHISRECID
|FLDSLPQUANTITY
|The History Note record ID. If provided, the existing History Note will be updated. otherwise, this will be added as a new History Note.
|This is the quantity of units
| slips
| QUANTITY
|-
|-
| Date
|Adjust Amount
| FLDHISNOTEDATETIME
|FLDSLPADJUSTAMOUNT
|Any date format, such as DD/MM/YYYY
|Discount/Markup amount. Positive number means Markup, negative number means Discount.
| slips
| ADJUSTAMOUNT
|-
|-
| Description
|Adjust Percent
| FLDHISDESCRIPTION
|FLDSLPADJUSTPERCENT
| The Description text
|Discount/Markup in percentage, must be between (-100) - 100. Positive number means Markup, negative number means Discount.
| slips
| ADJUSTPERCENT
|-
|-
| Opportunity/Ticket/Contract
|Adjust Type'''
| FLDHISLINKRECID
|FLDSLPADJUSTTYPE
| Link to Opportunity or Ticket or Contract
|The Discount/Markup type:<br>
A - total amount adjustment <br>
U - per unit adjustment<br>
P - percent  <br>
|slips
|ADJUSTTYPE
|-
|-
| Field
|From Time
| FLDHISUSER1
|FLDSLPSTARTTIME
| User defined field
|From time for labor Charges e.g. 12:06
*Not relevant for Contract-price Charge
| slips
| FROMTIME
|-
|-
| About
|To Time
| FLDHISKIND
|FLDSLPENDTIME
| Optional field
|From time for labor Charges e.g. 14:50
* Not relevant for Contract-price Charge
| slips
| TOTIME
|-
|-
|Employee
|Price/Rate
|FLDHISWORKERID
|FLDSLPPRICE
|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.
|If not provided, the price is taken from the Item.
| slips
| PRICE
|-
|-
|Account
| Billable
|FLDHISCARDID
| FLDSLPBILLKIND
|The Account record ID (20 chars). The Account Rec ID can be taken from:
| B - Billable<br>
#Account Notes tab, at the bottom, right-click the REC ID field and use Copy. <br>e.g. CRDVQYSOD1B4U4HZIQJJ
N - Not Billable<br>
#Using ODBC to pull information from the database
If not provided, will be set according to the Contract type.
#From the Email Response when adding new Account with the API
| slips
| BILLKIND
|-
|-
|Contact
| Billed
|FLDHISCONTACTID
| FLDSLPSTAGE
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
| D - Draft
B - Billed
| slips
| STAGE
|-
|-
|Document
| Field1
|FLDHISDOCID
| FLDSLPUSER1
|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
| slips
| USER1
|-
|-
|Created by User
| Create User
|FLDHISCREATEUSER
| FLDSLPCREATEUSER
|Name of the external software which created this History Note
| External software name which created the Charge
| slips
| CREATEUSER
|}
|}


===Asset Fields===
===Item Fields===
The table below lists the most important Asset parameters and behavior:
 
The table below lists the most important Item 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
| FLDITMRECID
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
|The Item record ID. If provided, the existing item will be updated. Otherwise, this will be added as a new item.
| Items
| RECID
|-
|-
| Asset Type
| Item Group
| FLDASTASSETTYPE
| FLDITMITEMTYPEGROUP
|The Type field is mandatory:<br>
|The Item Group to be linked to the Charge. This is a mandatory field:<br>
Hardware = H<br>
F - Labor (Fee)<br>
Software = S<br>
X - Expense<br>
Other = T
P - Part
| Items
| ITEMTYPEGROUP
|-
|-
| Asset Name
| Item Code
| FLDASTNAME
| FLDITMITEMNO
|  
|The item code is a mandatory field
| Items
| ITEMNO
|-
|-
| Status
| Item Name
| FLDASTSTATUS
| FLDITMNAME
| Mandatory field.<br>
| The item name is a mandatory field
Active = A<br>
| Items
Not Active = N<br>
| NAME
If not provided, default Active is used.
|-
|-
| Record ID
| Price Source
| FLDASTRECID
| FLDITMPRICESOURCE
| If provided, must exist in the database. Ignored if empty
| F - Fixed Price<br>
|-
W - by Employee Rate
| Serial No.
| Items
| FLDASTSERIALNO
|  
|  
|-
|-
|Account
| Price per Hour/Unit
|FLDASTACCRECID
| FLDITMUNITISHOUR
|The Account which is linked to the Asset
| 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
|-
|-
|Contact
|Price
|FLDASTCONTACTRECID
|FLDITMUNITPRICE
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
|Must be a valid numeric value
| Items
| UNITPRICE
|-
|-
|Created by user
|Cost
|FLDASTCREATEUSER
|FLDITMSTANDARDCOST
|Name of external software which created this Asset
|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
|-
|-
|Purchase Date
|Taxes
|FLDASTCUSTPURDATE
|FLDITMTAXCODE1<br>
|Any date format, such as DD/MM/YYYY
FLDITMTAXCODE2<br>
FLDITMTAXCODE3
|You can pass up to 3 different tax codes.
| Items, Taxes
| Items.TAXCODES, Taxes.TAXNUM
|-
|-
|Purchased From Us
|Description by Name
|FLDASTCUSTPURFROMUS
|FLDITMDESCBYNAME
|Possible values: Y/N.<br>
|Y - take the description from the name field<br>
If not provided, default value Y is used.
N - take the description from the Description field
| Items
| DESCBYNAME
|-
|-
| Purchase Invoice #
|Description
| FLDASTCUSTPUROURINV
|FLDITMDESC
|  
|If not provided, the description is taken from the name.
| Items
| DESCRIPTION
|-
|-
| Customer PO
|Suspend
| FLDASTCUSTPURPO
|FLDITMSUSPENDED
|  
|Indicated whether this item is currently suspended:<br>
Y - yes<br>
N - no
| Items
| SUSPENDED
|-
|-
| Purchase Price
|Notes
| FLDASTCUSTPURPRICE
|FLDITMNOTES
|  
|
| Items
| NOTES
|-
|-
| Delivered Date
|Field1
| FLDASTDELIVEDATE
|FLDITMUSER1
|  
|User defined field
| Items
| USER1
|-
|-
| Description
|Create User
| FLDASTDESC
|FLDITMCREATEUSER
|External software name which created the Charge
| Items
|  
|  
|-
|-
| Installed By
| Created by User
| FLDASTINSTALBY
| 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:
 
{| class="wikitable"
|-
|-
| Installed Date
! '''Field Name'''
| FLDASTINSTALDATE
! '''API Field Name'''
|
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| License Codes
| Record ID
| FLDASTLICENSECODE
| 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
|-
|-
| License Keys
| Date
| FLDASTLICENSEKEY
| FLDHISNOTEDATETIME
|  
|Any date format, such as DD/MM/YYYY
| NoteBook
| NOTEDATETIME
|-
|-
| License Notes
| Description
| FLDASTLICENSENOTES
| FLDHISDESCRIPTION
|  
| The Description text
| NoteBook
| DESCRIPTION
|-
|-
| Location
| Opportunity/Ticket/Contract
| FLDASTLOCATION
| FLDHISLINKRECID
|  
| Link to Opportunity or Ticket or Contract
| NoteBook
| LINKRECID
|-
|-
| Manufacturer
| Field
| FLDASTMANUFACTURER
| FLDHISUSER1
|  
| User defined field
| NoteBook
| USER1
|-
|-
| Mnf Serial No.
| About
| FLDASTMNFSERIALNO
| FLDHISKIND
|  
| Optional field
| NoteBook
| KIND
|-
|-
| Model
|Employee
| FLDASTMODEL
|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
|-
|-
| Notes
|Account
| FLDASTNOTES
|FLDHISCARDID
|  
|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
|-
|-
| Quantity
|Contact
| FLDASTQUANTITY
|FLDHISCONTACTID
| If not provided, default value of 1 is used.
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
| NoteBook
| CONTACTID
|-
|-
| Last Update By
|Document
| FLDASTUPDATEUSER
|FLDHISDOCID
| Name of externals software which performed the update
|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
|-
|-
| Field1
|Created by User
| FLDASTUSER1
|FLDHISCREATEUSER
| User defined field
|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"
|-
|-
| Field2
! '''Field Name'''
| FLDASTUSER2
! '''API Field Name'''
| User defined field
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Field3
| Asset Code
| FLDASTUSER3
| FLDASTASSETCODE
| User defined field
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
| assets
| ASSETCODE
|-
|-
| Field4
| Asset Type
| FLDASTUSER4
| FLDASTASSETTYPE
| User defined field
|The Type field is mandatory:<br>
Hardware = H<br>
Software = S<br>
Other = T
| assets
| ASSETTYPE
|-
|-
| Field5
| Asset Name
| FLDASTUSER5
| FLDASTNAME
| User defined field
|  
| assets
| NAME
|-
|-
| Date1
| Status
| FLDASTUSERDATE1
| FLDASTSTATUS
| User defined field
| Mandatory field.<br>
Active = A<br>
Not Active = N<br>
If not provided, default Active is used.
| assets
| STATUS
|-
|-
| Number1
| Record ID
| FLDASTUSERNUMBER1
| FLDASTRECID
| User defined field
| If provided, must exist in the database. Ignored if empty
| assets
| RECID
|-
|-
| Vendor Purchased Date
| Serial No.
| FLDASTVENDORDATEPURC
| FLDASTSERIALNO
|  
|  
| assets
| SERIALNO
|-
|-
| Vendor Invoice #
|Account
| FLDASTVENDORINVNO
|FLDASTACCRECID
|  
|The Account which is linked to the Asset
| assets
| ACCOUNTRECID
|-
|-
| Vendor PO
|Contact
| FLDASTVENDOROURPO
|FLDASTCONTACTRECID
|  
|The Contact for this Account. If not provided, the main Contact for the Account is taken.
| assets
| CONTACTRECID
|-
|-
| Vendor Price
|Created by user
| FLDASTVENDORPRICE
|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.<br>
If not provided, default value Y is used.
| assets
| CUSTPURCHASEDFROMUS
|-
| Purchase Invoice #
| FLDASTCUSTPUROURINV
|  
|  
| assets
| CUSTPURCHASEDOURINV
|-
|-
| Vendor
| Customer PO
| FLDASTVENDORRECID
| FLDASTCUSTPURPO
|  
|  
| assets
| CUSTPURCHASEPO
|-
|-
| Vendor Serial No.
| Purchase Price
| FLDASTVENDORSERNO
| FLDASTCUSTPURPRICE
|  
|  
| assets
| CUSTPURCHASEPRICE
|-
|-
| Vendor Warranty Exp. Date
| Delivered Date
| FLDASTVENDORWARREXP
| FLDASTDELIVEDATE
| Any date format, such as DD/MM/YYYY
|  
| assets
| DELIVERDATE
|-
| Description
| FLDASTDESC
|
| assets
| DESCRIPTION
|-
|-
| Version
| Installed By
| FLDASTVERSION
| FLDASTINSTALBY
|  
|  
| assets
| INSTALLEDBY
|-
|-
| Warranty/License Exp.
| Installed Date
| FLDASTWARREXPDATE
| FLDASTINSTALDATE
| Any date format, such as DD/MM/YYYY
|  
| assets
| INSTALLEDDATE
|-
|-
| Date
| License Codes
|
| FLDASTLICENSECODE
|
|  
|}
| assets
 
| LICENSECODE
===Calendar Fields===
The table below lists the most important Calendar parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
| License Keys
! '''Database Field Name'''
| FLDASTLICENSEKEYS
! '''Comment'''
|
| assets
| LICENSEKEYS
|-
|-
| Record ID
| License Notes
| FLDEVTRECID
| FLDASTLICENSENOTES
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this
|  
will be added as a new Appointment/Task.
| assets
| LICENSENOTES
|-
|-
| Event Type
| Location
| FLDEVTWRITETOID
| FLDASTLOCATION
|The Event type is a mandatory field.<br>
|  
Appointment = 1<br>
| assets
Task = 2
| LOCATION
|-
|-
| Employee
| Manufacturer
| FLDEVTWORKERID
| FLDASTMANUFACTURER
| The Task/Appointment owner (for private events)
|  
| assets
| MANUFACTURER
|-
|-
| Private: User
| Mnf Serial No.
| FLDEVTPRIVATEID
| FLDASTMNFSERIALNO
| Possible values: Y/N<br>
|  
If an Employee was set, this field must be Y
| assets
| MNFSERIALNO
|-
|-
| Account
| Model
| FLDEVTCARDID
| FLDASTMODEL
| 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
| MODEL
#ODBC to pull information from the database
#The automated email response when adding a
new Account with the API
|-
|-
| Contact
| Notes
| FLDEVTCONTACTID
| FLDASTNOTES
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
|  
| assets
| NOTES
|-
|-
|Document
| Quantity
|FLDEVTDOCID
| FLDASTQUANTITY
|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.
| If not provided, default value of 1 is used.
| assets
| QUANTITY
|-
|-
|Done Indication
| Last Update By
|FLDEVTDONE
| FLDASTUPDATEUSER
|Possible values: Y/N
| Name of externals software which performed the update
| assets
| UPDATEUSER
|-
|-
|Date
| Field1
|FLDEVTEVENTDATE
| FLDASTUSER1
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not
| User defined field
provided, the current date will be used.
| assets
| USER1
|-
|-
|Description
| Field2
|FLDEVTFREETEXT
| FLDASTUSER2
|
| User defined field
| assets
| USER2
|-
|-
|Time: Start
| Field3
|FLDEVTFROMTIME
| FLDASTUSER3
|Mandatory field
| User defined field
| assets
| USER3
|-
|-
| Time: End
| Field4
| FLDEVTTOTIME
| FLDASTUSER4
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
| User defined field
| assets
| USER4
|-
|-
| Opportunity/Ticket
| Field5
| FLDEVTLINKRECID
| FLDASTUSER5
| Linked Ticket/Opportunity/Contract/Asset
| User defined field
| assets
| USER5
|-
|-
| Field1
| Date1
| FLDEVTFAMILY
| FLDASTUSERDATE1
| User Defined field
| User defined field
| assets
| USERDATE1
|-
|-
| Field2
| Number1
| FLDEVTACTION
| FLDASTUSERNUMBER1
| User Defined field
| User defined field
| assets
| USERNUMBER1
|-
|-
| Field3
| Vendor Purchased Date
| FLDEVTPLACE
| FLDASTVENDORDATEPURC
| User Defined field
|  
| assets
| VENDORDATEPURCHASED
|-
|-
| Field4
| Vendor Invoice #
| FLDEVTPLACE1
| FLDASTVENDORINVNO
| User Defined field
|  
| assets
| VENDORINVOICENO
|-
|-
| Field5
| Vendor PO
| FLDEVTPLACE2
| FLDASTVENDOROURPO
| User Defined field
|  
| assets
| VENDOROURPO
|-
|-
| Created by User
| Vendor Price
| FLDEVTCREATEUSERID
| FLDASTVENDORPRICE
| Name of external software which created the event
|  
| assets
| VENDORPRICE
|-
|-
| Last Update: By User
| Vendor
| FLDEVTUPDATEUSER
| FLDASTVENDORRECID
| Name of external software which updated the
|  
event
| assets
|}
| VENDORRECID
 
 
===Opportunity Fields===
The table below lists the most important Opportunity parameters and behavior:
 
{| class="wikitable"
|-
|-
! '''Field Name'''
| Vendor Serial No.
! '''Database Field Name'''
| FLDASTVENDORSERNO
! '''Comment'''
|
| assets
| VENDORSERIALNO
|-
|-
| Record ID
| Vendor Warranty Exp. Date
| FLDOPPRECID
| FLDASTVENDORWARREXP
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.
| Any date format, such as DD/MM/YYYY
| assets
| VENDORWARRANTYEXP
|-
|-
| Opportunity Name
| Version
| FLDOPPNAME
| FLDASTVERSION
| Mandatory field.
|  
| assets
| VERSION
|-
|-
| Opportunity ID
| Warranty/License Exp.
| FLDOPPUSERID
| FLDASTWARREXPDATE
| Optional (Oppty ID)
| Any date format, such as DD/MM/YYYY
| assets
| WARRANTYEXPDATE
|-
|-
| Account
| Date
| 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
#ODBC to pull information from the database
#The automated email response when adding a new Account with the API
|-
| Contact
| FLDEVTCONTACTID
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
|-
| Source
| FLDOPPSOURCE
|  
|  
|
|}
===Calendar Fields===
The table below lists the most important Calendar parameters and behavior:
{| class="wikitable"
|-
|-
|Document
! '''Field Name'''
|FLDEVTDOCID
! '''API Field Name'''
|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.
! '''Comment'''
|-
! '''Physical DB Tables'''
|Done Indication
! '''Physical DB Fields'''
|FLDEVTDONE
|Possible values: Y/N
|-
|-
|Close Date
| Record ID
|FLDOPPCLOSEDATE
| 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
|-
|-
|Manager
| Event Type
|FLDOPPWORKERID
| FLDEVTWRITETOID
|The Manager's REC ID
|The Event type is a mandatory field.<br>
Appointment = 1<br>
Task = 2
| Events
| WRITE_TO_ID
|-
|-
|Open Date
| Employee
|FLDOPPOPENDATE
| FLDEVTWORKERID
|
| The Task/Appointment owner (for private events)
| Events
| WORKER_ID
|-
|-
| Close By Date
| Private: User
| FLDOPPESTDATE
| FLDEVTPRIVATEID
| Opportunity must be closed by this date
| If an Employee was set, this field contain the same REC ID as the Employee field (FLDEVTWORKERID).<br>
| Events
| PRIVATE_ID
|-
|-
| Amount
| Account
| FLDOPPAMOUNT
| FLDEVTCARDID
|  
| 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
|-
|-
| Probability %
| Contact
| FLDOPPPROBABILITY
| FLDEVTCONTACTID
|  
| The Contact for this Account. If not provided, the main Contact for the Account is taken.
| Events
| CONTACTID
|-
|-
| Stage
|Document
| FLDOPPSTAGE
|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
|-
|-
| Status
|Done Indication
| FLDOPPSTATUS
|FLDEVTDONE
|  
|Possible values: Y/N
| Events
| DONE
|-
|-
| Closing Amount
|Date
| FLDOPPCLOSEAMOUNT
|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
|Description
| FLDOPPDESCRIPTION
|FLDEVTFREETEXT
|  
|
| Events
| FREE_TEXT
|-
|-
| Opportunity Type
|Time: Start
| FLDOPPKIND
|FLDEVTFROMTIME
|  
|Mandatory field
| Events
| FROM_TIME
|-
|-
| Opportunity Reason
| Time: End
| FLDOPPREASON
| FLDEVTTOTIME
|  
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
| Events
| TO_TIME
|-
|-
| Note
| Opportunity/Ticket
| FLDOPPNOTES
| FLDEVTLINKRECID
|  
| Linked Ticket/Opportunity/Contract/Asset
| Events
| LINKRECID
|-
|-
| Territory
| Field1
|  FLDOPPREGION
| FLDEVTFAMILY
|
|-
Field1
| FLDEVTFAMILY
| User Defined field
| User Defined field
| Events
| FAMILY
|-
|-
| Field2
| Field2
| FLDEVTACTION
| FLDEVTACTION
| User Defined field
| User Defined field
| Events
| ACTION
|-
|-
| Field3
| Field3
| FLDEVTPLACE
| FLDEVTPLACE
| User Defined field
| Events
| PLACE
|-
| Field4
| FLDEVTPLACE1
| User Defined field
| Events
| PLACE1
|-
| Field5
| FLDEVTPLACE2
| User Defined field
| User Defined field
| Events
| PLACE2
|-
|-
| Created by User
| Created by User
| FLDEVTCREATEUSERID
| FLDEVTCREATEUSERID
| Name of external software which created the event
| Name of external software which created the event
| Events
| CREATEUSERID
|-
|-
| Last Update: By User
| Last Update: By User
| FLDEVTUPDATEUSER
| FLDEVTUPDATEUSER
| Name of external software which updated the event
| Name of external software which updated the
event
| Events
| UPDATE_USER
|}
|}


===Document Fields===
===Opportunity Fields===
The table below lists the Document parameters and behavior:
The table below lists the most important Opportunity 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'''
|-
|-
| Record ID
| Record ID
| FLDDOCRECID
| FLDOPPRECID
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.
| Opps
| RECID
|-
|-
| Document Date
| Opportunity Name
| FLDDOCDOCDATE
| FLDOPPNAME
| 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
| Mandatory field.
| Opps
| NAME
|-
|-
| Subject
| Opportunity ID
| FLDDOCDOCUMENTDESC
| FLDOPPUSERID
|  
| Optional (Oppty ID)
| Opps
| USERID
|-
|-
| Linked Record
| Account
| FLDDOCLINKRECID
| FLDOPPCARDID
| The RECID of a linked object. Each Document can be linked to one of the following objects:
| The Account record ID (20 chars). The Account REC ID can be taken from:
*Ticket
#Account Notes tab, at the bottom by right-clicking the REC ID field and selecting Copy
*Contract
#Data Retrieval API to pull information from the database
*Opportunity
#The automated email response when adding a new Account with the API
*Knowledge Base Article
| Opps
*Asset
| CARDID
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
#ODBC to pull information from the database
#The automated email response when adding a new object with the API.
|-
|-
| Account Rec ID
| Contact
| FLDDOCCARDID
| FLDOPPCONTACTID
| 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
#ODBC to pull information from the database
#The automated email response when adding a new Account with the API
|-
| Contact REC ID
| FLDDOCCONTACTID
| 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.
| Opps
| CONTACTID
|-
|-
|Field1
| Source
|FLDDOCTRANSPORT
| FLDOPPSOURCE
|User Defined field
|  
| Opps
| SOURCE
|-
|-
|Field2
|Close Date
|FLDDOCFOLDER
|FLDOPPCLOSEDATE
|User Defined field
|
| Opps
| CLOSEDATE
|-
|-
|Field3
|Manager
|FLDDOCUMENTPLACE
|FLDOPPWORKERID
|User Defined field
|The Manager's REC ID
| Opps
| WORKERID
|-
|-
|File Path + File name
|Open Date
|FLDDOCDOCUMENTNAME
|FLDOPPOPENDATE
|The Document path
|
| Opps
| OPENDATE
|-
|-
|Category
| Close By Date
|FLDDOCTREEID
| FLDOPPESTDATE
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree
| Opportunity must be closed by this date
| Opps
| ESTDATE
|-
|-
| Employee REC ID
| Amount
| FLDDOCWORKERID
| FLDOPPAMOUNT
| 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.
|  
| Opps
| AMOUNT
|-
| Probability %
| FLDOPPPROBABILITY
|
| Opps
| PROBABILITY
|-
|-
| Created by User
| Stage
| FLDDOCCREATEUSER
| FLDOPPSTAGE
| Name of external software which created the document
|  
| Opps
| STAGE
|-
|-
| Last Update: By User
| Status
| FLDDOCUPDATEUSER
| FLDOPPSTATUS
| Name of external software which updated the document
|
|}
| 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
|-
| 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:
#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
|-
| Account Rec ID
| FLDDOCCARDID
| 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
|-
| 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===
===Knowledge Base Article Fields===
The table below lists the Knowledge Base Article parameters and behavior:
The table below lists the Knowledge Base Article parameters and behavior:
 
{| class="wikitable"
|-
! '''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.<br>
Possible values:<br>
*'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===
<u>These error codes are returned when calling the CmtGetDescriptionByStatus function:</u><br>
1001 Invalid value for this Data Kind. <br>
1002 Invalid DATA 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 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>
1005 Invalid LOG buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length<br>
1006 Invalid RECID buffer received. It should be at least 20 characters.<br>
1007 Invalid external software name received. Specify a unique name that identifies your software.<br>
1008 Cannot process the transaction. Make sure to call the INIT procedure at least once prior to sending transactions for processing.<br>
1009 Path specified for RangerMSP DB folder not found.<br>
1010 Path specified for RangerMSP DB folder found, but its contents do not reflect a valid DB folder.<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>
1013 Software name is missing. Make sure you specify a name that identifies your software.<br>
1014 Software name is less than 3 characters long. Make sure you specify your software name has 3 to 15 characters.<br>
1015 Software name is too long. Make sure your software name has 3 to 15 characters.<br>
1016 Invalid CODES buffer received. Make sure you've allocated the buffer correctly and that you've passed the correct buffer length<br>
1017 Invalid Record ID received. Record ID should consist of exactly 20 characters.<br>
1018 The Record ID (RECID) is missing.<br>
1019 Invalid RECID received. Its value cannot point to any entity in RangerMSP.<br>
1020 The size for the result buffer is too small. Increase its size and try again.<br>
1021 CmtDbQry.dll not found.<br>
1022 API calls cannot currently be processed due to periodic maintenance. Please try again in a few moments.<br>
1023 A newer API version was found. Please restart any applications that use the RangerMSP API and try again. <br>
1100 Database access error.<br>
1501 Cannot delete this type of record<br>
1502 This record cannot be deleted by  a customer.<br>
2000 General Error Occurred<br>


{| class="wikitable"
<u>These error codes are returned when calling the CRMQueryDataRequest function:</u><br>
|-
'''110001''' The application entity for the query (Subject) is missing.<br>
! '''Field Name'''
'''110002''' Invalid XML request. Couldn’t find the XML request name: CRMQueryDataRequest<br>
! '''Database Field Name'''
'''110003''' Invalid value was requested for the record count.<br>
! '''Comment'''
'''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>
| Record ID
'''110006''' This Code is not exists in RangerMSP<br>
| FLDKBARECID
'''110008''' Invalid application entity for the query (Subject) was received<br>
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.
'''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>
| Document Date
'''110021''' Empty result set. No records were found for the query<br>
| 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
|FLDDOCUPDATEUSER
|Name of external software which updated the document
|}


<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>


===Error Codes Description===
<u>These error codes are returned when calling the CmtGetDescriptionByStatus function:</u><br>
'''1000''' CmtDbEng.dll not found.<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>
'''1003''' Invalid MAP buffer received. Make sure you have allocated the buffer correctly and
that you have passed the correct buffer length.<br>
'''1004''' Invalid REC ID buffer received. Make sure you have allocated the buffer correctly
and that you have passed the correct buffer length.<br>
'''1005''' Invalid LOG buffer received. Make sure you've allocated the buffer correctly and
that you've passed the correct buffer length.<br>
'''1006''' Invalid REC ID buffer received. It should be at least 20 characters.<br>
'''1007''' Invalid external software name received. Specify a unique name that identifies your
software.<br>
'''1008''' Cannot process the transaction. Make sure to call the INIT procedure at least once
prior to sending transactions for processing.<br>
'''1009''' Path specified for Commit DB folder not found.<br>
'''1010''' Path specified for Commit DB folder found, but its contents do not reflect a valid DB
folder.<br>
'''1011''' The RED ID received for the employee/user was not found in Commit, is invalid or is
related to an inactive employee record.<br>
'''1012''' Error registering software.<br>
'''1013''' Software name is missing. Make sure you specify a name that identifies your
software.<br>
'''1014''' Software name is less than 3 characters long. Make sure you enter a software name
that has 3 to 15 characters.<br>
'''1015''' Software name is too long. Make sure your software name has 3 to 15 characters.<br>
'''1100''' Database access error.<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,397: 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,421: 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,440: 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,458: 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,474: 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