錯誤處理
呼叫Reactor API時發生問題時,可能會以下列其中一種方式傳回錯誤:
- 立即錯誤:執行導致立即錯誤的要求時,API會傳回錯誤回應,且HTTP狀態會反映所發生的一般錯誤型別。
- 延遲錯誤:執行API要求導致延遲錯誤(例如非同步活動)時,相關資源的
meta.status_details中的API可能會傳回錯誤。
錯誤格式
錯誤回應旨在符合JSON:API錯誤規格,並且通常遵循以下結構:
{
"errors": [
{
"id": "8a5526da-ab12-4be9-b084-2efe537f388c",
"status": "404",
"code": "not-found",
"title": "Record Not Found",
"meta": {
"request_id": "jfb0dQ2e0XVTkQ6AOfEJFfTDjguw9x3d"
},
"source": {
"pointer": "/data"
}
}
]
}
屬性
說明
id此特定問題發生的唯一識別碼。
status適用於此問題的HTTP狀態代碼,以字串值表示。
code應用程式專屬的錯誤代碼,以字串值表示。
title不應將 從發生次數變更為發生次數的簡短摘要(可人工閱讀),除了本地化目的以外。
detail此問題發生的特定說明,可供使用者讀取。 與
title類似,此欄位的值可以本地化。source一個物件,其中包含對錯誤來源的參照,可選擇性地包括下列任一成員:
pointer: JSON指標(RFC6901)字串,參考要求檔案中的關聯實體(例如主要資料物件的/data或特定屬性的/data/attributes/title)。
meta包含有關錯誤的非標準中繼資料的物件。
錯誤參考
下表列出API可傳回的不同錯誤。
錯誤標題
說明
authentication-failure您的IMS存取權杖無效。 您可以再次登入以取得新的存取權杖。 或針對技術帳戶,產生新的JWT並交換IMS存取權杖。
connection-refused無法建立伺服器連線。
decrypt-bad-passphrase無法使用提供的密碼解密。
decrypt-failed無法使用提供的私密金鑰解密資料。 確認索引鍵在本機運作且空白字元已修剪。
decrypt-no-data沒有私密金鑰就無法解密資料。 請提供加密的私密金鑰。
delegate-descriptor-unresolved擴充功能未提供此委派描述項的預期定義。 可能需要更新擴充功能。
deleted-resources您嘗試新增至程式庫的資源已刪除。
environment-in-use一個環境一次只能指派給一個程式庫。 選項1是選擇不同的環境。 選項2是將程式庫移至另一個環境或刪除程式庫,以釋放此環境。
environment-required在建立組建之前,您的程式庫必須已指派環境。
extension-not-found定義資料元素或規則元件的擴充功能不會包含在程式庫中。 確認已將所有必要的擴充功能新增至程式庫。
extension-package-path-errorextension.json中定義的路徑建構不正確。
extension-package-transform-definition-error您已經為物件屬性定義了無效的轉換。 每個物件屬性都可以定義一個轉換,而且它必須是檔案轉換或函式轉換。
extension-package-zip-error解壓縮ExtensionPackage或壓縮檔案以進行發佈時發生錯誤。
host-in-use如果一個或多個環境正在使用主機,則無法刪除主機。
host-required指派給此程式庫的環境沒有有效主機。 檢查指派給程式庫的環境。 然後指派有效的主機給該環境。
host-type-error只有SFTP主機在可以使用認證之前需要先驗證認證,因此預先測試僅適用於該主機型別。
illegal-custom-code-transform您不得使用customCode轉換。 請指定函式或檔案轉換。
ims-not-authorized授權您的帳戶時發生未知錯誤。 請稍後再試。
ims-session-error登入工作階段發生問題。 請登出並重新登入。
internal-error發生內部錯誤。 請稍候片刻,然後再試一次。 如果問題仍然存在,請聯絡客戶服務。
invalid-data_element無法將無效的資料元素新增至程式庫。
invalid-embed_code這不是有效的內嵌程式碼,或是您嘗試將其連結至開發或中繼環境。 動態Tag Management (DTM)內嵌程式碼只能連結至生產環境。
invalid-extension無法將無效的擴充功能新增至程式庫。
invalid-extension_package_id您只能修改擴充功能套件的部分物件屬性。 您嘗試修改其中一個不允許的專案。
invalid-new-owner-org-id您嘗試指派的組織ID不是有效的組織ID。
invalid-org您的作用中組織無權存取API。 檢查您使用的組織是否正確。
invalid-rule無法將無效的規則新增至程式庫。
invalid-settings-syntax剖析設定JSON時遇到語法錯誤。
library-file-not-found在zip套件中找不到extension.json中定義的必要檔案。
minification-error因為程式碼無效,所以無法編譯程式碼。
multiple-revisions程式庫中只能包含每個資源的一個修訂版本。
no-available-orgs此使用者帳戶不屬於可存取標籤的產品設定檔。 使用Admin Console將此使用者新增到具有標籤許可權的產品設定檔。
not-authorized此使用者帳戶沒有執行此動作的必要許可權。
not-found找不到記錄。 驗證您嘗試擷取的物件識別碼。
not-unique您嘗試使用的名稱已在使用中。 對於此資源,「name」屬性必須是唯一的。
public-release-not-authorized擴充功能的公開發行由
launch-ext-dev@adobe.com協調。 如需詳細資訊,請參閱發行擴充功能的檔案。read-only此資源為唯讀,無法修改。
session-timeout使用者工作階段已過期。 請登出並重新登入。
sftp-authentication-failedSFTP連線的驗證失敗。
sftp-connection-timeoutSFTP連線已逾時。
sftp-exception使用SFTP連線至伺服器時發生例外狀況。
sftp-status-exception嘗試與伺服器通訊時發生SFTP例外狀況。
socket-error嘗試與伺服器通訊時發生通訊端錯誤。
ssh-disconnectSSH工作階段已中斷連線。
timeout-error與伺服器的連線逾時。
unknown-error發生未預期的錯誤。 您可以稍後再試,或打電話給客戶服務,說明您剛才在做什麼。
unsupported-custom-code-language提供的自訂程式碼語言不受支援。
upgraded-extension-required安裝擴充功能升級後,您必須將其納入所有程式庫,直到升級至生產環境為止。 唯一的例外是尚未發佈擴充功能時。
upstream-build-required您必須先成功建置上遊程式庫,才能建置此程式庫。
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743