Ctrl K

PCE SFTP Helper Suitelet(加值中心建置用)

對象:實作/顧問(Administrator)
用途:在 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 IDcustomscript_pce_sl_sftp_conn
Deployment IDcustomdeploy_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)

  1. 選 Get Password GUID → Submit。
  2. 填 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 即可。)
  3. 填 Restrict To Domains:汎宇主機,例如 sftp-t.einvoice.com.tw 或 sftp.einvoice.com.tw(可逗號分隔多個)。
  4. Submit 後出現 Password 憑證欄位,輸入 sFTP 密碼並儲存。
  5. 頁面 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 指紋)

  1. 選 Get Host Key → Submit。
  2. 填 URL:主機名稱(不要加 sftp://),例如 sftp-t.einvoice.com.tw。
  3. Port(選填,預設工具端可空)、Type(選填,ssh 演算法類型)。
  4. Submit 後 Host Key Response 為外部工具回傳文字 → 擷取指紋後填入 modsys custrecord_pce_modsys_vac_sftp_hostkey(安裝後為空白,填入實際指紋後 MR 才能連線)。

注意:Host Key 查詢會呼叫第三方 URL(ursuscode.com);若資安政策不允許,請改在本機 ssh-keyscan 後手動貼上 modsys。

2.3 Download File(試連下載)

  1. 選 Download File → Submit。
  2. 填 URL、Username、PasswordGuid、Host Key、File Name;選填 Port、Directory、Timeout、Host Key Type。
  3. 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