Developer Zone

Common Return ValuesΒΆ

Most methods return an enum value of type RUIResult. This is used to show whether the method call was accepted and executed successfully.


Function (which may be synchronous or asynchronous), fully successful during synchronous functionality.


Irrecoverable internal fatal error. No further API calls should be made.


A required New Registration has failed, and hence the SDK is aborted. RUISDK.StopSDK and RUISDK destructor are possible.


SDK Instance parameter is NULL or invalid. Not used in C# interface.


Some API parameter is expected to be non-empty, and is not.


Some API parameter is expected to be free of white space, and is not.


Some API parameter violates its allowable maximum length.


The configFilePath is not a well-formed directory name.


The configFilePath identifies a directory that does not exist.


The configFilePath identifies a directory that is not writable.


The productID is not a well-formed Revulytics Product ID.


The serverURL is not a well-formed URL.


The protocol is not a legal value. Must be one of the following

* httpPlusEncryption (1) - Protocol to the RUI Server is HTTP + AES-128 Encrypted payload.
* httpsWithFallback (2)  - Protocol to the RUI Server is HTTPS, unless that does not work, falling back to HTTP + Encryption.
* https (3)              - Protocol to the RUI Server is HTTPS with no fall-back.


The AES Key is expected to be NULL/empty, and it is not. This occurs if https is used at the protocol selection and an AES Key is supplied.


The AES Key is not the expected length (32 hex chars). An AES key is required if using httpPlusEncryption or httpsWithFallback as the protocol choice.


The AES Key is not valid hex encoding. String passed must only include hexadecimal characters.


The sessionID is expected to be empty, and it was not. This occurs if a session ID is passed to functions that accept a session ID but no RUISDK.StartSession is active.


The sessionID is expected to be non-empty, and it was empty.


The sessionID violates its allowable minimum length. Minimum length is 10.


The sessionID violates its allowable maximum length. Maximum length is 64.


The sessionID is already currently in use.


The sessionID is not currently in use.


The customPropertyID violates its allowable range. By default the range is 1 to 20.


The doSync manual sync flag/limit violates its allowable range.


The messageType is not an allowable value.


The proxy username and password failed proxy authentication.


The proxy port was not valid.


Configuration has not been successfully created. The function RUISDK.CreateConfig must be called before performing this operation.


Configuration has already been successfully created. A previous RUISDK.CreateConfig was successful and the subsequent calls to this function are not allowed.


SDK has not been successfully started. The function RUISDK.StartSDK must be called before using this function.


SDK has already been successfully started. A previous RUISDK.StartSDK was successful and subsequent calls to this function are not allowed.


SDK has already been successfully stopped. A previous RUISDK.StopSDK was successful and subsequent calls to this function are not allowed.


This indicates that this particular API call is not currently available. Possible causes include:

  • This feature is disabled from the server side. If this is an optional feature you might need to turn it on from the Usage Intelligence dashboard.
  • You have called this function too many times in quick succession from the same client. In order to prevent abuse the server might impose a minimum interval (time threshold) before you can call this function again. This interval can vary from seconds to minutes.
  • There has been a time out on this request to the Revulytics Usage Intelligence server.


A sync with the RUI Server is already running. Only one sync operation may be running at a time.


The API call time frequency threshold (set by the RUI Server) has not been reached. In other words, the application is generating too many requests per time period.


The RUI Server has instructed a temporary back-off. No events are logged but future communication with the RUI server is possible if the server allows it.


The RUI Server has instructed a permanent disable. No communication with the server is possible and events will not be logged.

  • sdkOptedOut(-332)**

Instance has been instructed by the application to opt-out.


Communication attempts were not able to reach the RUI Server. This means there was a problem communicating with the Revulytics Usage Intelligence server due to:

  • network connectivity problems
  • Incorrect proxy settings
  • HTTP or HTTPS traffic is blocked by a gateway or firewall

In some cases, you can use RUISDK.TestConnection to help diagnose the issue.


Error while communicating with the RUI Server. Communication with the server was successful but the server response indicates a RUI Server error.

Login to the Usage Intelligence dashboard to make sure your account is active and there are no critical warnings. Test using RUISDK.TestConnection function.


The response from the RUI Server was returned with a message format error.


The RUISDK.TestConnection function had an invalid ProductID supplied. Check the product ID provided to you for accuracy.


The RUISDK.TestConnection function had a mismatch between URL and ProductID. Check the Product ID and URL provided to you for accuracy.