前置作業/查詢字軌

應用場景

特店系統可使用此API查詢字軌號碼以及字軌的使用情況

API介接網址

  • 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/GetInvoiceWordSetting
  • 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/GetInvoiceWordSetting

HTTPS傳輸協定

  • Content Type :application/json
  • HTTP Method :POST

特店傳入參數(Json格式)

PlatformID String(10)
特約合作平台商代號

  • 這個參數是專為與綠界簽約的指定平台商所設計,只有在申請開通後才能使用。
  • 如果您是一般廠商,請在介接時將此參數欄位保留為空。
  • 對於平台商,在使用時需要在MerchantID(特店編號)欄位中填入與您已經完成綁定子廠商的MerchantID(特定編號)。
    請注意,只能使用已綁定的子廠商編號,以避免操作失敗。綁定作業請洽所屬業務。

MerchantID String(10)
特店編號 必填

RqHeader Object
傳入資料 必填

Timestamp Number
傳入時間 必填

請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。

❗ 注意事項

  • 驗證時間區間暫訂為 10 分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/
  • 合作特店須進行主機「時間校正」,避免主機產生時差,導致API無法正常運作。

Data String
加密資料 必填

此為加密過JSON格式的資料。加密方法說明

特店傳入參數範例(Json格式)

				
					{
    "MerchantID": "2000132",
    "RqHeader": {
        "Timestamp": 1525168923
    },
    "Data": "加密資料"
}

				
			

Data參數說明(Json格式) : 請先將Json字串進行urlencode後再進行AES加密

MerchantID String(10)
特店編號 必填

InvoiceYear String(3)
發票年度 必填

僅可查詢去年、當年與明年的發票年度,格式為民國年 ex:109

InvoiceTerm Int
發票期別 必填

0:全部
1: 1-2月
2: 3-4月
3: 5-6月
4: 7-8月
5: 9-10月
6: 11-12月

UseStatus Int
字軌使用狀態 必填

0:全部
1:未啟用
2:使用中
3:已停用
4:暫停中
5:待審核
6:審核不通過

InvoiceCategory Int
發票類別 必填

1:B2C,請固定填寫為1

InvType String(2)
字軌類別 

07:一般稅額發票
08:特種稅額發票

ProductServiceId String(10)
產品服務別代號 

  • 該參數必須由英文字母(A-Z, a-z)和數字(0-9)組成,其長度必須在1到10個字符之間。
  • 此參數只有在【B2C系統多組字軌】開關為【啟用】時,帶入值才會進行處理,否則會忽略此參數。如需啟用請洽所屬業務。

InvoiceHeader String(2)
字軌名稱 

Data參數範例(Json格式)

				
					{
    "MerchantID": 2000132,
    "InvoiceTerm": 0,
    "InvoiceYear": "109",
    "UseStatus": 1,
    "InvoiceCategory": 1
}
				
			

綠界回傳參數格式

  • Content Type :application/json
  • HTTP Method :POST

綠界回傳參數(Json格式)

PlatformID String(10)
特約合作平台商代號

MerchantID String(10)
特店編號 

RpHeader Object
回傳資料 

Timestamp Number
回傳時間

Unix timestamp(GMT+8)

TransCode Int
回傳代碼 

1 代表 API 傳輸資料(MerchantIDRqHeaderData)接收成功,實際的 API 執行結果狀態請參考 RtnCode

TransMsg String(200)
回傳訊息 

Data String
加密資料 

回傳相關資料,此為加密過JSON格式的資料。加密方法說明

綠界回傳參數範例

				
					{
    "MerchantID": "2000132",
    "RpHeader": {
        "Timestamp": 1525169058
    },
    "TransCode": 1,
    "TransMsg": "",
    "Data": "加密資料"
}
				
			

Data參數說明(Json格式) : 請先將Data進行AES解密後再做urldecode

RtnCode Int
回應代碼

1 代表 API 執行成功,其餘代碼均為失敗。

RtnMsg String(200)
回應訊息

InvoiceInfo Array
發票資訊

TrackID String(10)
字軌號碼ID 

InvoiceYear String(3)
發票年度 

InvoiceTerm Int
發票期別 

1: 1-2月
2: 3-4月
3: 5-6月
4: 7-8月
5: 9-10月
6: 11-12月

InvoiceCategory Int
發票類別

1: B2C

InvType String(2)
字軌類別 

