private string GetJsonMessageForSendMediaEndpoint(SendMediaRequest request) { return(JsonConvert.SerializeObject(MapToMediaRequest(request), new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() })); }
// 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); }
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")); }
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 }); }
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); }