iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

紙本電子發票

我們先來嘗試看看怎麼寫查詢紙本電子發票,取得方式很簡單,去便利商店隨便買個東西,在結帳的時候霸氣跟他說我沒有要刷載具XDDD

而一張紙本電子發票會提供消費日期、隨機碼、發票號碼,這三個缺一不可,若有一個錯誤就會查詢不到明細。紙本電子發票也提供 QRcode 的方式,在後面的篇章我也會介紹怎麼使用條碼來查詢。

https://ithelp.ithome.com.tw/upload/images/20230918/20114380HPF0OKuS0K.png

財政部的查詢發票 API

  1. 需求參數

看完參數驚嘆,必填的參數也太多了吧!查詢一個發票真的不簡單

https://ithelp.ithome.com.tw/upload/images/20230917/2011438069b6UMULzF.png

https://ithelp.ithome.com.tw/upload/images/20230917/20114380FYzU0L702Z.png

  1. 回傳值

回傳相當多的資訊,看到格式的當下也要思考後續要怎麼存到資料庫。尤其是購買明細,如果是用關聯式資料庫,應該需要設計一張表存發票,另一張表專門儲存購買明細。

https://ithelp.ithome.com.tw/upload/images/20230917/201143803lH36MvRqh.png

https://ithelp.ithome.com.tw/upload/images/20230917/20114380RZ9RkNpjJk.png

  1. 實際測試

這段程式碼,我測試非常多次才成功取得資料,說明了財政部的 API 回應相當不穩,不適合做即時取資料的服務,因此後續也會介紹我如何利用 Airflow 做排程去 call API。

https://ithelp.ithome.com.tw/upload/images/20230917/201143804M0SLD36LC.png

  1. 回饋

每次都要寫這麼多參數實在太麻煩了,看看財政部提供的規格書得知,其他不同的功能也有很多共同的參數(例如發票號碼、消費日期、appID 等等),是不是可以將這些參數拉出來共用呢?當然是可以的,明天我將介紹已經有人開發好套件啦XD

補充

在寫的時候也剛好看到一篇新聞,明年將會有新平台上線,屆時可預期回應速度應該會更快!

電子發票整合平台塞車 財政部:明年新平台將上線 | 聯合新聞網

另外完整程式碼可參考連結


上一篇
Day 3:電子發票應用 API 規格 - 2
下一篇
Day 5:站在巨人的肩膀上 tw_invoice
系列文
透過 python 建立發票系統 - 自己的發票自己查30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言