private static HttpResponseMessage EnviarMensagemCliente(string nomeFeirante, string numeroCliente) { var mensagem = $"Pedido recebido, aguarde o Feirante {nomeFeirante} entrar em contato"; var sender = new SenderMessageRequest(); sender.From = "furry-time"; sender.To = numeroCliente; sender.Contents = new List <Models.SendMessageZenvia.Content>(); sender.Contents.Add(new Models.SendMessageZenvia.Content { Type = "text", Text = mensagem, Payload = string.Empty }); var json = JsonConvert.SerializeObject(sender); var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, $"https://api.zenvia.com/v1/channels/whatsapp/messages"); httpRequestMessage.Headers.Add("X-API-TOKEN", "sxyGdagDRB3AFLl51p_y5gGzXnIyx2w4qmzR"); httpRequestMessage.Content = new StringContent(json, Encoding.UTF8, "application/json"); var httpClient = new HttpClient(); var response = httpClient.SendAsync(httpRequestMessage).Result; return(response); }
private static HttpResponseMessage EnviarMensagemFeirante(Pedido pedido, Cliente cliente, Feirante feirante, List <FeiranteProduto> feiranteProdutos) { StringBuilder builder = new StringBuilder(); builder.AppendLine($"Olá {feirante.Nome}"); builder.AppendLine($"{cliente.Nome} tem interesse nos produtos:"); builder.AppendLine(string.Empty); foreach (var feiranteProduto in feiranteProdutos) { builder.AppendLine($"{feiranteProduto.Produto.Nome}, QTD:{feiranteProduto.ProdutoId}"); } var celularClienteMask = long.Parse(cliente.Celular).ToString(@"00 (00) 00000-0000"); var valorTotalFormatado = string.Format(CultureInfo.GetCultureInfo("pt-BR"), "{0:C}", pedido.Total); builder.AppendLine(string.Empty); builder.AppendLine($"Total do pedido: {valorTotalFormatado}"); builder.AppendLine(string.Empty); builder.AppendLine($"Entre em contato com o cliente através do número:{celularClienteMask}"); var sender = new SenderMessageRequest(); sender.From = "furry-time"; sender.To = feirante.Celular; sender.Contents = new List <Models.SendMessageZenvia.Content>(); sender.Contents.Add(new Models.SendMessageZenvia.Content { Type = "text", Text = builder.ToString(), Payload = string.Empty }); var json = JsonConvert.SerializeObject(sender); var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, $"https://api.zenvia.com/v1/channels/whatsapp/messages"); httpRequestMessage.Headers.Add("X-API-TOKEN", "sxyGdagDRB3AFLl51p_y5gGzXnIyx2w4qmzR"); httpRequestMessage.Content = new StringContent(json, Encoding.UTF8, "application/json"); var httpClient = new HttpClient(); var response = httpClient.SendAsync(httpRequestMessage).Result; return(response); }
public IActionResult MensagemEnviada([FromBody] EventHook eventHook) { var jsonEventHook = JsonConvert.SerializeObject(eventHook); _logger.LogInformation($"Acessando POST mensagem-enviada {nameof(ClienteController)} {nameof(eventHook)}: {jsonEventHook}"); foreach (var conteudo in eventHook.Message.Contents.Where(x => x.Type == "text")) { var mensagem = new MensagemZAP { From = eventHook.Message.From, Channel = eventHook.Message.Channel, Direction = eventHook.Message.Direction, To = eventHook.Message.To, Conteudo = conteudo.Text, VisitorFullName = eventHook.Message.Visitor.Name, Data = DateTime.Now, }; _context.MensagemZAP.Add(mensagem); var cliente = _context.Cliente.Where(x => x.Celular == mensagem.From).FirstOrDefault(); if (cliente == null) { cliente = new Cliente(); cliente.Celular = mensagem.From; cliente.Nome = mensagem.VisitorFullName; _context.Cliente.Add(cliente); } _context.SaveChanges(); if (mensagem.Conteudo.ToLower().Contains("oi") && mensagem.Direction == "IN") { Autenticacao autenticacao = new Autenticacao(); autenticacao.ClienteId = cliente.ClienteId; autenticacao.Data = DateTime.Now; autenticacao.GerarCodigo(); _context.Autenticacao.Add(autenticacao); _context.SaveChanges(); var mensagemAutenticacao = $"Digite:{autenticacao.Codigo} para completar a autenticação:"; var sender = new SenderMessageRequest(); sender.From = "furry-time"; sender.To = cliente.Celular; sender.Contents = new List <Models.SendMessageZenvia.Content>(); sender.Contents.Add(new Models.SendMessageZenvia.Content { Type = "text", Text = mensagemAutenticacao, Payload = string.Empty }); var json = JsonConvert.SerializeObject(sender); var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, $"https://api.zenvia.com/v1/channels/whatsapp/messages"); httpRequestMessage.Headers.Add("X-API-TOKEN", "sxyGdagDRB3AFLl51p_y5gGzXnIyx2w4qmzR"); httpRequestMessage.Content = new StringContent(json, Encoding.UTF8, "application/json"); var httpClient = new HttpClient(); var response = httpClient.SendAsync(httpRequestMessage).Result; } } return(Ok()); }