07: 一般稅額發票
08: 特種稅額發票

ProductServiceId String(10)
產品服務別代號 

該參數由英文字母(A-Z, a-z)和數字(0-9)組成,其長度在1到10個字符之間。

InvoiceHeader String(2)
字軌名稱 

InvoiceStart String(8)
起始發票編號 

InvoiceEnd String(8)
結束發票編號 

InvoiceNo String(8)
目前已使用號碼 

UseStatus Int
使用狀態 

1: 未啟用
2: 使用中
3: 已停用
4: 暫停中
5: 待審核
6: 審核不通過

Data參數範例

				
					{
  "RtnCode": 1,
  "RtnMsg": "查詢成功"    
  "InvoiceInfo": {
        "TrackID": "1234567890",
        "InvoiceYear": "109",
        "InvoiceTerm": 1,
        "InvoiceCategory": 1,
        "InvType": "07",
        "ProductServiceId": "A001",
        "InvoiceHeader": "AQ",
        "InvoiceStart": "10000000",
        "InvoiceEnd": "19999999",
        "InvoiceNo": "12345678",
        "UseStatus": 2
    },
    {
        "TrackID": "1234569870",
        "InvoiceYear": "109",
        "InvoiceTerm": 1,
        "InvoiceCategory": 1,
        "InvType": "07",
        "InvoiceHeader": "AQ",
        "InvoiceStart": "10000000",
        "InvoiceEnd": "19999999",
        "InvoiceNo": "12345678",
        "UseStatus": 2
    }
}
				
			

YAML

提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。

				
					openapi: 3.1.0
info:
  title: ECPay Track Number Inquiry API
  version: 1.0.0
servers:
  - url: https://einvoice.ecpay.com.tw
    description: Production Environment
  - url: https://einvoice-stage.ecpay.com.tw
    description: Testing Environment
paths:
  /B2CInvoice/GetInvoiceWordSetting:
    post:
      summary: Track Number Inquiry
      description: Query the status and usage of track numbers.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - MerchantID
                - RqHeader
                - Data
              properties:
                PlatformID:
                  type: string
                  description: Platform identifier (optional)
                MerchantID:
                  type: string
                  description: Merchant identifier
                RqHeader:
                  type: object
                  properties:
                    Timestamp:
                      type: number
                      description: Timestamp of the request
                Data:
                  type: string
                  description: Encrypted data in JSON format
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  PlatformID:
                    type: string
                    description: Platform identifier
                  MerchantID:
                    type: string
                    description: Merchant identifier
                  RpHeader:
                    type: object
                    properties:
                      Timestamp:
                        type: number
                        description: Timestamp of the response
                  TransCode:
                    type: integer
                    description: Transmission code
                  TransMsg:
                    type: string
                    description: Transmission message
                  Data:
                    type: string
                    description: Encrypted data in JSON format
        '400':
          description: Invalid request
        '500':
          description: Server error
components:
  schemas:
    requestBody.Data:
      type: object
      properties:
        MerchantID:
          type: string
          description: Merchant identifier
        InvoiceYear:
          type: string
          description: Invoice year (in ROC year format)
        InvoiceTerm:
          type: integer
          description: Invoice term
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        UseStatus:
          type: integer
          description: Track number usage status
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        InvoiceCategory:
          type: integer
          description: Invoice category
          enum:
            - 1
        InvType:
          type: string
          description: Invoice type
          enum:
            - '07'
            - '08'
        InvoiceHeader:
          type: string
          description: Invoice track name
    responses.Data:
      type: object
      properties:
        RtnCode:
          type: integer
          description: Response code
        RtnMsg:
          type: string
          description: Response message
        InvoiceInfo:
          type: array
          items:
            type: object
            properties:
              TrackID:
                type: string
                description: Track number ID
              InvoiceYear:
                type: string
                description: Invoice year (in ROC year format)
              InvoiceTerm:
                type: integer
                description: Invoice term
              InvoiceCategory:
                type: integer
                description: Invoice category
              InvType:
                type: string
                description: Invoice type
              InvoiceHeader:
                type: string
                description: Invoice track name
              InvoiceStart:
                type: string
                description: Starting invoice number
              InvoiceEnd:
                type: string
                description: Ending invoice number
              InvoiceNo:
                type: string
                description: Currently used number
              UseStatus:
                type: integer
                description: Track number usage status

				
			

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

綠界官方網站