PCE SFTP Helper Suitelet(加值中心建置用)
對象:實作/顧問(Administrator)
用途:在 NetSuite 帳內建立 Script Credential 的
帳上:2026-10-07 加值中心 sFTP 連線、三支 MR GUID、正式區路徑、MR 排程、開立上傳→ACK 已通過。作廢上傳→ACK 仍見 ar-phase3 Checklist。
不是 Phase 3 正式上傳路徑(正式出站/ACK 請用三支 MR 與 Phase 3 — 加值中心上傳(TXT+sFTP)與進階控管)。
用途:在 NetSuite 帳內建立 Script Credential 的
passwordGuid、協助取得 Host Key、以 GUID 試連下載 sFTP 檔案。 帳上:2026-10-07 加值中心 sFTP 連線、三支 MR GUID、正式區路徑、MR 排程、開立上傳→ACK 已通過。作廢上傳→ACK 仍見 ar-phase3 Checklist。
不是 Phase 3 正式上傳路徑(正式出站/ACK 請用三支 MR 與 Phase 3 — 加值中心上傳(TXT+sFTP)與進階控管)。
1. 開啟方式
| 項目 | 值 |
|---|---|
| Script ID | customscript_pce_sl_sftp_conn |
| Deployment ID | customdeploy_pce_sl_sftp_conn |
| 程式 | common/PCE_SL_SFTP_Connections.js |
Customization → Scripting → Scripts → PCE SL SFTP Connections → Deployment,複製 External URL;或:
https://{accountId}.app.netsuite.com/app/site/hosting/scriptlet.nl?script=customscript_pce_sl_sftp_conn&deploy=customdeploy_pce_sl_sftp_conn
僅供具 SuiteScript/憑證管理 權限之管理員使用;部署 Audience 為全角色,請勿分享 URL 給一般會計使用者。
2. 三種動作
表單首頁 Select Action 選一項後 Submit。
2.1 Get Password GUID(建立 Credential)
- 選 Get Password GUID → Submit。
- 填 Restrict To Script Ids(逗號分隔、勿空格):須為會呼叫
N/sftp.createConnection的 script id,Phase 3 三支 MR 例如:customscript_pce_mr_ar_vac_upl_issue,customscript_pce_mr_ar_vac_upl_void,customscript_pce_mr_ar_vac_ack(若三支 GUID 分開建,每次只填一個 script id 即可。) - 填 Restrict To Domains:汎宇主機,例如
sftp-t.einvoice.com.tw或sftp.einvoice.com.tw(可逗號分隔多個)。 - Submit 後出現 Password 憑證欄位,輸入 sFTP 密碼並儲存。
- 頁面 PasswordGUID Response 即 NetSuite 回傳的 passwordGuid 字串 → 貼到 模組通用系統設定 對應欄位:
custrecord_pce_modsys_vac_guid_iss/_void/_ack(TEST/PRODUCTION 各一筆)。
詳細 modsys 與 MR 參數後備關係見 ar-phase3.md §5.1.1。
2.2 Get Host Key(查 Host Key 指紋)
- 選 Get Host Key → Submit。
- 填 URL:主機名稱(不要加
sftp://),例如sftp-t.einvoice.com.tw。 - Port(選填,預設工具端可空)、Type(選填,ssh 演算法類型)。
- Submit 後 Host Key Response 為外部工具回傳文字 → 擷取指紋後填入 modsys
custrecord_pce_modsys_vac_sftp_hostkey(安裝後為空白,填入實際指紋後 MR 才能連線)。
注意:Host Key 查詢會呼叫第三方 URL(ursuscode.com);若資安政策不允許,請改在本機 ssh-keyscan 後手動貼上 modsys。
2.3 Download File(試連下載)
- 選 Download File → Submit。
- 填 URL、Username、PasswordGuid、Host Key、File Name;選填 Port、Directory、Timeout、Host Key Type。
- Submit 後 File Contents 顯示該檔文字內容(例如 ACK 目錄下某 XML 或
list.txt),用於驗證 GUID/HostKey/路徑是否正確。
URL 格式:NetSuite N/sftp 的 url 只填主機名稱(例如 sftp-t.einvoice.com.tw),不要加 sftp://,埠填 Port。上傳 MR 由 PCE_LIB_AR_VacSftpClient 把主機與埠分開傳入。
3. 與 Phase 3 的關係
| 本工具 | Phase 3 正式流程 |
|---|---|
| 手動建 GUID、試 Host Key/下載 | PCE_MR_AR_VacUploadIssue/Void/VacAckPoll + modsys |
| 結果貼 modsys GUID/HostKey | 冒煙:customscript_pce_sl_ar_vac_upl_smoke 檢查 readiness |
| 不寫 upload_queue/log | 開立/作廢成功後 PCE_LIB_AR_VacUploadQueue.enqueue |
建議順序:ar-phase3.md Checklist 帳上就緒 → 本 Helper 或帳外建 Credential → modsys → 冒煙 Suitelet → 排程 MR。
4. 疑難排解
| 現象 | 建議 |
|---|---|
| MR 仍報 passwordGuid 無效 | 確認 Credential 的 Restrict To Script Ids 含該 MR 的 customscript_*;GUID 貼在 modsys 對應 iss/void/ack 欄 |
| Host Key 空白 | modsys custrecord_pce_modsys_vac_sftp_hostkey 須填實際指紋 |
| Download 空或錯誤 | 檢查 Directory 是否與汎宇 ACK/上傳目錄一致(測試區常為 /、ACK) |
| 一般使用者看得到表單 | 限 Administrator 使用;必要時改 deployment Audience 或移除 URL 書籤 |
文件日期:2026-10-06