查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
問題
營利通知功能無法運作,因此系統不會將電子郵件傳送給已訂閱的使用者。
錯誤訊息
系統不會寄送營利通知電子郵件給訂閱的使用者。系統不會觀察任何錯誤訊息。
關於營利事件通知
營利功能支援事件通知,可讓你:
- 通知所有開發人員相關活動,例如新產品、新版條款及細則或新費率方案。
- 通知特定開發人員相關事件,例如已發布的帳單文件,或達到特定百分比的交易次數 (如果購買了可調整的通知費率方案)。
- 通知 API 供應商相關事件,例如開發人員註冊帳戶,或開發人員註冊費率方案時。
- 如要進一步瞭解這類通知的類型及設定方式,請參閱這篇文章。
必要條件
請確認符合下列必要條件:
- 接受費率方案
在下列營利通知中,查看開發人員是否已接受相應的費率方案:
- 新增費率方案
- 經修訂的費率方案
- 費率方案已過期
- 續約費率方案
- 超過頻率限制
- 免費增值費率方案終止
如果開發人員尚未接受費率方案,則系統不會觸發該開發人員的通知。
- 應針對特定「通知」執行工作排程器
營利服務提供工作排程器和一組已預先排定時間的工作。工作排程器必須針對特定通知執行。如果沒有執行,就不會觸發通知。
可能原因
這個問題的一些可能原因包括:
原因 | 說明 | 疑難排解操作說明 |
---|---|---|
SMTP 設定有誤 | 所提供的 SMTP 設定不正確。 | 邊緣私有雲使用者 |
通知工作尚未啟動。 | Edge 公有雲和私有雲使用者 |
原因 1:SMTP 設定不正確
診斷
- 檢查
/opt/apigee/edge-mint-management-server/conf/apix-mint.properties
檔案,確認下列 SMTP 屬性設定是否正確。mint.notification.javaMail.properties={"mail.smtp.host": "smtp.gmail.com", "mail.smtp.port": "465", "mail.smtp.starttls.enable": "true", "mail.smtp.auth": "true", "mail.smtp.username": "blah@gmail.com", "mail.smtp.password": "blah" }
- 確認 SMTP 伺服器和使用者設定是否正確。如果這些設定不正確或未設定,請繼續進行步驟 3。如果正確無誤,請繼續進行步驟 4。
- 請按照以下文件中的操作說明,正確更新 SMTP 伺服器和使用者設定:
- 請再次確認營利通知是否正常運作。如果沒有,請繼續進行步驟 5。
- 如果 SMTP 設定正確,請執行「查看已傳送通知」API 呼叫,查看已傳送的通知狀態。
- 這個 API 會傳回 JSON,當中包含已觸發的所有通知,以及每個通知的狀態。
- 下方提供 JSON 範例:
{ "hasMoreItems" : false, "notifications" : [ { "fromAlias" : "No Reply", "fromEmail" : "****@apigee.com", "id" : "4e2d0d9a-69a4-4430-957d-02fa2a3cb581", "notificationType" : "EMAIL", "orgId" : "myorg", "rawMessage" : "...", "retryCount" : 0, "retryStatuses" : [ { "responseCode" : 0, "responseMessage" : "{\"Headers\":null,\"Content : \":null,\"StatusCode\":\"0\"}", "retriedAt" : 1518605291092, "retryAttempt" : 0 } ], "source" : "MailTo: [****@blah.com], Org: [myorg], EventType: [UPDATE_DEVELOPER]", "status" : "FAILED", "subject" : "Notification of developer changing company details", "templateId" : "814315c8-d8ca-4b3e-90bb-a8366600e625", "templateName" : "DEFAULT_UPDATE_DEVELOPER_TEMPLATE", "templateParametersJSON" : "{\"developer.legalName\":\"\",\"developer.name\":\"John Smith\"}", "toAlias" : "***@blah.com", "toEmail" : "***@blah.com", "unsubscribeURL" : "..." }
查看 JSON 後,其狀態會顯示為「失敗」即可參閱上述特定通知「更新開發人員」。
- 這可能是因為 SMTP 伺服器和通訊埠無法從管理伺服器連線。使用 telnet 指令檢查您是否可連接至指定通訊埠上的指定的 SMTP 伺服器。
telnet <SMTP-server-IP-address> <SMTP-Port#>
如果收到「連線逾時」的錯誤訊息或「連線遭拒」,然後前往「解析度」。
解析度
- 請與您的網路管理員合作,確認 SMTP 伺服器能夠接受其他機器的連線,且該通訊埠可開放外界通訊。
- 如果問題仍未解決,請點按「供應商收集診斷資訊」
原因 2:通知工作時間表
通知工作尚未啟動。
診斷
- 執行下列 API 呼叫,查看所有已排定的營利工作。
- 檢查是否存在通知條件,且未正常運作通知。如未顯示,請繼續進行步驟 3,建立通知條件,並略過其餘步驟。
- 如有,則檢查是否已啟用 True。如果沒有,請執行更新通知條件和動作 API 以更新通知條件。
或
- 透過使用者介面,使用以下文件提供的程序更新通知條件:
- 執行「Create a notifications condition and action API」呼叫,建立適當的通知條件和對應的動作。
- 建立通知條件後,請執行 List notifications conditions and actions API 呼叫,驗證是否已建立通知條件。
- 您也可以使用重新處理通知 API 來重新處理通知。
- 這個步驟僅適用於 Private Cloud 使用者。如果出現來自步驟 1 的通知條件,但仍未收到通知電子郵件,請檢查管理伺服器記錄
/opt/apigee/var/log/edge-management-server/logs/system.log
,確認通知條件是否已觸發grep "Executing Mint Scheduler" /opt/apigee/var/log/edge-management-server/logs/system.log | grep -o "Executing Mint Scheduler : \[.*\]" | grep -v "for org : \[null\]" |sort | uniq -c
- 如果已觸發通知條件,但您仍未收到通知,請前往「Must Gather Diagnostic Information」,提供上述步驟擷取的資訊和輸出內容。
- 如有,則檢查是否已啟用 True。如果沒有,請執行更新通知條件和動作 API 以更新通知條件。
解析度
- 使用重新處理通知 API 重新處理通知
必須收集診斷資訊
按照上述操作說明操作後,如果問題仍未解決,請與 Apigee Edge 支援團隊聯絡
並提供下列診斷資訊。
公開和私人雲端使用者應提供下列資訊:
- 機構名稱
- 環境名稱
- 營利通知條件無法運作
- 詳細說明已嘗試在本教戰手冊中的哪些部分,以及任何有助於我們快速解決問題的深入分析。
除了上述資訊外,Private Cloud 使用者也應提供下列資訊:
- 管理伺服器記錄
/opt/apigee/var/log/edge-management-server/logs/system.log