API Reference Manual: Difference between revisions

From RangerMSP Wiki - PSA software for MSPs and IT services providers
Jump to navigation Jump to search
 
(15 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 ==
The Data Retrieval API is available starting with CommitCRM 5.5.''<br><br>
The Data Retrieval API is available starting with RangerMSP 5.5.''<br><br>
The Data Retrieval API should be used for read-only purposes. Pulling data from the database using the API should be done using the following steps:
The Data Retrieval API should be used for read-only purposes. Pulling data from the database using the API should be done using the following steps:


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


====CmtGetQueryRecIds Request====
====CmtGetQueryRecIds Request====
The commitcrmxmlqueryrequest XML contains the following sections:
The crmxmlqueryrequest XML contains the following sections:
* Query Data Type – here you should enter which data type you want to query.
* 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.
* SQL Query – here you build the SQL Query to be executed.


commitcrmxmlqueryrequest XML template:
crmxmlqueryrequest XML template:


  <?xml version="1.0" ?>  
  <?xml version="1.0" ?>  
  <?commitcrmxmlqueryrequest version="1.0" ?>  
  <?crmxmlqueryrequest version="1.0" ?>  
  <CommitCRMQueryDataRequest >
  <CRMQueryDataRequest >
     <ExternalApplicationName>Enter you application name here</ExternalApplicationName>  
     <ExternalApplicationName>Enter you application name here</ExternalApplicationName>  
     <Datakind> one of the supported data types </Datakind>
     <Datakind> one of the supported data types </Datakind>
Line 123: Line 123:
         </Order>
         </Order>
       </Query>
       </Query>
  </CommitCRMQueryDataRequest >
  </CRMQueryDataRequest >


See more details about each XML token below.
See more details about each XML token below.
Line 211: Line 211:


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


Where:
Where:
Line 232: Line 232:
Example of a request to read an Account:
Example of a request to read an Account:
  <?xml version="1.0" ?>
  <?xml version="1.0" ?>
  <?commitcrmxmlgetrecorddatarequest version = "1.0" ?>
  <?crmxmlgetrecorddatarequest version = "1.0" ?>
   <CommitCRMGetRecordDataRequest>
   <CRMGetRecordDataRequest>
     <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
     <ExternalApplicationName>MySoftwareName</ExternalApplicationName>
     <GetRecordByRecId>CRDC1VTHMDF627HJECG7</GetRecordByRecId>
     <GetRecordByRecId>CRDC1VTHMDF627HJECG7</GetRecordByRecId>
Line 242: Line 242:
       FLDCRDCITY,
       FLDCRDCITY,
     </SelectFieldsList>
     </SelectFieldsList>
   </CommitCRMGetRecordDataRequest>
   </CRMGetRecordDataRequest>


The commitcrmxmlgetrecorddatarequest XML contains the following parameters:
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.
* '''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.
* '''Select Fields List''' – here you build the list of fields to be returned for the requested entity.
Line 253: Line 253:


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


Where:
Where:
Line 270: Line 270:
'''Account Data'''
'''Account Data'''
  <?xml version="1.0" ?>
  <?xml version="1.0" ?>
  <?commitcrmxmlgetrecorddataresponse version = "1.0" ?>  
  <?crmxmlgetrecorddataresponse version = "1.0" ?>  
   <CommitCRMGetRecordDataResponse>
   <CRMGetRecordDataResponse>
     <Status>SUCCESS</Status>
     <Status>SUCCESS</Status>
     <ResultCodes></ResultCodes>
     <ResultCodes></ResultCodes>
     <ResultMessage></ResultMessage>
     <ResultMessage></ResultMessage>
     <RecordData>
     <RecordData>
       <FLDCRDCOMPANY> <![CDATA[Commit Business Solutions ltd.]]></FLDCRDCOMPANY>
       <FLDCRDCOMPANY> <![CDATA[ Business Solutions ltd.]]></FLDCRDCOMPANY>
       <FLDCRDCONTACT> <![CDATA[John Smith]]> </FLDCRDCONTACT>
       <FLDCRDCONTACT> <![CDATA[John Smith]]> </FLDCRDCONTACT>
       <FLDCRDADDRESS1> <![CDATA[107 Severin Street]]> </FLDCRDADDRESS1>
       <FLDCRDADDRESS1> <![CDATA[107 Severin Street]]> </FLDCRDADDRESS1>
       <FLDCRDCITY> <![CDATA[London]]> </FLDCRDCITY>
       <FLDCRDCITY> <![CDATA[London]]> </FLDCRDCITY>
     </RecordData>
     </RecordData>
   </CommitCRMGetRecordDataResponse>
   </CRMGetRecordDataResponse>


'''Ticket Data'''
'''Ticket Data'''
  <?xml version="1.0" encoding="ISO-8859-8" ?>
  <?xml version="1.0" encoding="ISO-8859-8" ?>
  <?commitcrmxmlgetrecorddataresponse version = "1.0" ?>
  <?crmxmlgetrecorddataresponse version = "1.0" ?>
   <CommitCRMGetRecordDataResponse>
   <CRMGetRecordDataResponse>
     <Status>SUCCESS</Status>
     <Status>SUCCESS</Status>
     <ResultCodes></ResultCodes>
     <ResultCodes></ResultCodes>
Line 295: Line 295:
       <FLDTKTUPDATEDATE>24/01/2011  18:03</FLDTKTUPDATEDATE>
       <FLDTKTUPDATEDATE>24/01/2011  18:03</FLDTKTUPDATEDATE>
     </RecordData>
     </RecordData>
   </CommitCRMGetRecordDataResponse>
   </CRMGetRecordDataResponse>


===CmtGetFieldAttributesByRecId===
===CmtGetFieldAttributesByRecId===
Line 304: Line 304:


===== CmtGetFieldAttributesByRecId Request=====
===== CmtGetFieldAttributesByRecId Request=====
The commitcrmxmlgetfieldattributesrequest XML contains the requested Field ID:
The crmxmlgetfieldattributesrequest XML contains the requested Field ID:


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


Where:
Where:
Line 323: Line 323:
The CmtGetFieldAttributesByRecId function returns the result in XML format as follows
The CmtGetFieldAttributesByRecId function returns the result in XML format as follows
  <?xml version="1.0" ?>
  <?xml version="1.0" ?>
  <?commitcrmxmlgetfieldattributesresponse version = "1.0" ?>
  <?crmxmlgetfieldattributesresponse version = "1.0" ?>
  <CommitCRMGetFieldAttributesResponse>
  <CRMGetFieldAttributesResponse>
   <Status> </Status>
   <Status> </Status>
   <ResultCodes></ResultCodes>
   <ResultCodes></ResultCodes>
Line 337: Line 337:
     <DISPLAYSYMBOL></DISPLAYSYMBOL>
     <DISPLAYSYMBOL></DISPLAYSYMBOL>
   </RecordData>
   </RecordData>
  </CommitCRMGetFieldAttributesResponse>
  </CRMGetFieldAttributesResponse>




Line 350: Line 350:


  <?xml version="1.0" ?>
  <?xml version="1.0" ?>
  <?commitcrmxmlgetfieldattributesresponse version = "1.0" ?>
  <?crmxmlgetfieldattributesresponse version = "1.0" ?>
  <CommitCRMGetFieldAttributesResponse>
  <CRMGetFieldAttributesResponse>
   <Status>SUCCESS</Status>
   <Status>SUCCESS</Status>
   <ResultCodes></ResultCodes>
   <ResultCodes></ResultCodes>
Line 364: Line 364:
     <DISPLAYSYMBOL></DISPLAYSYMBOL>
     <DISPLAYSYMBOL></DISPLAYSYMBOL>
   </RecordData>
   </RecordData>
  </CommitCRMGetFieldAttributesResponse>
  </CRMGetFieldAttributesResponse>


OR (returning a numeric field value)
OR (returning a numeric field value)


  <?xml version="1.0"  ?>
  <?xml version="1.0"  ?>
  <?commitcrmxmlgetfieldattributesresponse version = "1.0" ?>
  <?crmxmlgetfieldattributesresponse version = "1.0" ?>
  <CommitCRMGetFieldAttributesResponse>
  <CRMGetFieldAttributesResponse>
   <Status>SUCCESS</Status>
   <Status>SUCCESS</Status>
   <ResultCodes></ResultCodes>
   <ResultCodes></ResultCodes>
Line 383: Line 383:
     <DISPLAYSYMBOL><![CDATA[%]]></DISPLAYSYMBOL>
     <DISPLAYSYMBOL><![CDATA[%]]></DISPLAYSYMBOL>
   </RecordData>
   </RecordData>
  </CommitCRMGetFieldAttributesResponse>
  </CRMGetFieldAttributesResponse>


==Data Update API Functions==
==Data Update API Functions==
Line 400: Line 400:
| '''CmtInitDbEngDll (app_name, path, status)'''
| '''CmtInitDbEngDll (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 [[API_Reference_Manual#Error_Codes_Description|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 [[API_Reference_Manual#Error_Codes_Description|Error Codes Description]] for other values.
|-
|-
| '''CmtInsUpdRec(app_name, table_id, data_buff, map_buff, flag, tbd,<br>
| '''CmtInsUpdRec(app_name, table_id, data_buff, map_buff, flag, tbd,<br>
Line 441: Line 441:


'''Field buffers'''
'''Field buffers'''
The record to be added/updated in the database is passed to the Commit API in two buffers:
The record to be added/updated in the database is passed to the RangerMSP API in two buffers:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 721: Line 721:
|Account Type
|Account Type
|FLDCRDENTITYKIND
|FLDCRDENTITYKIND
|When adding a Main Account = 1<br>When adding a secondary contact = 5
|When adding a Main Account = 1<br>When adding a secondary contact = 5<br>When adding a Employee Account = 4
|cards
|cards
|ENTITYKIND
|ENTITYKIND
Line 876: Line 876:
|-
|-
|Status
|Status
|FLDCRDUSER1
|FLDCRDACCOUNTSTATUS
|
|
|cards
|cards
|USER1
|ACCOUNTSTATUS
|-
|-
|Field1
|Field1
Line 904: Line 904:
|cards
|cards
|USER5
|USER5
|-
|Field5
|FLDCRDCOMPANYNO
|
|cards
|COMPANYNO
|-
|Field6
|FLDCRDUSER1
|
|cards
|USER1
|}
|}


Line 1,106: Line 1,118:
| DESCRIPTION
| DESCRIPTION
|-
|-
|Units/Hours
|Hours
|FLDSLPHOURSAMOUNT
|This is the amount of hours
| slips
| HOURSAMOUNT
|-
|Units
|FLDSLPQUANTITY
|FLDSLPQUANTITY
|This is the quantity of hours/units
|This is the quantity of units
| slips
| slips
| QUANTITY
| QUANTITY
Line 1,123: Line 1,141:
| slips
| slips
| ADJUSTPERCENT
| ADJUSTPERCENT
|-
|Adjust Type'''
|FLDSLPADJUSTTYPE
|The Discount/Markup type:<br>
A - total amount adjustment <br>
U - per unit adjustment<br>
P - percent  <br>
|slips
|ADJUSTTYPE
|-
|-
|From Time
|From Time
Line 1,381: Line 1,408:
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Asset Code
| Asset Code
| FLDASTASSETCODE
| FLDASTASSETCODE
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
|If an existing Asset Code is provided, then existing Asset is updated. Otherwise a new Asset is added.
| assets
| ASSETCODE
|-
|-
| Asset Type
| Asset Type
Line 1,394: Line 1,425:
Software = S<br>
Software = S<br>
Other = T
Other = T
| assets
| ASSETTYPE
|-
|-
| Asset Name
| Asset Name
| FLDASTNAME
| FLDASTNAME
|  
|  
| assets
| NAME
|-
|-
| Status
| Status
Line 1,405: Line 1,440:
Not Active = N<br>
Not Active = N<br>
If not provided, default Active is used.
If not provided, default Active is used.
| assets
| STATUS
|-
|-
| Record ID
| Record ID
| FLDASTRECID
| FLDASTRECID
| If provided, must exist in the database. Ignored if empty
| If provided, must exist in the database. Ignored if empty
| assets
| RECID
|-
|-
| Serial No.
| Serial No.
| FLDASTSERIALNO
| FLDASTSERIALNO
|  
|  
| assets
| SERIALNO
|-
|-
|Account
|Account
|FLDASTACCRECID
|FLDASTACCRECID
|The Account which is linked to the Asset
|The Account which is linked to the Asset
| assets
| ACCOUNTRECID
|-
|-
|Contact
|Contact
|FLDASTCONTACTRECID
|FLDASTCONTACTRECID
|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.
| assets
| CONTACTRECID
|-
|-
|Created by user
|Created by user
|FLDASTCREATEUSER
|FLDASTCREATEUSER
|Name of external software which created this Asset
|Name of external software which created this Asset
| assets
| CREATEUSER
|-
|-
|Purchase Date
|Purchase Date
|FLDASTCUSTPURDATE
|FLDASTCUSTPURDATE
|Any date format, such as DD/MM/YYYY
|Any date format, such as DD/MM/YYYY
| assets
| CUSTPURCHASEDATE
|-
|-
|Purchased From Us
|Purchased From Us
Line 1,434: Line 1,483:
|Possible values: Y/N.<br>
|Possible values: Y/N.<br>
If not provided, default value Y is used.
If not provided, default value Y is used.
| assets
| CUSTPURCHASEDFROMUS
|-
|-
| Purchase Invoice #
| Purchase Invoice #
| FLDASTCUSTPUROURINV
| FLDASTCUSTPUROURINV
|  
|  
| assets
| CUSTPURCHASEDOURINV
|-
|-
| Customer PO
| Customer PO
| FLDASTCUSTPURPO
| FLDASTCUSTPURPO
|  
|  
| assets
| CUSTPURCHASEPO
|-
|-
| Purchase Price
| Purchase Price
| FLDASTCUSTPURPRICE
| FLDASTCUSTPURPRICE
|  
|  
| assets
| CUSTPURCHASEPRICE
|-
|-
| Delivered Date
| Delivered Date
| FLDASTDELIVEDATE
| FLDASTDELIVEDATE
|  
|  
| assets
| DELIVERDATE
|-
|-
| Description
| Description
| FLDASTDESC
| FLDASTDESC
|  
|  
| assets
| DESCRIPTION
|-
|-
| Installed By
| Installed By
| FLDASTINSTALBY
| FLDASTINSTALBY
|  
|  
| assets
| INSTALLEDBY
|-
|-
| Installed Date
| Installed Date
| FLDASTINSTALDATE
| FLDASTINSTALDATE
|  
|  
| assets
| INSTALLEDDATE
|-
|-
| License Codes
| License Codes
| FLDASTLICENSECODE
| FLDASTLICENSECODE
|  
|  
| assets
| LICENSECODE
|-
|-
| License Keys
| License Keys
| FLDASTLICENSEKEYS
| FLDASTLICENSEKEYS
|  
|  
| assets
| LICENSEKEYS
|-
|-
| License Notes
| License Notes
| FLDASTLICENSENOTES
| FLDASTLICENSENOTES
|  
|  
| assets
| LICENSENOTES
|-
|-
| Location
| Location
| FLDASTLOCATION
| FLDASTLOCATION
|  
|  
| assets
| LOCATION
|-
|-
| Manufacturer
| Manufacturer
| FLDASTMANUFACTURER
| FLDASTMANUFACTURER
|  
|  
| assets
| MANUFACTURER
|-
|-
| Mnf Serial No.
| Mnf Serial No.
| FLDASTMNFSERIALNO
| FLDASTMNFSERIALNO
|  
|  
| assets
| MNFSERIALNO
|-
|-
| Model
| Model
| FLDASTMODEL
| FLDASTMODEL
|  
|  
| assets
| MODEL
|-
|-
| Notes
| Notes
| FLDASTNOTES
| FLDASTNOTES
|  
|  
| assets
| NOTES
|-
|-
| Quantity
| Quantity
| FLDASTQUANTITY
| FLDASTQUANTITY
| If not provided, default value of 1 is used.
| If not provided, default value of 1 is used.
| assets
| QUANTITY
|-
|-
| Last Update By
| Last Update By
| FLDASTUPDATEUSER
| FLDASTUPDATEUSER
| Name of externals software which performed the update
| Name of externals software which performed the update
| assets
| UPDATEUSER
|-
|-
| Field1
| Field1
| FLDASTUSER1
| FLDASTUSER1
| User defined field
| User defined field
| assets
| USER1
|-
|-
| Field2
| Field2
| FLDASTUSER2
| FLDASTUSER2
| User defined field
| User defined field
| assets
| USER2
|-
|-
| Field3
| Field3
| FLDASTUSER3
| FLDASTUSER3
| User defined field
| User defined field
| assets
| USER3
|-
|-
| Field4
| Field4
| FLDASTUSER4
| FLDASTUSER4
| User defined field
| User defined field
| assets
| USER4
|-
|-
| Field5
| Field5
| FLDASTUSER5
| FLDASTUSER5
| User defined field
| User defined field
| assets
| USER5
|-
|-
| Date1
| Date1
| FLDASTUSERDATE1
| FLDASTUSERDATE1
| User defined field
| User defined field
| assets
| USERDATE1
|-
|-
| Number1
| Number1
| FLDASTUSERNUMBER1
| FLDASTUSERNUMBER1
| User defined field
| User defined field
| assets
| USERNUMBER1
|-
|-
| Vendor Purchased Date
| Vendor Purchased Date
| FLDASTVENDORDATEPURC
| FLDASTVENDORDATEPURC
|  
|  
| assets
| VENDORDATEPURCHASED
|-
|-
| Vendor Invoice #
| Vendor Invoice #
| FLDASTVENDORINVNO
| FLDASTVENDORINVNO
|  
|  
| assets
| VENDORINVOICENO
|-
|-
| Vendor PO
| Vendor PO
| FLDASTVENDOROURPO
| FLDASTVENDOROURPO
|  
|  
| assets
| VENDOROURPO
|-
|-
| Vendor Price
| Vendor Price
| FLDASTVENDORPRICE
| FLDASTVENDORPRICE
|  
|  
| assets
| VENDORPRICE
|-
|-
| Vendor
| Vendor
| FLDASTVENDORRECID
| FLDASTVENDORRECID
|  
|  
| assets
| VENDORRECID
|-
|-
| Vendor Serial No.
| Vendor Serial No.
| FLDASTVENDORSERNO
| FLDASTVENDORSERNO
|  
|  
| assets
| VENDORSERIALNO
|-
|-
| Vendor Warranty Exp. Date
| Vendor Warranty Exp. Date
| FLDASTVENDORWARREXP
| FLDASTVENDORWARREXP
| Any date format, such as DD/MM/YYYY
| Any date format, such as DD/MM/YYYY
| assets
| VENDORWARRANTYEXP
|-
|-
| Version
| Version
| FLDASTVERSION
| FLDASTVERSION
|  
|  
| assets
| VERSION
|-
|-
| Warranty/License Exp.
| Warranty/License Exp.
| FLDASTWARREXPDATE
| FLDASTWARREXPDATE
| Any date format, such as DD/MM/YYYY
| Any date format, such as DD/MM/YYYY
| assets
| WARRANTYEXPDATE
|-
|-
| Date
| Date
|
|
|
|
|
|
|}
|}


Line 1,578: Line 1,697:
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Record ID
| Record ID
Line 1,585: Line 1,706:
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this
|The Appointment/Task record ID. If provided, the existing entity will be updated. Otherwise, this
will be added as a new Appointment/Task.
will be added as a new Appointment/Task.
| Events
| RECID
|-
|-
| Event Type
| Event Type
Line 1,591: Line 1,714:
Appointment = 1<br>
Appointment = 1<br>
Task = 2
Task = 2
| Events
| WRITE_TO_ID
|-
|-
| Employee
| Employee
| FLDEVTWORKERID
| FLDEVTWORKERID
| The Task/Appointment owner (for private events)
| The Task/Appointment owner (for private events)
| Events
| WORKER_ID
|-
|-
| Private: User
| Private: User
| FLDEVTPRIVATEID
| FLDEVTPRIVATEID
| If an Employee was set, this field contain the same REC ID as the Employee field (FLDEVTWORKERID).<br>
| If an Employee was set, this field contain the same REC ID as the Employee field (FLDEVTWORKERID).<br>
| Events
| PRIVATE_ID
|-
|-
| Account
| Account
Line 1,608: Line 1,737:
#The automated email response when adding a
#The automated email response when adding a
new Account with the API
new Account with the API
| Events
| CARD_ID
|-
|-
| Contact
| Contact
| FLDEVTCONTACTID
| FLDEVTCONTACTID
| 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.
| Events
| CONTACTID
|-
|-
|Document
|Document
|FLDEVTDOCID
|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.
|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
|Done Indication
|FLDEVTDONE
|FLDEVTDONE
|Possible values: Y/N
|Possible values: Y/N
| Events
| DONE
|-
|-
|Date
|Date
Line 1,625: Line 1,762:
|The Appointment/Task date is a mandatory field of Any date format, such as DD/MM/YYYY. If not
|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.  
provided, the current date will be used.  
| Events
| EVENT_DATE
|-
|-
|Description
|Description
|FLDEVTFREETEXT
|FLDEVTFREETEXT
|
|
| Events
| FREE_TEXT
|-
|-
|Time: Start
|Time: Start
|FLDEVTFROMTIME
|FLDEVTFROMTIME
|Mandatory field
|Mandatory field
| Events
| FROM_TIME
|-
|-
| Time: End
| Time: End
| FLDEVTTOTIME
| FLDEVTTOTIME
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
| Relevant only for Appointments. If this parameter is not provided, 30 min. interval from Start Time is used.
| Events
| TO_TIME
|-
|-
| Opportunity/Ticket
| Opportunity/Ticket
| FLDEVTLINKRECID
| FLDEVTLINKRECID
| Linked Ticket/Opportunity/Contract/Asset
| Linked Ticket/Opportunity/Contract/Asset
| Events
| LINKRECID
|-
|-
| Field1
| Field1
| FLDEVTFAMILY
| 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
| User Defined field
| Events
| PLACE
|-
|-
| Field4
| Field4
| FLDEVTPLACE1
| FLDEVTPLACE1
| User Defined field
| User Defined field
| Events
| PLACE1
|-
|-
| Field5
| Field5
| FLDEVTPLACE2
| 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
Line 1,670: Line 1,829:
| Name of external software which updated the
| Name of external software which updated the
event
event
| Events
| UPDATE_USER
|}
|}


Line 1,678: Line 1,839:
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Record ID
| Record ID
| FLDOPPRECID
| FLDOPPRECID
| The Opportunity record ID. If provided, the existing Opportunity will be updated. Otherwise, this will be added as a new Opportunity.
| 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
| Opportunity Name
| FLDOPPNAME
| FLDOPPNAME
| Mandatory field.
| Mandatory field.
| Opps
| NAME
|-
|-
| Opportunity ID
| Opportunity ID
| FLDOPPUSERID  
| FLDOPPUSERID  
| Optional (Oppty ID)
| Optional (Oppty ID)
| Opps
| USERID
|-
|-
| Account
| Account
Line 1,699: Line 1,868:
#Data Retrieval API to pull information from the database
#Data Retrieval API to pull information from the database
#The automated email response when adding a new Account with the API
#The automated email response when adding a new Account with the API
| Opps
| CARDID
|-
|-
| Contact
| Contact
| FLDOPTCONTACTID
| FLDOPPCONTACTID
| 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
|-
|-
| Source
| Source
| FLDOPPSOURCE
| FLDOPPSOURCE
|  
|  
|-
| Opps
|Document
| SOURCE
|FLDOPTDOCID
|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.
|-
|-
|Close Date
|Close Date
|FLDOPPCLOSEDATE
|FLDOPPCLOSEDATE
|
|
| Opps
| CLOSEDATE
|-
|-
|Manager
|Manager
|FLDOPPWORKERID
|FLDOPPWORKERID
|The Manager's REC ID
|The Manager's REC ID
| Opps
| WORKERID
|-
|-
|Open Date
|Open Date
|FLDOPPOPENDATE
|FLDOPPOPENDATE
|
|
| Opps
| OPENDATE
|-
|-
| Close By Date
| Close By Date
| FLDOPPESTDATE
| FLDOPPESTDATE
| Opportunity must be closed by this date
| Opportunity must be closed by this date
| Opps
| ESTDATE
|-
|-
| Amount
| Amount
| FLDOPPAMOUNT
| FLDOPPAMOUNT
|  
|  
| Opps
| AMOUNT
|-
|-
| Probability %
| Probability %
| FLDOPPPROBABILITY
| FLDOPPPROBABILITY
|  
|  
| Opps
| PROBABILITY
|-
|-
| Stage
| Stage
| FLDOPPSTAGE
| FLDOPPSTAGE
|  
|  
| Opps
| STAGE
|-
|-
| Status
| Status
| FLDOPPSTATUS
| FLDOPPSTATUS
|  
|  
| Opps
| STATUS
|-
|-
| Closing Amount
| Closing Amount
| FLDOPPCLOSEAMOUNT
| FLDOPPCLOSEAMOUNT
|  
|  
| Opps
| CLOSEAMOUNT
|-
|-
| Description
| Description
| FLDOPPDESCRIPTION
| FLDOPPDESCRIPTION
|  
|  
| Opps
| DESCRIPTION
|-
|-
| Opportunity Type
| Opportunity Type
| FLDOPPKIND
| FLDOPPKIND
|  
|  
| Opps
| KIND
|-
|-
| Opportunity Reason
| Opportunity Reason
| FLDOPPREASON
| FLDOPPREASON
|  
|  
| Opps
| REASON
|-
|-
| Note  
| Note  
| FLDOPPNOTES
| FLDOPPNOTES
|  
|  
| Opps
| NOTES
|-
|-
| Territory
| Territory
| FLDOPPREGION
| FLDOPPREGION
|  
|  
| Opps
| REGION
|-
|-
| Field1
| Field1
| FLDOPTFAMILY
| FLDOPTFAMILY
| User Defined field
| User Defined field
| Opps
| USER1
|-
|-
|  Field2
|  Field2
|  FLDOPTACTION
|  FLDOPTACTION
| User Defined field
| User Defined field
| Opps
| USER2
|-
|-
|  Field3
|  Field3
|  FLDOPTPLACE
|  FLDOPTPLACE
| User Defined field
| User Defined field
| Opps
| USER3
|-
|-
|  Created by User
|  Created by User
|  FLDOPTCREATEUSERID
|  FLDOPTCREATEUSERID
| Name of external software which created the event
| Name of external software which created the event
| Opps
| CREATEUSER
|-
|-
|  Last Update: By User
|  Last Update: By User
|  FLDOPTUPDATEUSER
|  FLDOPTUPDATEUSER
| Name of external software which updated the event
| Name of external software which updated the event
| Opps
| UPDATEUSER
|}
|}


Line 1,795: Line 2,004:
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Record ID
| Record ID
| FLDDOCRECID
| FLDDOCRECID
| The Document record ID. If provided, the existing Document will be updated. Otherwise, this will be added as a new Document.
| 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
| Document Date
| FLDDOCDOCDATE
| 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
| 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
| Subject
| FLDDOCDOCUMENTDESC
| FLDDOCDOCUMENTDESC
|  
|  
| docs
| DOCUMENT_DESC
|-
|-
| Linked Record
| Linked Record
Line 1,822: Line 2,039:
#Data Retrieval API to pull information from the database
#Data Retrieval API to pull information from the database
#The automated email response when adding a new object with the API.
#The automated email response when adding a new object with the API.
| docs
| LINKRECID
|-
|-
| Account Rec ID
| Account Rec ID
Line 1,829: Line 2,048:
#Data Retrieval API to pull information from the database
#Data Retrieval API to pull information from the database
#The automated email response when adding a new Account with the API
#The automated email response when adding a new Account with the API
| docs
| CARD_ID
|-
|-
| Contact REC ID
| Contact REC ID
| FLDDOCCONTACTID
| 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.
| docs
| CONTACTID
|-
|-
|Field1
|Field1
|FLDDOCTRANSPORT
|FLDDOCTRANSPORT
|User Defined field
|User Defined field
| docs
| TRANSPORT_ID
|-
|-
|Field2
|Field2
|FLDDOCFOLDER
|FLDDOCFOLDER
|User Defined field
|User Defined field
| docs
| FOLDER_ID
|-
|-
|Field3
|Field3
|FLDDOCUMENTPLACE
|FLDDOCUMENTPLACE
|User Defined field
|User Defined field
| docs
| DOCUMENT_PLACE
|-
|-
|File Path + File name
|File Path + File name
|FLDDOCDOCUMENTNAME
|FLDDOCDOCUMENTNAME
|The Document path
|The Document path
| docs
| DOCUMENT_NAME
|-
|-
|Category
|Category
|FLDDOCTREEID
|FLDDOCTREEID
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree
|The category record ID should be taken from the database table called TreeTbl which contains the Category tree
| TreeTbl
| TREE_ID
|-
|-
| Employee REC ID
| Employee REC ID
| FLDDOCWORKERID
| FLDDOCWORKERID
| The worker record ID to be linked to the Document. Must be an active employee.  
| The worker record ID to be linked to the Document. Must be an active employee.  
| docs
| WORKER_ID
|-
|-
| Created by User
| Created by User
| FLDDOCCREATEUSER
| FLDDOCCREATEUSER
| Name of external software which created the document
| Name of external software which created the document
| docs
| CREATE_USERNAME
|-
|-
| Last Update: By User
| Last Update: By User
| FLDDOCUPDATEUSER
| FLDDOCUPDATEUSER
| Name of external software which updated the document
| Name of external software which updated the document
| docs
| UPDATE_USERNAME
|}
|}


Line 1,873: Line 2,112:
|-
|-
! '''Field Name'''
! '''Field Name'''
! '''Database Field Name'''
! '''API Field Name'''
! '''Comment'''
! '''Comment'''
! '''Physical DB Tables'''
! '''Physical DB Fields'''
|-
|-
| Record ID
| Record ID
| FLDKBARECID
| FLDKBARECID
| The Article record ID. If provided, the existing Article will be updated. Otherwise, this will be added as a new Article.
| 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
| Document Date
| FLDKBACREATEDATE
| 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
| 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
| Title
| FLDKBATITLE
| FLDKBATITLE
|  
|
| KBArticles
| TITLE
|-
|-
| Problem
| Problem
| FLDKBAPROBLEM
| FLDKBAPROBLEM
|  
|  
| KBArticles
| PROBLEM
|-
|-
| Solution
| Solution
| FLDKBASOLUTION
| FLDKBASOLUTION
|  
|  
| KBArticles
| SOLUTION
|-
|-
| Status
| Status
Line 1,902: Line 2,153:
*PUBLISHED = 'P'
*PUBLISHED = 'P'
*OBSOLETE = 'O'
*OBSOLETE = 'O'
| KBArticles
| STATUS
|-
|-
|Category
|Category
|FLDKBACATEGORY
|FLDKBACATEGORY
|
|
| KBArticles
| CATEGORY
|-
|-
|Public
|Public
Line 1,913: Line 2,168:
*'Y' = Yes
*'Y' = Yes
*'N' = No
*'N' = No
| KBArticles
| ISPUBLIC
|-
|-
|Created by User
|Created by User
|FLDKBACREATEUSER
|FLDKBACREATEUSER
|Name of external software which created the document
|Name of external software which created the document
| KBArticles
| CREATEUSER
|-
|-
|Last Update: By User
|Last Update: By User
|FLDKBAUPDATEUSER
|FLDKBAUPDATEUSER
|Name of external software which updated the document
|Name of external software which updated the document
| KBArticles
| UPDATEUSER
|}
|}


Line 1,933: Line 2,194:
1007 Invalid external software name received. Specify a unique name that identifies your software.<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>
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>
1009 Path specified for RangerMSP DB folder not found.<br>
1010 Path specified for Commit DB folder found, but its contents do not reflect a valid DB folder.<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 Commit, is invalid or is related to an inactive employee record.<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 too long. Make sure your software name has 3 to 15 characters.<br>
1013 Software name is missing. Make sure you specify a name that identifies your software.<br>
1014 Invalid RECID buffer received. Make sure you have allocated the buffer correctly and that you have passed the correct buffer length.<br>
1014 Software name is less than 3 characters long. Make sure you specify your software name has 3 to 15 characters.<br>
1015 Path specified for Commit DB folder not found.<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>
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>
1017 Invalid Record ID received. Record ID should consist of exactly 20 characters.<br>
1018 The Record ID (RECID) is missing.<br>
1018 The Record ID (RECID) is missing.<br>
1019 Invalid RECID received. Its value cannot point to any entity in CommitCRM.<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>
1020 The size for the result buffer is too small. Increase its size and try again.<br>
1021 CmtDbQry.dll not found<br>
1021 CmtDbQry.dll not found.<br>
1100 Database access error<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>
1501 Cannot delete this type of record<br>
1502 This record cannot be deleted by  a customer.<br>
1502 This record cannot be deleted by  a customer.<br>
2000 General Error Occurred<br>
2000 General Error Occurred<br>


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


<u>These error codes are returned when calling the CommitCRMxmlGetRecDataRequest function:</u><br>
<u>These error codes are returned when calling the CRMxmlGetRecDataRequest function:</u><br>
'''150001''' Invalid XML received. Please verify that the XML structure is valid.<br>
'''150001''' Invalid XML received. Please verify that the XML structure is valid.<br>
'''150002''' Invalid field identifiers were received.<br>
'''150002''' Invalid field identifiers were received.<br>
'''150003''' No records in CommitCRM database match the received RECID<br>
'''150003''' No records in RangerMSP database match the received RECID<br>
'''150004''' The received XML version number is not supported.<br>
'''150004''' The received XML version number is not supported.<br>
'''150005''' XML version number is missing.<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>
'''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>
'''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 CommitCRM.<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>
'''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: commitcrmxmlgetrecdatarequest<br>
'''150011''' Invalid XML request. Couldn’t find the XML request name: CRMxmlgetrecdatarequest<br>


   
   
Line 1,997: Line 2,260:
'''50117''' The Record ID (RECID) is missing.<br>
'''50117''' The Record ID (RECID) is missing.<br>
'''50118''' Invalid Record ID received. Record ID should consist of exactly 20 characters.<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 CommitCRM.<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>
'''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>
'''50121''' Software name is less than 3 characters long. Make sure your software name has 3 to 15 characters.<br>
Line 2,005: Line 2,268:
'''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 2,025: 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 2,044: 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 2,062: 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 2,078: 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