/// <summary>
        /// Returns client's IP as detected by Dynali.
        /// </summary>
        /// <returns>string, IP Address</returns>
        public async Task <string> RetrieveMyIpAsync()
        {
            MyIpResponse response = JsonResponse.Parse <MyIpResponse>(await CallAsync(new MyIpAction()));

            if (response.IsSuccessful)
            {
                return(response.Data.Ip);
            }
            throw new DynaliException(response.Code, response.Message);
        }
        /// <summary>
        /// Returns client's IP as detected by Dynali.
        /// </summary>
        /// <returns>string, IP Address</returns>
        public string RetrieveMyIp()
        {
            MyIpResponse response = ExecuteAction <MyIpResponse>(new MyIpAction());

            if (response.IsSuccessful)
            {
                return(response.Data.Ip);
            }
            throw new DynaliException(response.Code, response.Message);
        }