コード例 #1
0
        public static GeneralResponse <bool> SetInvoiceAnswerRequest(SetInvoiceAnswer model)
        {
            var request = SetHeaders("/einvoice/setAnswer");

            request.Method = Method.POST;
            request.AddBody(model);
            var response = Client.Execute(request);

            return(response.Parse <bool>());
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Client = new RestClient(Nes.RestApi.CSharp.Example.Constant.BaseUrl);

            #region Account
            var templateListResponse = TemplateListRequest(Constant.InvoiceType.eInvoice); // Hesabınızda tanımlı olan XSLT listesinin detaylarını almak için kullanılır.
            var getTemplateResponse  = GetTemplateRequest(new GetTemplateRequest()
            {
                TemplateType = GetTemplateType.EInvoice, Title = "TASARIM_BASLIGI"
            });                                                                                                                                            //Hesabınızda tanımlı olan XSLT yi almak için kullanılır.
            #endregion

            #region Customer
            var checkResponse       = CheckRequest(CustomerVknTckn); //Bir firma/kişinin e-Fatura mükellefi olup olmadığını sorgulamak için kullanılır.
            var getAllResponse      = GetAllRequest();               //GIB'de kayıtlı bütün E-Fatura mükelleflerini çekmek için kullanılır.
            var downloadZipResponse = DownloadZipRequest();          //GIB'de kayıtlı bütün E-Fatura mükelleflerini ZIP içerisinde XML olarak çekmek için kullanılır.
            #endregion

            #region EArchive
            var getDocumentStatusResponse = GetDocumentStatusRequest(EArchiveInvoiceUUID); //E-Arşiv faturalarının durumlarını sorgulamak için kullanılır.
            var getMailStatisticsResponse = GetMailStatisticsRequest(EArchiveInvoiceUUID); //E-Arşiv faturalarının mail durumlarını sorgulamak için kullanılır.
            var setInvoiceCancelResponse  = SetInvoiceCancelRequest(EArchiveInvoiceUUID);  //E-Arşiv faturaların iptal edilmesi için kullanılır.

            var sendMailRequest = new SendMailRequest()
            {
                InvoiceUUID      = EArchiveInvoiceUUID,
                ReceiverMailList = new List <string>()
                {
                    "ALICI_MAIL_ADRESI", "ALICI_MAIL_ADRESI_1", "ALICI_MAIL_ADRESI_2"
                }
            };
            var sendMailResponse = SendMailRequest(sendMailRequest); //E-Arşiv faturalarını mail olarak göndermek için kullanılır
            #endregion

            #region EInvoice

            var saleInvoiceStatusResponse               = SaleInvoiceStatusRequest(EInvoiceUUID);                //Giden E-Faturaların durumlarını sorgulamak için kullanılır.
            var getUnAnsweredInvoiceUUIDListResponse    = GetUnAnsweredInvoiceUUIDListRequest();                 //Firmanıza gelen ve cevap verilmemiş olan Ticari Faturaların ETTn listesini almak için kullanılır. Burada dönen listedeki ETTN ler üzerinden faturaya cevap verme işlemini gerçekleştirebilirsiniz.
            var getUnTransferredInvoiceUUIDListResponse = GetUnTransferredInvoiceUUIDListRequest(CustomerAlias); //Firmanıza gelen ve içeriye aktarılmamış (ERP'ye Alınmamış) faturaların ETTN listesini almak için kullanılır. Etiket bilgisi opsiyoneldir. Detalar dokümantasyonda mevcuttur.
            var setInvoiceTransferredResponse           = SetInvoiceTransferredRequest(EInvoiceUUID);            //ERP'ye yazılmış olan Gelen E-Faturanın NESBilgi üzerinde Transfer Edildi olarak işaretlemek için kullanılır.

            var setInvoiceAnswerRequest = new SetInvoiceAnswer()
            {
                Answer       = ServiceAnswer.Accepted,
                InvoiceUuid  = EInvoiceUUID,
                IsDirectSend = true,
                RejectNote   = "RED_YANITI_GIRILIR"
            };
            var setInvoiceAnswerResponse = SetInvoiceAnswerRequest(setInvoiceAnswerRequest); //Gelen Ticari E-Faturaya cevap vermek için kullanılır.
            #endregion

            #region InvoiceGeneral
            var getUBLXmlContentResponse         = GetUBLXmlContentRequest(EInvoiceUUID);         //Gelen/Giden E-Fatura veya E-Ariv Faturalarının UBL Xml içeriğini almak için kullanılır.
            var getInvoiceHtmlRequestResponse    = GetInvoiceHtmlRequest(EInvoiceUUID);           //Gelen/Giden E-Fatura veya E-Ariv faturalarının HTML formatında önizlemesini almak için kullanılır.
            var getInvoicePdfResponse            = GetInvoicePdfRequest(EInvoiceUUID);            //Gelen/Giden E-Fatura veya E-Arşiv Faturalarının PDF halini almak için kullanılır.
            var GetInvoiceNumberFromUUIDResponse = GetInvoiceNumberFromUUIDRequest(EInvoiceUUID); //Gelen/Giden E-Fatura veya E-Arşiv faturalarının 16 Haneli fatura numarasını almak için kullanılır.


            #region SendUBLInvoice//UBL Xml Formatında E-Fatura Göndermek İçin Kullanılır
            ZipFile zip     = new ZipFile();
            var     xmlFile = @"D:\e-FaturaPaketi\e-FaturaPaketi\xml\be770327-b0fe-4511-9ff7-15936bcd1c17.xml";
            zip.AddEntry(Path.GetFileName(xmlFile), File.ReadAllBytes(xmlFile));

            MemoryStream ms = new MemoryStream();
            zip.Save(ms);
            ms.Position = 0;

            byte[] data = ms.ToArray();

            var sendUBLInvoiceRequest = new
            {
                transferDocument = new NESTransferDocument()
                {
                    FileName           = Path.GetFileNameWithoutExtension(xmlFile) + ".zip",
                    IsDirectSend       = true,
                    UUID               = EInvoiceUUID,
                    ZIPBinaryDataArray = data
                },
                invoiceProfile         = InvoiceProfile.TICARIFATURA,
                customerRegisterNumber = CustomerVknTckn,
                eInvoiceAlias          = CustomerAlias
            };
            var sendUBLInvoiceResponse = SendUBLInvoiceRequest(sendUBLInvoiceRequest);
            #endregion

            #region Token Alma İşlemi
            var tokenResult = GetToken(new TokenRequest()
            {
                username = "******", password = "******"
            });
            if (tokenResult.ErrorStatus == null)
            {
                accessToken = tokenResult.Result.access_token;
            }
            #endregion


            #region SendNESInvoice//NESInvoice Formatında XML Göndermek İçin Kullanılır
            var invoice = InvoiceGenerator.GetStandarInvoice();
            //Fatura üzerine ek bilgiler eklemek için kullanabilirsiniz.
            invoice.InvoiceInfo.AdditionalDocumentReferences = new System.Collections.Generic.List <AdditioanlDocumentReference>()
            {
            };
            invoice.InvoiceInfo.AdditionalDocumentReferences.Add(new AdditioanlDocumentReference()
            {
                DocumentType = "BRANCH_NAME",
                ID           = "Şube Adı"
            });
            //Özel değer
            invoice.InvoiceInfo.AdditionalDocumentReferences.Add(new AdditioanlDocumentReference()
            {
                DocumentType = "BRANCH_ADDRESS",
                ID           = "Şube adresi"
            });
            var sendNESInvoiceRequest = new
            {
                nesInvoice             = invoice,
                invoiceProfile         = InvoiceProfile.TICARIFATURA,
                customerRegisterNumber = CustomerVknTckn,
                isDirectSend           = true
            };
            var sendNESInvoiceResponse = SendNESInvoiceRequest(sendNESInvoiceRequest);
            #endregion
            #endregion
        }