FAQ & videos

Guide: CentrixOne API

Introduction #

Here is how the CentrixOne CRM API works:

  • Read = GET
  • Add/edit = POST
  • 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.

Read contacts #

Here are some examples of basic filters:

  • 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.
    • Etc.

The extension of the page is “.awp”.

Here are the optional parameters:

  • 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)
      • Structure;
        • 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)

Here are some examples:

  • https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-C999999.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-all.awp?fields=all&filters=%09company%09%5B=%09test%09%0AOR%09company%09%5B=%09centrix%09
  • https://api.centrix.one/API_WEB/EN/Contacts-Account-APIKey-S9999.awp?fields=all&filters=%09company%09%5B=%09test%09%0AOR%09company%09%5B=%09centrix%09

Add or edit contacts #

  • 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)
  • https://api.centrix.one/API_WEB/EN/Opportunities-Account-APIKey-S9999.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/Users-Account-APIKey-all.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/Scripts-Account-APIKey.awp?fields=all (List the contact lists of the account.)
  • https://api.centrix.one/API_WEB/EN/RevenueTypes-Account-APIKey-all.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/RevenueTypesSub1-Account-APIKey-all.awp?fields=all
  • https://api.centrix.one/API_WEB/EN/RevenueTypesSub2-Account-APIKey-all.awp?fields=all

Get a demo