HelpScout.Net
7.2.0
dotnet add package HelpScout.Net --version 7.2.0
NuGet\Install-Package HelpScout.Net -Version 7.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HelpScout.Net" Version="7.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HelpScout.Net --version 7.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HelpScout.Net, 7.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HelpScout.Net as a Cake Addin #addin nuget:?package=HelpScout.Net&version=7.2.0 // Install HelpScout.Net as a Cake Tool #tool nuget:?package=HelpScout.Net&version=7.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HelpScoutNet
HelpScoutNet is a .NET class library that provides an easy-to-use interface for the helpscout.net v2.0 web api
Endpoints Implemented
Help Desk API
- Conversation
- Customers
- Mailboxes
- Tags
- Users
- Workflows
Docs API
Nothing done yet
Examples
Initialization of the client
var client=new HelpScoutApiClient("clientId","clientSecret");
//initialize token from the given credentials
await client.GetToken(true);
Customer Endpoints
List Customer
//search customer by their first name, pass null to list
var searchQuery = new CustomerSearchQuery(){FirstName = "Otis" };
var pagedCustomer = await client.Customers.List(searchQuery);
foreach (var customer in pagedCustomer.Items)
{
Console.WriteLine("First Name :{0}, Last Name: {1}",customer.FirstName,customer.LastName);
}
Get Customer Detail
//search customer by their first name, pass null to list
var customerDetail= await client.Customers.Get(id);
Console.WriteLine($"First Name:{customerDetail.FirstName}");
foreach (var email in customerDetail.Embedded.Emails)
{
Console.WriteLine($"Email:{email.Value}, Type:{email.Type}");
}
List Mailboxes
var mailBoxList = await client.Mailboxes.List();
foreach (var mailBox in mailBoxList.Items)
{
Console.WriteLine($"{mailBox.Name}");
}
Create conversation
var req = new ConversationCreateRequest
{
MailboxId = 177024,
Type = ConversationType.Email,
Subject = "Hey there!",
Tags = new List<string> { "high-priority" },
Status = ConversationStatus.Pending,
Customer = new Customer
{
Email = "arjuns@selz.com"
},
Threads = new List<ThreadCreateRequest>
{
//add a note to this conversation
new ThreadCreateRequest
{
Type = ThreadType.Note,
Text = "Can you please resolve this issue asap.",
},
new ThreadCreateRequest
{
Type = ThreadType.Customer,
Text = "This issue keeps happening.",
Customer = new CreateConservationThreadCustomer
{
Email = "arjuns@selz.com"
}
}
}
};
var conversationId = await client.Conversations.Create(req);
Console.WriteLine($"Created Conversation Id: {conversationId}");
Get conversation detail
var conversationDetail = await client.Conversations.Get(conversationId);
Console.WriteLine($"Subject: {conversationDetail.Subject}");
Delete a conversation
await client.Conversations.Delete(conversationId);
Creating Threads
var threadEndpoint = client.Conversations.Endpoints.Threads(conversationId);
var customerThread = new CreateThreadRequest()
{
Text = "This is a customer thread"
};
await threadEndpoint.CreateCustomerThread(customerThread,customerId);
//Similarly, Chat, Phone, Reply threads can be created
var noteThread = new CreateThreadRequest()
{
Text = "This is a note thread"
Attachments=new List<Attachment>{
new Attachment{
FileName="Some attachment name",
MimeType="image/png",
Data=Convert.ToBase64String(File.ReadAllBytes("C:\\some-attachment.png"))
}
}
};
//note thread does not require customerId
await threadEndpoint.CreateNoteThread(noteThread);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
7.2.0 | 271 | 8/3/2023 |