Here is the basic documentation for the API. There will be a webpage later. Do not hesitate to contact me if you have any questions.
This document contains confidential information between your development team and the Centrix Solutions (CentixOne) development team. Despite the care taken in its drafting, this document is not contractual.
Your account # is: xxxxx
Your API key is : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The URL for contacts is : https://api.vsmcentrix.com/API_WEB/EN/Contacts-Account-APIKey-FiltreDeBase.awp
Basis of operation
GET to read, POST to add / edit.
Everything happens in a table from zero to several contacts. (In reading as in addition / modification)
The result "success" is always in JSON (Content Type: application / json) with "Result" at the value "Success".
In case of error, just read the text content returned with the codes 4XX and 5XX.
It is possible to receive a "503 Service Unavailable" code with a "Retry-After" header when the service is not available. For the moment, I advise to try again later with any errors 4XX, 5XX or the 200 which are not in "application / json". This part remains to be improved.
There is a html read cache system and that's why all the parameters are in the URL. You will receive a "Last-Modified" header for reading. If you redo the same query with the header "If-Modified-Since", you will receive a code "304 Not Modified" if nothing in the result has been modified. Convenient for mobile applications and software that request the same query at regular intervals.
Basic filter. Here are some examples;
C9999 to return the contact with the Centrix identifier 9999
E9999 to return the contact with External ID 9999 (your login)
S999 to return the contacts from the list 999
All these parameters can be specified at the same time, they will be joined in "AND". Examples;
"C1234, C125" will return contacts 1234 and 125 as well as contact information to all lists. (A contact can be in one or more lists.)
"C1234, S999" will return contact 1234 if it belongs to the list S999 and only the contact information for the list 999
"S999" will return all contacts and contact information for this list. (A list is internally called "Script" in Centrix, which goes back to the time of call scripts in call center.)
"E9999" will return contact with externalID (your username) 9999 as well as contact information to all lists.
.awp is the extension of the API script.
fields : List of requested fields separated by comma. Value "all" return all fields. (Make a query with "all" to see the list of available fields.)
Exception; the fields in "ContactScript" must be preceded by "cs_" in the list of requested fields. Ex .: cs_salesrep1
Abbreviation; CC_ = Contact_Cusom_, AC_ = Account_Custom_, CCS_ = Contact_Custom_Script_, ACS_ = Account_Custom_Script_
Multiple choices in custom fields have "::" as separator.
filters : Allows you to specify advanced filters. The elements are separated by TAB (% 09 in the URL) and the conditions are separated by LF (% 0A in the URL)
Separator prefix : "(", "((", "AND", "OR","AND(","OR(", etc.
Nome of fields : "company", etc.
Operator : "=", "<>", "<", ">","<=", ">=","[=","=]", "[=]"
Value : "Test", etc. (Insensible Maj/Min)
Separator suffix : ")","))",etc.
It is possible to specify a basic filter at the same time (which will be attached in "AND") or to specify "all" as the basic filter to disable the basic filter.
The result is a JSON with an array of Contacts that in each contact will have a ContactScript table. (The lists)
Add / Edit contact(s)
Same URL as reading except with a POST request and a JSON with the same structure as the read one. (A "Contacts" table that contains a "ContactScript" table in each contact)
The value "BaseFilter" of the URL is ignored in this case, but you still have to specify one. Ex .: "C" for contact, it does not matter.
If a field is not received, its value is not changed. If it is received empty, it will be replaced by the empty value.
The values of the fields of type "account" will be replaced in all the contacts of the same account. (Everything that appears in the "Account" tabs in Centrix)
If "idc" is specified, the contact will be changed.
If "idc" is not specified and "ExternalID" is specified, the contact with this "ExternalID" is searched for and modified or created if it is not found.
If neither "idc" nor "ExternalID" is specified, the contact is created.
In a contact, if a list is specified ("ids"), the account and contact information will be changed for this list. If the contact is not a member of this list, he will become a member automatically. It is not possible for the moment to remove a contact from a list by the API. (It's possible in Centrix UI)
Other APIs available
(List the contact lists of the account.)