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
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
apikey | string | Chave de API. Ver aplique para usar a ferramenta para saber como obter uma. | ✅ |
requestTimeout | int | Tempo 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.