A classe que a implementa é responsável pela comunicação de sistemas externos com o serviço MoveChat.
Interface para ser utilizada na injeção de dependência. Implementada pela classe MoveChatClient.
Métodos
Task<ConsumerCompany> GetConsumerCompanyAsync :
Obtém as informações da empresa logada de forma assíncrona. Uma empresa é representada pela entidade ConsumerCompany.
Task<ConsumerCompanyUser> CreateConsumerCompanyUserAsync :
Cria e retorna um novo usuário de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
providedId | string | Id do usuário no sistema consumidor. | ✅ |
name | string | Nome do usuário. | ✅ |
role | EConsumerCompanyUserRole | Cargo do usuário. | ✅ |
userProfileImageUrl | string | Url da imagem de perfil do usuário. | ✅ |
Task BatchCreateConsumerCompanyUserAsync :
Cria usuários em lote de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
users | List<CreateConsumerCompanyUserModel> users | Usuários a serem criados | ✅ |
Task<ConsumerCompanyUser> GetConsumerCompanyUserByIdAsync :
Busca usuário através do seu Id no MoveChat de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
Id | Guid | Id do usuário no MoveChat. | ✅ |
Task<ConsumerCompanyUser> GetConsumerCompanyUserByProvidedIdAndRoleAsync :
Busca usuário pelo Id interno do usuário e cargo de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
providedId | string | Id do usuário no sistema consumidor. | ✅ |
role | EConsumerCompanyUserRole | Cargo do usuário. | ✅ |
Task<List<ConsumerCompanyUser>> GetConsumerCompanyUsersAsync :
Lista os usuários da empresa atual de forma paginada e assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
offset | int | Quantidade de itens a serem pulados na paginação. Default: 0. | |
quantity | int | Quantidade de itens a serem retornados. Default: 10. Máximo: 100 |
Task<Room> CreateRoomAsync :
Cria uma nova sala de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
name | string | Nome da sala a ser criada. | ✅ |
chatConfig | ChatConfig | Objeto contendo as configurações de chat da sala a ser criada. | |
questionAnswerConfig | QuestionAnswerConfig | Objeto contendo as configurações de Questions and Answers da sala a ser criada. |
Task<bool> UpdateRoomAsync :
Atualiza informações de uma sala de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
Room | Room | Objeto de sala com as informações atualizadas. | ✅ |
Task<bool> DeleteRoomAsync :
Exclui uma sala de forma assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
roomId | Guid | Id da sala a ser excluída. | ✅ |
Task<Room> GetRoomByIdAsync :
Busca uma sala pelo Id de forma assíncrona.
Parâmetros
Nome | Descrição | Obrigatório |
---|---|---|
id | O id da sala a ser buscada. | ✅ |
Task<List<Room>> GetRoomsAsync :
Lista salas da ConsumerCompany de forma paginada e assíncrona.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
offset | int | O número de itens a serem pulados. | |
quantity | int | O número de itens a serem retornados. Limite: 100 |
Task GetRoomMessagesAsync
Lista, de forma paginada e assíncrona, RoomMessage de uma sala.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
roomId | guid | Id da sala | ✅ |
messageType | ERoomMessageType | Tipo das mensagens a serem buscadas | ✅ |
offset | int | O número de itens a serem pulados. | |
quantity | int | O número de itens a serem retornados. Limite: 500 |
Task<List> GetAllRoomMessagesAsync
Lista todas RoomMessage de um tipo em uma Room de forma assíncrona. O tempo de execução do método cresce em função do número mensagens em uma sala. Utilize o evento GetAllRoomMessagesProgressChangedEvent para verificar a progressão do método.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
roomId | guid | Id da sala | ✅ |
messageType | ERoomMessageType | Tipo das mensagens a serem buscadas | ✅ |
Eventos
GetAllRoomMessagesProgressChangedEvent
Evento enviado sempre que há atualização no progresso do método GetAllRoomMessagesAsync.
Sintaxe:
public delegate void OnGetAllRoomMessagesProgressChangedEventHandler(double changedProgress);
public event OnGetAllRoomMessagesProgressChangedEventHandler GetAllRoomMessagesProgressChangedEvent;