//친구톡 텍스트 동보전송
        public string SendFTS(string CorpNum, string plusFriendID, string snd, string content, string altContent,
                              List <KakaoReceiver> receivers, List <KakaoButton> buttons, string altSendType, bool adsYN, DateTime?sndDT,
                              string requestNum = null, string UserID = null, string altSubject = null)
        {
            if (string.IsNullOrEmpty(plusFriendID))
            {
                throw new PopbillException(-99999999, "검색용 아이디가 입력되지 않았습니다.");
            }
            if (string.IsNullOrEmpty(snd))
            {
                throw new PopbillException(-99999999, "발신번호가 입력되지 않았습니다.");
            }

            FTSSendRequest request = new FTSSendRequest();

            request.plusFriendID = plusFriendID;
            request.snd          = snd;
            request.content      = content;
            request.altSubject   = altSubject;
            request.altContent   = altContent;
            request.altSendType  = altSendType;
            request.adsYN        = adsYN;
            request.sndDT        = sndDT == null ? null : sndDT.Value.ToString("yyyyMMddHHmmss");
            request.msgs         = receivers;
            request.btns         = buttons;
            request.requestNum   = requestNum;

            string PostDate = toJsonString(request);

            ReceiptResponse response = httppost <ReceiptResponse>("/FTS", CorpNum, PostDate, null, null, UserID);

            return(response.receiptNum);
        }
        //친구톡 이미지 동보전송
        public string SendFMS(string CorpNum, string plusFriendID, string snd, string content, string altContent,
                              List <KakaoReceiver> receivers, List <KakaoButton> buttons, string altSendType, bool adsYN, DateTime?sndDT,
                              string imageURL, string fmsfilepath, string requestNum = null, string UserID = null, string altSubject = null)
        {
            if (string.IsNullOrEmpty(value: plusFriendID))
            {
                throw new PopbillException(code: -99999999, Message: "검색용 아이디가 입력되지 않았습니다.");
            }
            if (string.IsNullOrEmpty(value: snd))
            {
                throw new PopbillException(code: -99999999, Message: "발신번호가 입력되지 않았습니다.");
            }

            FTSSendRequest request = new FTSSendRequest();

            request.plusFriendID = plusFriendID;
            request.snd          = snd;
            request.content      = content;
            request.altSubject   = altSubject;
            request.altContent   = altContent;
            request.altSendType  = altSendType;
            request.sndDT        = sndDT == null ? null : sndDT.Value.ToString(format: "yyyyMMddHHmmss");
            request.adsYN        = adsYN;
            request.imageURL     = imageURL;
            request.msgs         = receivers;
            request.btns         = buttons;
            request.requestNum   = requestNum;

            string PostDate = toJsonString(request);

            List <UploadFile> UploadFiles = new List <UploadFile>();

            try
            {
                UploadFile uf = new UploadFile();

                uf.FieldName = "file";
                uf.FileName  = System.IO.Path.GetFileName(fmsfilepath);
                uf.FileData  = new FileStream(fmsfilepath, FileMode.Open, FileAccess.Read);

                UploadFiles.Add(item: uf);
            }
            catch (Exception fe)
            {
                throw new PopbillException(code: -99999999, Message: fe.Message);
            }


            ReceiptResponse response =
                httppostFile <ReceiptResponse>("/FMS", CorpNum, PostDate, UploadFiles, null, UserID);

            return(response.receiptNum);
        }