Skip to content

uservoice/csharp-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UserVoiceSdk - the C# library for the UserVoice API

A RESTful API to interface with UserVoice's feedback system. Online documentation available here: https://developer.uservoice.com/docs/api/v2/reference/.

This C# SDK is automatically generated by the Swagger Codegen project:

  • API version: 2.0
  • SDK version: 0.1
  • Build package: io.swagger.codegen.languages.CSharpClientCodegen

Note to consumers

The UserVoiceSdk is a proof-of-concept. Feel free to fork this repository and contribute to our efforts or report any issues you encounter. We appreciate your patience and thank you for helping us better connect you with the UserVoice V2 API!

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)

Dependencies

The DLLs included in the package may not be the latest version. We recommned using [NuGet] (https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using UserVoiceSdk.Api;
using UserVoiceSdk.Client;
using UserVoiceSdk.Models;

Getting Started

using System;
using System.Diagnostics;
using UserVoiceSdk.Api;
using UserVoiceSdk.Client;
using UserVoiceSdk.Models;

namespace Example
{
    
    public class AttachmentsExample
    {
        private string ApiKey = "some_key";
        private string ApiSecret = "some_secret";
        private string Subdomain = "sub";
        private string Domain = "uservoice.com";

		// Credentials for authenticating as a user
		private string Username = "some.user@uservoice.com";
		private string Password = "Somepassword1234!";

        public void main()
        {
            var client = new ApiClient(subdomain: Subdomain,
									   clientId: ApiKey,
									   domain: Domain,
									   clientSecret: ApiSecret);

			// Authentication takes place on request when a token is not available
			// However, you can explicitly login using the functions below
			//client.Login(ApiKey, ApiSecret);
			//client.LoginAsUser(ApiKey, Username, Password);

            var file = new System.IO.Stream(); // System.IO.Stream | 
            var includes = new List<string>(); // List<string> |  (optional) 

            try 
            {
                // 
                AttachmentResponse result = client.Attachments.Create(file, includes);
                Debug.WriteLine(result);
            }
            catch (RateLimitException rle)
            {
                Debug.Print(string.Format("Rate limit exceeded. Limit: {0}, Remaining: {1}, Reset: {2}", client.RateLimiting.Limit, client.RateLimiting.Remaining, client.RateLimiting.Reset);
                Debug.Print(string.Format("Reset in {0} seconds. Reset at {1} UTC", client.RateLimiting.ResetIn(), client.RateLimiting.ResetAt());
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AttachmentsApi.Create: " + e.Message );
            }
        }
    }
}

Documentation for API Endpoints

Class Method HTTP request Description
AttachmentsApi Create POST /admin/attachments
AttachmentsApi DeleteById DELETE /admin/attachments/{id} # Delete an attachment
AttachmentsApi Get GET /admin/attachments # List attachments
AttachmentsApi GetById GET /admin/attachments/{id} # Retrieve attachments by id
CategoriesApi Create POST /admin/categories # Create a category
CategoriesApi DeleteById DELETE /admin/categories/{id} # Delete a category
CategoriesApi Get GET /admin/categories # List categories
CategoriesApi GetById GET /admin/categories/{id} # Retrieve categories by id
CategoriesApi UpdateById PUT /admin/categories/{id} # Update a category
CommentsApi ApproveById PUT /admin/comments/{id}/approve
CommentsApi Create POST /admin/comments # Create a comment
CommentsApi DeleteById DELETE /admin/comments/{id} # Delete a comment
CommentsApi Get GET /admin/comments # List comments
CommentsApi GetById GET /admin/comments/{id} # Retrieve comments by id
CommentsApi SpamById PUT /admin/comments/{id}/spam
CommentsApi UnremoveById PUT /admin/comments/{id}/unremove
Custom_fieldsApi Create POST /admin/custom_fields # Create a custom field
Custom_fieldsApi DeleteById DELETE /admin/custom_fields/{id} # Delete a custom field
Custom_fieldsApi Get GET /admin/custom_fields # List custom fields
Custom_fieldsApi GetById GET /admin/custom_fields/{id} # Retrieve custom fields by id
Custom_fieldsApi UpdateById PUT /admin/custom_fields/{id} # Update a custom field
External_accountsApi BulkDelete DELETE /admin/external_accounts/bulk_delete # Bulk delete external accounts by ID
External_accountsApi BulkDeleteByExternalId DELETE /admin/external_accounts/bulk_delete_by_external_id # Bulk delete external accounts by external ID
External_accountsApi Get GET /admin/external_accounts # List external accounts
External_accountsApi GetById GET /admin/external_accounts/{id} # Retrieve external accounts by id
External_accountsApi Import POST /admin/external_accounts/import
External_usersApi BulkDelete DELETE /admin/external_users/bulk_delete # Bulk delete external users by ID
External_usersApi BulkDeleteByExternalId DELETE /admin/external_users/bulk_delete_by_external_id # Bulk delete external users by external ID
External_usersApi Get GET /admin/external_users # List external users
External_usersApi GetById GET /admin/external_users/{id} # Retrieve external users by id
External_usersApi Import POST /admin/external_users/import # Import external users
FeaturesApi Create POST /admin/features # Create a feature
FeaturesApi DeleteById DELETE /admin/features/{id} # Delete a feature
FeaturesApi Get GET /admin/features # List features
FeaturesApi GetById GET /admin/features/{id} # Retrieve features by id
FeaturesApi UpdateById PUT /admin/features/{id} # Update a feature
FeedbackApi Create POST /admin/feedback # Create a feedback
FeedbackApi DeleteById DELETE /admin/feedback/{id} # Delete a feedback
FeedbackApi Get GET /admin/feedback # List feedback
FeedbackApi GetById GET /admin/feedback/{id} # Retrieve feedback by id
FeedbackApi UpdateById PUT /admin/feedback/{id} # Update a feedback
Forum_invitationsApi Create POST /admin/forum_invitations # Create a forum invitation
Forum_invitationsApi DeleteById DELETE /admin/forum_invitations/{id} # Delete a forum invitation
Forum_invitationsApi Get GET /admin/forum_invitations # List forum invitations
Forum_invitationsApi GetById GET /admin/forum_invitations/{id} # Retrieve forum invitations by id
ForumsApi Get GET /admin/forums # List forums
ForumsApi GetById GET /admin/forums/{id} # Retrieve forums by id
IdentityApi BulkIdentify POST /admin/bulk_identify # Add or update traits for a batch of users.
LabelsApi Attach POST /admin/labels/attach # Create a label
LabelsApi Create POST /admin/labels # Create a label
LabelsApi DeleteById DELETE /admin/labels/{id} # Delete a label
LabelsApi Detach POST /admin/labels/detach # Create a label
LabelsApi Get GET /admin/labels # List labels
LabelsApi GetById GET /admin/labels/{id} # Retrieve labels by id
LabelsApi UpdateById PUT /admin/labels/{id} # Update a label
MessagesApi Create POST /admin/messages # Create a message
MessagesApi Get GET /admin/messages # List messages
MessagesApi GetById GET /admin/messages/{id} # Retrieve messages by id
NotesApi Create POST /admin/notes # Create a note
NotesApi Get GET /admin/notes # List notes
NotesApi GetById GET /admin/notes/{id} # Retrieve notes by id
NotesApi UpdateById PUT /admin/notes/{id} # Update a note
Nps_ratingsApi Create POST /admin/nps_ratings # Create a nps rating
Nps_ratingsApi Get GET /admin/nps_ratings # List nps ratings
Nps_ratingsApi GetById GET /admin/nps_ratings/{id} # Retrieve nps ratings by id
OauthApi GetOauthToken POST /oauth/token
Status_updatesApi Create POST /admin/status_updates # Create a status update
Status_updatesApi DeleteById DELETE /admin/status_updates/{id} # Delete a status update
Status_updatesApi Get GET /admin/status_updates # List status updates
Status_updatesApi GetById GET /admin/status_updates/{id} # Retrieve status updates by id
Status_updatesApi UpdateById PUT /admin/status_updates/{id} # Update a status update
StatusesApi Get GET /admin/statuses # List statuses
StatusesApi GetById GET /admin/statuses/{id} # Retrieve statuses by id
Suggestion_activity_entriesApi Get GET /admin/suggestion_activity_entries # List suggestion activity entries
SuggestionsApi ApproveById PUT /admin/suggestions/{id}/approve
SuggestionsApi ConvertToTicketById PUT /admin/suggestions/{id}/convert_to_ticket
SuggestionsApi Create POST /admin/suggestions # Create a suggestion
SuggestionsApi DeleteById DELETE /admin/suggestions/{id} # Delete a suggestion
SuggestionsApi Get GET /admin/suggestions # List suggestions Returns a paginated list of suggestions.
SuggestionsApi GetById GET /admin/suggestions/{id} # Retrieve suggestions by id
SuggestionsApi Import POST /admin/suggestions/import # Create a suggestion
SuggestionsApi PublishById PUT /admin/suggestions/{id}/publish
SuggestionsApi SpamById PUT /admin/suggestions/{id}/spam
SuggestionsApi UnremoveById PUT /admin/suggestions/{id}/unremove
SuggestionsApi UpdateById PUT /admin/suggestions/{id} # Update a suggestion
SupportersApi Get GET /admin/supporters # List supporters
SupportersApi GetById GET /admin/supporters/{id} # Retrieve supporters by id
UsersApi BlockById PUT /admin/users/{id}/block
UsersApi Current GET /admin/users/current
UsersApi FindOrCreate POST /admin/users/find_or_create # Create an user
UsersApi Get GET /admin/users # List users
UsersApi GetById GET /admin/users/{id} # Retrieve users by id
UsersApi UnblockById PUT /admin/users/{id}/unblock
ViewsApi Create POST /admin/views # Create a view
ViewsApi DeleteById DELETE /admin/views/{id} # Delete a view
ViewsApi Get GET /admin/views # List views
ViewsApi GetById GET /admin/views/{id} # Retrieve views by id
ViewsApi UpdateById PUT /admin/views/{id} # Update a view

Documentation for Models

Releases

No releases published

Packages

No packages published

Languages