Movidesk.Api.Client
1.1.0
dotnet add package Movidesk.Api.Client --version 1.1.0
NuGet\Install-Package Movidesk.Api.Client -Version 1.1.0
<PackageReference Include="Movidesk.Api.Client" Version="1.1.0" />
paket add Movidesk.Api.Client --version 1.1.0
#r "nuget: Movidesk.Api.Client, 1.1.0"
// Install Movidesk.Api.Client as a Cake Addin #addin nuget:?package=Movidesk.Api.Client&version=1.1.0 // Install Movidesk.Api.Client as a Cake Tool #tool nuget:?package=Movidesk.Api.Client&version=1.1.0
Movidesk.Api.Client
Uma biblioteca em .netstandard para trabalhar com as APIs da Movidesk.
APIs implementadas na biblioteca até o momento
- Ticket
- Person
- Service
Como instalar
Instale o NuGet e execute a partir do package manager console:
PM> Install-Package Movidesk.Api.Client
Criando o cliente
MovideskApiClientOptions options = new MovideskApiClientOptions { Token = "movidesk-token" };
MovideskClient client = new MovideskClient(new MovideskApiClient(options));
Integração com Tickets
Documentação da API de Tickets da Movidesk: https://atendimento.movidesk.com/kb/pt-br/article/256/movidesk-ticket-api
Pegar ticket por id
...
var ticket = await client.Tickets.GetById(42);
Pegar uma lista de tickets
É obrigatório informar os campos do filtro $select para buscar uma lista de tickets.
...
var tickets = await client.Tickets.Get(new OData { Select = "id,subject" });
Criar um ticket (POST)
...
var result = await client.Tickets.Post(new Ticket
{
Subject = "meu ticket",
Type = Enums.TicketType.Internal,
CreatedBy = new TicketPerson { Id = "ref_code" },
Actions = new List<TicketAction>
{
new TicketAction {
Description = "minha ação",
Type = Enums.TicketType.Internal
}
},
Clients = new List<TicketClient>
{
new TicketClient { Id = "ref_code" }
}
});
Atualizar um ticket (PATCH)
As atualizações são feitas informando somente os atributos que desejam ser atualizados. Neste exemplo somente o campo Subject
será atualizado.
...
var result = await client.Tickets.Patch(42, new Ticket
{
Subject = "meu assunto de ticket alterado"
});
Integração com Pessoas (Persons)
Documentação da API de Pessoas da Movidesk: https://atendimento.movidesk.com/kb/pt-br/article/189/movidesk-person-api
Pegar uma pessoa por ID
...
var person = await client.Persons.GetById("42");
Pegar uma lista de pessoas
...
var persons = await client.Persons.Get();
Pegar uma lista de pessoas com filtros
Retorna uma lista de pessoas, com profileType = 2, os 10 primeiros registros, pulando 30 registros e selecionando os campos id e businessName.
...
var persons = await client.Persons.Get(new OData
{
Filter = "profileType eq 2",
Top = 10,
Skip = 30,
Select = "id,businessName"
});
Criar uma pessoa (POST)
...
var result = await client.Persons.Post(new Person
{
BusinessName = "James Bond",
ProfileType = Enums.ProfileType.Agent,
PersonType = Enums.PersonType.Person,
IsActive = true,
AccessProfile = "Agentes",
Teams = new List<string> { "Agentes" }
});
Atualizar uma pessoa (PATCH)
As atualizações são feitas informando somente os atributos que desejam ser atualizados. Neste exemplo somente o campo BusinessName
será atualizado.
...
var result = await client.Persons.Patch("007", new Person { BusinessName = "Bond, James Bond" });
Excluir uma pessoa (DELETE)
...
var result = await client.Persons.Delete("007");
Integração com Serviços (Services)
Documentação da API de Serviços da Movidesk: https://atendimento.movidesk.com/kb/pt-br/article/7440/api-servicos
Pegar um serviço por Id
...
var result = await client.Services.GetById(42);
Pegar uma lista de serviços
...
var result = await client.Services.Get();
Pegar uma lista de serviços com filtro
...
var result = client.Services.Get(new OData { Top = 1 });
Criar um serviço (POST)
...
var result = await client.Services.Post(new Service
{
Name = "Serviço",
Description = "Desc",
IsVisible = ServiceVisibility.AgentAndClient,
ServiceForTicketType = ServiceTicketType.PublicAndInternal,
AllowSelection = ServiceSelection.AgentAndClient,
AllowFinishTicket = true,
IsActive = true,
AllowAllCategories = true
});
Criar um serviço (POST)
...
var result = await client.Services.Post(new Service
{
Name = "Serviço",
Description = "Desc",
IsVisible = ServiceVisibility.AgentAndClient,
ServiceForTicketType = ServiceTicketType.PublicAndInternal,
AllowSelection = ServiceSelection.AgentAndClient,
AllowFinishTicket = true,
IsActive = true,
AllowAllCategories = true
});
Atualizar um serviço (PATCH)
As atualizações são feitas informando somente os atributos que desejam ser atualizados. Neste exemplo somente o campo Description
será atualizado.
...
var result = await client.Services.Patch(42, new Service { Description = "Nova descrição" });
Remover um serviço (DELETE)
...
var result = await client.Services.Delete(42);
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. |
.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. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 12.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
TimeAgreement integration