# B601 API (發票資訊回傳) 技術規範與執行指南 本文件定義 B601 API 的技術實作規範,用於紀錄每筆訂單對應的電子發票資訊。 --- ## 1. 業務流程與角色定義 ### 1.1 系統角色 * **機台端**:負責與電子發票系統對接、開立發票,並於取得發票號碼後將資訊回傳至雲端。 * **雲端 (Star Cloud)**:僅負責**紀錄 (Logging)** 發票資訊,不涉及上傳傳財政部平台或寄送中獎通知。 ### 1.2 串聯機制 * **關聯 ID**:必須攜帶 B600 取得的 `flow_id`,以便將發票資訊正確掛載至對應的 `orders`。 --- ## 2. 資料庫結構:`invoices` 為符合台灣發票規範,除了原始 PDF 欄位外,本系統將擴充相關稅務欄位: | 欄位 | 說明 | 備註 | |------|------|------| | `order_id` | 訂單關聯 ID | 透過 `flow_id` 對應 | | `invoice_no` | 發票號碼 | 例:AB-12345678 | | `invoice_date` | 發票日期 | | | `random_number` | 隨機碼 | 4 位數 | | `love_code` | 愛心碼 | 捐贈碼 | | `business_tax_id` | **公司統編** | 8 位數 | | `carrier_id` | **載具編號** | 手機條碼或自然人憑證 | | `carrier_type` | **載具類型** | | | `status` | **發票狀態** | 1:有效, 0:作廢 | --- ## 3. 發票作廢機制 (Invoice Voiding) * **需求確認**:當交易發生退款或特定失敗情境時,機台端需具備回報「發票作廢」的能力。 * **API 實作**: * **方法一**:呼叫 B601 POST 時帶入 `status = 0`。 * **方法二**:新增 `/api/app/B601/void` 專屬端點(待後續細化)。 --- ## 4. 待確認事項 (已結案) 所有關於發票關聯邏輯與重試機制的技術決策已於 2026-03-12 完成確認: 1. **發票缺失標記**:系統不需針對 B600 與 B601 的到達時差進行「發票缺失」自動標記。 2. **重試機制**:機台端呼叫失敗時不需額外的緩存與重傳策略(維持基本回報邏輯)。