Guia de intalação e utilização da biblioteca Move Chat SDK

Instalação

A instalação do pacote na solução pode ser feita através do gerenciador de pacotes NuGet tanto pelo Visual Studio quanto por CLI. Clique aqui para visualizar o pacote.

Utilização com AddMoveChat

A utilização do projeto deve ser feita através de injeção de dependência. A biblioteca fornece o método de extensão do IServiceCollection chamado AddMoveChat, o qual é responsável por configurar o Move Chat SDK.

Parâmetros do método AddMoveChat

NomeTipoDescriçãoObrigatório
apikeystringChave de API. Ver aplique para usar a ferramenta para saber como obter uma.
requestTimeoutintTempo máximo que o MoveChatClient deve esperar por uma resposta do serviço MoveChat.

Exemplo

builder.Services.AddMoveChat("apiKey");
public class ExampleClass
{
  private IMoveChatClient _moveChatClient;
  
  public ExampleClass(IMoveChatClient moveChatClient)
  {
    _moveChatClient = moveChatClient;
  }
}

Utilização com a configuração manual

É possível também configurar manualmente a injeção de dependência para consumo do SDK, recomendamos este processo caso você implemente sua própria versão do IMoveChatService ou IMoveChatClient, ou caso utilize uma biblioteca de injeção não compatível com o IServiceCollection.

Abaixo temos um exemplo de configuração da injeção de dependência com as classes necessárias para utilização do SDK:

🚧

Caso esteja utilizando a implementação padrão do MoveChatService, o JsonSerializerOptions do RestClient deve receber um JsonStringEnumConverter conforme mostrado no exemplo.

services.AddHttpClient("MoveChatSDK", httpClient =>
{
  httpClient.Timeout = TimeSpan.FromSeconds(60000);
  httpClient.DefaultRequestHeaders.Accept.Clear();
  httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  httpClient.DefaultRequestHeaders.Add("User-Agent", "MoveChat .NET SDK");
});
services.AddScoped<IMoveChatAuth, MoveChatAuth>(sp => new MoveChatAuth(apiKey));
services.AddScoped<IMoveChatService, MoveChatService>();
services.AddScoped<IMoveChatClient, MoveChatClient>();

Utilizando sem injeção de dependências

É possível utilizar o SDK sem uma injeção de dependência. Temos abaixo um exemplo das etapas de configuração necessárias para obtenção do MoveChatClient:

//Configurando um HttpClient
var httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromSeconds(60000);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Add("User-Agent", "MoveChat .NET SDK");

//configurando a autenticação, serviço e cliente
var auth = new MoveChatAuth(apiKey);
var moveChatService = new MoveChatService(auth, httpClient);
var moveChatClient = new MoveChatClient(moveChatService);

🚧

O código acima é um exemplo de como instanciar as classes do MoveChat e das configurações necessárias no HttpClient. Confira a documentação da Microsoft para determinar a melhor maneira de declarar o HttpClient na sua aplicação.