برای دریافت سورس کد نمونه و مشاوره لطفا با شماره ۷۷۹۵۸۲۱۳-۰۲۱ تماس بگیرید.
ﻭﺭﻭﺩﻱ | ﻧﻮﻉ ﻭﺭﻭﺩﻱ | ﻣﻘﺎﺩﻳﺮ ﭘﻴﺶ ﻓﺮﺽ | ﺗﻮﺿﻴﺤﺎﺕ |
---|---|---|---|
clientId | String | Null | ﺷﻨﺎﺳﻪ ﻛﻼﻳﻨﺖ ﺩﺭﺧﻮﺍﺳﺖ ﺩﻫﻨﺪﻩ |
signatoryConfig | SignatoryConfig | Null | ﻛﺎﻧﻔﻴﮓ ﻣﺮﺑﻮﻁ ﺑﻪ ﺍﻣﻀﺎﻱ ﻳﻚ ﺭﺷﺘﻪ، ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺍﻳﻨﻜﻪ ﺍﺯ ﭼﻪ
ﻣﻜﺎﻧﻴﺰﻣﻲ ﺑﺮﺍﻱ ﺍﻣﻀﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ، (ﺗﻮﻛﻦ ﻧﺮﻡ ﺍﻓﺰﺍﺭﻱ، ﺳﺨﺖ ﺍﻓﺰﺍﺭﻱ، (… ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻫﺎﻱ ﻣﺨﺘﻠﻔﻲ ﺑﺮﺍﻱ ﺍﻳﻦ ﻛﻼﺱ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪﻩ ﺍﺳﺖ. ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﺯ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﺩﻳﮕﺮ ﺗﺎﺑﻊ Init ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ ﻛﻪ ﻭﺭﻭﺩﻱ signatoryConfig ﺭﺍ ﻧﺪﺍﺭﺩ ﻭ ﺑﻪ ﭼﺎﻱ ﺁﻥ ﺑﺎﻳﺪ ﻛﻼﺱ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﺍﻣﻀﺎ ﺑﻪ ﺻﻮﺭﺕ ﺟﻨﺮﻳﻚ ﺑﻪ ﺗﺎﺑﻊ Init ﺩﺍﺩﻩ ﺷﻮﺩ . ﻧﻜﺘﻪ : ﻛﻼﺱ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﺍﻣﻀﺎ ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﺍﻳﻨﺘﺮﻓﻴﺲ ISignatory ﺭﺍ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻛﻨﺪ ﻛﻪ ﺷﺎﻣﻞ ﺩﻭ ﺗﺎﺑﻊ Sign ﻭ GetKeyId ﺍﺳﺖ ﻛﻪ ﺑﺎﻳﺴﺘﻲ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﺷﻮﻧﺪ . ﺩﺭ SDK ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ InMemorySignatory ﻗﺮﺍﺭ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﺧﺼﻮﺻﻲ ﺩﺭ ﺭﻡ ﻧﮕﻬﺪﺍﺭﻱ ﻣﻴﺸﻮﺩ. ﺩﺭ ﺻﻮﺭﺗﻲ ﻛﻪ ﻣﻲ ﺧﻮﺍﻫﻴﺪ ﺍﺯ ﺍﻳﻦ ﻛﻼﺱ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ ﺑﺎﻳﺪ ﻭﺭﻭﺩﻱ signatoryConfig ﺭﺍ ﺑﻪ ﺗﺎﺑﻊ Init ﺑﺪﻫﻴﺪ |
baseUrl | String | https://tp.tax.gov.ir/req/api/self-tsp | ﺁﺩﺭﺱ ﭘﺎﻳﻪ ﺍﺗﺼﺎﻝ ﺑﻪ ﺳﺎﻣﺎﻧﻪ ﻣﻮﺩﻳﺎﻥ. ﺍﻳﻦ ﺁﺩﺭﺱ ﺑﺮ ﺍﺳﺎﺱ
ﺍﻳﻨﻜﻪ ﺑﻪ ﭼﻪ ﺳﺮﻭﺭﻱ (ﻋﻤﻠﻴﺎﺗﻲ، ﺁﺯﻣﺎﻳﺸﻲ) ﻗﺮﺍﺭ ﺍﺳﺖ ﻣﺘﺼﻞ ﺷﻮﻧﺪ ﻣﺘﻔﺎﻭﺕ ﺧﻮﺍﻫﺪ ﺑﻮﺩ . |
apiVersion | String | ﺧﺎﻟﻲ | ﺷﻤﺎﺭﻩ ﻧﺴﺨﻪ API ﺳﺎﻣﺎﻧﻪ ﻣﻮﺩﻳﺎﻥ |
encryptionConfig | EncryptionConfig | null | ﻛﻼﺱ ﻣﺮﺑﻮﻁ ﺑﻪ ﻛﺎﻧﻔﻴﮓ ﺭﻣﺰﻧﮕﺎﺭﻱ ﺑﺴﺘﻪ ﻫﺎ ﺟﻬﺖ ﺍﺭﺳﺎﻝ ﺑﻪ
ﺳﺎﻣﺎﻧﻪ ﻣﻮﺩﻳﺎﻥ ﺍﻳﻦ ﻛﻼﺱ ﺩﺍﺭﺍﻱ ﺳﺎﺯﻧﺪﻩ ﺍﻱ ﺷﺎﻣﻞ ﺩﻭ ﻭﺭﻭﺩﻱ ﺯﻳﺮ ﺍﺳﺖ : : taxOrgPublicKey ﻛﻠﻴﺪ ﻋﻤﻮﻣﻲ ﺳﺎﺯﻣﺎﻥ : encryptionKeyId ﺷﻨﺎﺳﻪ ﻛﻠﻴﺪ ﺭﻣﺰﻧﮕﺎﺭﻱ ﻧﻜﺘﻪ : ﺩﺭ ﺻﻮﺭﺕ ﭘﺮ ﻧﻜﺮﺩﻥ ﺍﻳﻦ ﻛﺎﻧﻔﻴﮓ ﺑﺎﻳﺪ ﻗﺒﻞ ﺍﺯ ﻓﺮﺍﺧﻮﺍﻧﻲ ﻫﺮﻛﺪﺍﻡ ﺍﺯ api ﻫﺎ ﺑﺎﻳﺪ GetServerInformation() api ﺭﺍ ﻓﺮﺍﺧﻮﺍﻧﻲ ﻧﻤﺎﻳﻴﺪ ﺗﺎ ﺩﻭ ورودی قبلی به طور خودکار پر شوند |
ﻧﻤﻮﻧﻪ ﭘﻴﻜﺮﺑﻨﺪی ﺳﺎﺩﻩ API ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺍﺳﺖ. ﺑﺮﺍی ﭘﻴﻜﺮﺑﻨﺪی، ﻛﺎﻧﻔﻴﮓ ﻛﺮﺩﻥ ﺍﻣﻀﺎ الزامی ﺍﺳﺖ. ﻭﺭﻭﺩی ﻛﻼﺱ ﺍﻣﻀﺎ ﻛﻠﻴﺪ ﺧﺼﻮصی ﺍﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﻋﻤﻮمی ﺁﻥ ﺭﺍ ﺩﺭ ﻛﺎﺭﭘﻮﺷﻪ ﺁﭘﻠﻮﺩ ﻛﺮﺩﻩﺍﻳﺪ.
ﻧﻤﻮﻧﻪ ﭘﻴﻜﺮﺑﻨﺪی ﭘﻴﭽﻴﺪﻩ ﺗﺮ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺍﺳﺖ. API_VERSION ﻧﺴﺨﻪ ﺳﺎﻣﺎﻧﻪ ﻣﻮﺩﻳﺎﻥ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺻﻮﺭﺕ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺴﺨﻪ ﺟﺪﻳﺪ ﺑﺎﻳﺪ ﺑﺮﺍﺑﺮ ﺑﺎ ﻣﻘﺪﺍﺭ ” v1 ” ﺑﺎﺷﺪ.
دﺭ ﺻﻮﺭتی ﻛﻪ ﺑﺨﻮﺍﻫﻴﺪ ﺍﺯ ﻛﻼﺱ ﺍﻣﻀﺎی ﺩﻟﺨﻮﺍﻩ ﺧﻮﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ، ﺑﺎﻳﺪ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﭘﻴﻜﺮﺑﻨﺪی ﻛﻨﻴﺪ. CustomSignatory ﻛﻼﺱ ﺍﻣﻀﺎی ﺩﻟﺨﻮﺍﻩ ﺍﺳﺖ ﻛﻪ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﺍﻳﻨﺘﺮﻓﻴﺲ ISignatory ﺭﺍ ﭘﻴﺎﺩﻩ ﺳﺎﺯی ﻛﻨﺪ.
ﺩﺭ ﺍﻳﻦ ﺣﺎﻟﺖ ﻧﻤﻮﻧﻪ ﭘﻴﻜﺮﺑﻨﺪی ﭘﻴﭽﻴﺪﻩﺗﺮ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺍﺳﺖ. API_VERSION ﻧﺴﺨﻪ ﺳﺎﻣﺎﻧﻪ ﻣﻮﺩﻳﺎﻥ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺻﻮﺭﺕ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺴﺨﻪ ﺟﺪﻳﺪ ﺑﺎﻳﺪ ﺑﺮﺍﺑﺮ ﺑﺎ ﻣﻘﺪﺍﺭ ” v1 ” ﻭ ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ ﺧﺎلی ﺑﺎﺷﺪ.
ﺩﺭ ﺻﻮﺭتی ﻛﻪ ﻛﻼﺱ ﭘﻴﺎﺩﻩ ﺳﺎﺯی ﺍﻣﻀﺎی ﺩﻟﺨﻮﺍﻩ ﺧﻮﺩ ﺭﺍ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﺪ ﺑﺎﻳﺪ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻛﻨﻴﺪ. CustomSignatory ﻛﻼﺱ ﺍﻣﻀﺎی ﺩﻟﺨﻮﺍﻩ ﺍﺳﺖ ﻛﻪ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﺍﻳﻨﺘﺮﻓﻴﺲ ISignatory ﺭﺍ ﭘﻴﺎﺩﻩ ﺳﺎﺯی ﻛﻨﺪ.
ﻭﺭﻭﺩی ﺩﻭﻡ ﺍﻳﻦ ﺗﺎﺑﻊ ﻫﺪﺭﻫﺎی ﺩﺭﺧﻮﺍﺳﺖ ﻫﺴﺘﻨﺪ. ﺳﻪ ﻫﺪﺭ ﺩﺭ ﺍﻳﻦ ﻻﻳﻪ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪﻩ ﺍﺳﺖ. ﺩﺭ ﺻﻮﺭتی ﻛﻪ ﻫﺮ ﻛﺪﺍﻡ ﺍﺯ ﺍﻳﻦ ﻫﺪﺭﻫﺎ ﺩﺭ ﻭﺭﻭﺩی ﺗﻌﺮﻳﻒ ﻧﺸﻮﺩ، ﺑﻪ ﺻﻮﺭﺕ ﺧﻮﺩﻛﺎﺭ ﭘﺮ ﻣﻴﺸﻮﻧﺪ. ﻫﺪﺭﻫﺎ ﺑﻪ ﺷﺮﺡ ﺯﻳﺮ ﺍﺳﺖ.
ﻋﻨﻮﺍﻥ ﺗﻮﻛﻦ | ﺗﻮﺿﻴﺤﺎﺕ |
---|---|
Authorization | ﺗﻮﻛﻦ ﺩﺳﺘﺮﺳﻲ ﺑﻪ api |
requestTraceId | ﺷﻨﺎﺳﻪ ﺗﺼﺎﺩﻓﻲ ﺑﺮﺍﻱ ﺟﻠﻮﮔﻴﺮﻱ ﺍﺯ ﺗﻜﺮﺍﺭ ﺩﺭﺧﻮﺍﺳﺖ |
timestamp | ﺯﻣﺎﻥ ﺍﺭﺳﺎﻝ ﺑﺴﺘﻪ ﺑﻪ ﺻﻮﺭﺕ timestamp ﺑﻪ ﻣﻴﻠﻲ ﺛﺎﻧﻴﻪ |
|
---|
|
---|
|
---|
|
---|
ﺑﺮﺍﻱ ﺍﺭﺳﺎﻝ ﺻﻮﺭﺕ ﺣﺴﺎﺏ ﺍﺯ TaxApiService.Instance.TaxApis.SendInvoices ﺍﺳﺘﻔﺎﺩﻩ میﻛﻨﻴﻢ . ﺑﺮﺍﻱ ﺍﺭﺳﺎﻝ ﺻﻮﺭﺕ ﺣﺴﺎﺏ ﺑﺎﻳﺪ ﻣﺎﻧﻨﺪ ﺯﻳﺮ ﻋﻤﻞ ﻛﻨﻴﺪ. ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ invoice1 ﻭ invoice2 ﻭ … ﻫﺮ ﻳﻚ ﺻﻮﺭﺕ ﺣﺴﺎﺏ ﺟﺪﺍﮔﺎﻧﻪ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎﻳﺪ ﭘﺮ ﺷﻮﻧﺪ. ﻫﻤﭽﻨﻴﻦ ﻫﺮ ﻛﺪﺍﻡ ﺍﺯ ﺟﻨﺲ InvoiceDto ﻫﺴﺘﻨﺪ .
ﺷﻤﺎﺭﻩ ﻣﺎﻟﻴﺎتی ﺍﺯ ﺳﻪ ﺑﺨﺶ ﺗﺸﻜﻴﻞ ﻣﻴﺸﻮﺩ. ﺑﺨﺶ ﺍﻭﻝ ﺷﻨﺎﺳﻪ ﺣﺎﻓﻈﻪ، ﺑﺨﺶ ﺩﻭﻡ ﺗﺎﺭﻳﺦ ﺍﻳﺠﺎﺩ ﺻﻮﺭﺕ ﺣﺴﺎﺏ ﻭ ﺑﺨﺶ ﺳﻮﻡ ﺳﺮﻳﺎﻝ ﺻﻮﺭﺕ ﺣﺴﺎﺏ ﺍﺳﺖ. ﺑﺮﺍی ﺳﻬﻮﻟﺖ ﺗﻮﻟﻴﺪ ﺷﻤﺎﺭﻩ ﻣﺎﻟﻴﺎتی ﻣﻴﺘﻮﺍﻧﻴﺪ ﺍﺯ ﻛﻼﺱ ITaxIdGenerator ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ. ﻛﺪ ﺯﻳﺮ ﻧﻤﻮﻧﻪ ﺗﻮﻟﻴﺪ ﺷﻤﺎﺭﻩ ﻣﺎﻟﻴﺎتی ﺭﺍ ﻧﻤﺎﻳﺶ ﻣﻴﺪﻫﺪ.
پارامتر اول شناسه حافظه، پارامتر دوم سریال صورت حساب که عدد ی حداکثر با طول 12 رقم است و پارامتر آخر زمان دور صورت حساب با فرمت DateTime زبان C #است.نمونه کد ارسال صورت حساب به صورت زیر است
منبع: راهرخ
SDK رو از کجا میشه دانلود ;رد
مطالب بسیار با ارزش و گرانبهایی می باشد . در حال مطالعه هستم
درود به همراه عرض تبریک سال نو،
از توجه و حسن نظر شما سپاسگزاریم، وقتی مطالعه کنندگانی چون شما بازخورد ارائه میکنید، به ما در راستای تولید محتوای کابردی بهتر برای کسب و کارها و علاقمندان کمک میکنید لذا کمال تشکر را از شما عزیزان داریم.
سپاس
سپاس و خدا پدر و مادرت را بیامرزد
با سلام و سپاس از اطلاعات بسیار مفیدتان. اگر ممکن است بفرمایید که صورت حساب ابطالی را (که توسط خریدار تایید شده) چگونه ارسال کنیم؟ آیا مانند صورتحساب اصلی تکمیل و ارسال میشود و فقط irtaxid پر میشود و نوع آن ابطالی 3 زده میشود بدون body؟