Esempio n. 1
0
 private string GetJsonMessageForSendMediaEndpoint(SendMediaRequest request)
 {
     return(JsonConvert.SerializeObject(MapToMediaRequest(request), new JsonSerializerSettings
     {
         ContractResolver = new CamelCasePropertyNamesContractResolver()
     }));
 }
Esempio n. 2
0
        // messages.sendMedia#a3c85d76 peer:InputPeer media:InputMedia random_id:long = messages.StatedMessage;
        public async Task <MessagesStatedMessage> SendMediaMessage(InputPeer inputPeer, InputMedia media)
        {
            var request = new SendMediaRequest(inputPeer, media);

            await SendRpcRequest(request);

            return(request.statedMessage);
        }
Esempio n. 3
0
        public IActionResult SendMedia(SendMediaRequest request)
        {
            ApiType apiType = (ApiType)Enum.Parse(typeof(ApiType), request.ApiName);

            if (request.File != null)
            {
                if (request.File.Length > 0)
                {
                    var tempPath = Path.GetTempFileName();
                    tempPath = tempPath.Insert(tempPath.IndexOf(".tmp") - 1, Guid.NewGuid().ToString());
                    using (var stream = new FileStream(tempPath, FileMode.Create))
                    {
                        request.File.CopyToAsync(stream);
                    }

                    if (apiType == ApiType.WeboxAppApi)
                    {
                        using (var stream = new FileStream(tempPath, FileMode.Open))
                        {
                            request.Url = WriteMediaToBlobStorage(apiType, stream, request.File.FileName);

                            if (!string.IsNullOrEmpty(request.Url))
                            {
                                WeboxappServiceBridge serviceBridge = new WeboxappServiceBridge();
                                serviceBridge.SendWhatsAppMedia(request);
                            }
                        }
                    }
                    else if (apiType == ApiType.ChatApi)
                    {
                        Byte[] bytes = this.ReadAllBytes2(tempPath); // System.IO.File.ReadAllBytes(tempPath);

                        if (request.File.FileName.Contains(".xlsx"))
                        {
                            request.Url = string.Format("data:attachment/xlsx;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".pdf"))
                        {
                            request.Url = string.Format("data:application/pdf;base64,{0}", Convert.ToBase64String(bytes));
                        }
                        else if (request.File.FileName.Contains(".docx"))
                        {
                            request.Url = string.Format("data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,{0}", Convert.ToBase64String(bytes));
                        }

                        ChatApiServiceBridge serviceBridge = new ChatApiServiceBridge();
                        serviceBridge.SendWhatsAppMedia(request);
                    }
                }
            }

            return(Ok("Uploaded"));
        }
Esempio n. 4
0
 private Media MapToMediaRequest(SendMediaRequest request)
 {
     return(new Media
     {
         Token = Constants.WeboxAppApiToken,
         Uid = request.SenderMobileNumber,
         Customer_uid = request.CustomUniqueID,
         To = request.RecipientMobileNumber,
         Url = request.Url,
         Caption = request.Caption,
         Description = request.Description
     });
 }
Esempio n. 5
0
        public string SendWhatsAppMedia(SendMediaRequest request)
        {
            var jsonRequest = GetJsonMessageForSendMediaEndpoint(request);

            ApiProxy apiProxy = new ApiProxy();

            string response    = null;
            var    apiResponse = apiProxy.PostAsyncEncodedContent(ApiType.WeboxAppApi, Constants.WeboxAppApiSendMediaPOSTEndPoint, jsonRequest);

            if (apiResponse != null)
            {
                if (apiResponse.Result.IsSuccessStatusCode)
                {
                    var customerJsonString = apiResponse.Result.Content.ReadAsStringAsync().Result;
                    response = customerJsonString;
                }
            }
            return(response);
        }