營利通知無法運作

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

問題

營利通知功能無法運作,因此系統不會將電子郵件傳送給已訂閱的使用者。

錯誤訊息

系統不會寄送營利通知電子郵件給訂閱的使用者。系統不會觀察任何錯誤訊息。

關於營利事件通知

營利功能支援事件通知,可讓你:

  1. 通知所有開發人員相關活動,例如新產品、新版條款及細則或新費率方案。
  2. 通知特定開發人員相關事件,例如已發布的帳單文件,或達到特定百分比的交易次數 (如果購買了可調整的通知費率方案)。
  3. 通知 API 供應商相關事件,例如開發人員註冊帳戶,或開發人員註冊費率方案時。
  4. 如要進一步瞭解這類通知的類型及設定方式,請參閱這篇文章

必要條件

請確認符合下列必要條件:

  1. 接受費率方案

    在下列營利通知中,查看開發人員是否已接受相應的費率方案:

    1. 新增費率方案
    2. 經修訂的費率方案
    3. 費率方案已過期
    4. 續約費率方案
    5. 超過頻率限制
    6. 免費增值費率方案終止

      如果開發人員尚未接受費率方案,則系統不會觸發該開發人員的通知。

  2. 應針對特定「通知」執行工作排程器

    營利服務提供工作排程器和一組已預先排定時間的工作。工作排程器必須針對特定通知執行。如果沒有執行,就不會觸發通知。

    1. 請參考下列文件中的操作說明,查看特定通知的排定工作是否已執行:

      排定營利工作

      注意:您隨時可以根據自己的用途變更發布時間表。

    2. 如果特定通知的排定的工作已執行完畢,但您仍然沒有收到通知,請前往「可能的原因」部分進一步排解這個問題。
    3. 否則,請等待排定的工作執行特定通知。

可能原因

這個問題的一些可能原因包括:

原因 說明 疑難排解操作說明
SMTP 設定有誤 所提供的 SMTP 設定不正確。 邊緣私有雲使用者

通知工作時間表

通知工作尚未啟動。 Edge 公有雲和私有雲使用者

原因 1:SMTP 設定不正確

診斷

  1. 檢查 /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" }
    
  2. 確認 SMTP 伺服器和使用者設定是否正確。如果這些設定不正確或未設定,請繼續進行步驟 3。如果正確無誤,請繼續進行步驟 4。
  3. 請按照以下文件中的操作說明,正確更新 SMTP 伺服器和使用者設定:

    /private-cloud/latest/configuring-edge-smtp-server

  4. 請再次確認營利通知是否正常運作。如果沒有,請繼續進行步驟 5。
  5. 如果 SMTP 設定正確,請執行「查看已傳送通知」API 呼叫,查看已傳送的通知狀態。
    1. 這個 API 會傳回 JSON,當中包含已觸發的所有通知,以及每個通知的狀態。
    2. 下方提供 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 後,其狀態會顯示為「失敗」即可參閱上述特定通知「更新開發人員」。

  6. 這可能是因為 SMTP 伺服器和通訊埠無法從管理伺服器連線。使用 telnet 指令檢查您是否可連接至指定通訊埠上的指定的 SMTP 伺服器。
    telnet <SMTP-server-IP-address> <SMTP-Port#>
    

    如果收到「連線逾時」的錯誤訊息或「連線遭拒」,然後前往「解析度」。

解析度

  1. 請與您的網路管理員合作,確認 SMTP 伺服器能夠接受其他機器的連線,且該通訊埠可開放外界通訊。
  2. 如果問題仍未解決,請點按「供應商收集診斷資訊」

原因 2:通知工作時間表

通知工作尚未啟動。

診斷

  1. 執行下列 API 呼叫,查看所有已排定的營利工作。

    /monetize/apis/get/triggers

  2. 檢查是否存在通知條件,且未正常運作通知。如未顯示,請繼續進行步驟 3,建立通知條件,並略過其餘步驟。
    1. 如有,則檢查是否已啟用 True。如果沒有,請執行更新通知條件和動作 API 以更新通知條件。

    2. 透過使用者介面,使用以下文件提供的程序更新通知條件:

      事件 UI

    3. 執行「Create a notifications condition and action API」呼叫,建立適當的通知條件和對應的動作。
      1. 建立通知條件後,請執行 List notifications conditions and actions API 呼叫,驗證是否已建立通知條件。
      2. 您也可以使用重新處理通知 API 來重新處理通知。
    4. 這個步驟僅適用於 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
      
    5. 如果已觸發通知條件,但您仍未收到通知,請前往「Must Gather Diagnostic Information」,提供上述步驟擷取的資訊和輸出內容。

解析度

  1. 使用重新處理通知 API 重新處理通知

必須收集診斷資訊

按照上述操作說明操作後,如果問題仍未解決,請與 Apigee Edge 支援團隊聯絡 並提供下列診斷資訊。

公開和私人雲端使用者應提供下列資訊:

  1. 機構名稱
  2. 環境名稱
  3. 營利通知條件無法運作
  4. 詳細說明已嘗試在本教戰手冊中的哪些部分,以及任何有助於我們快速解決問題的深入分析。

除了上述資訊外,Private Cloud 使用者也應提供下列資訊:

  • 管理伺服器記錄

    /opt/apigee/var/log/edge-management-server/logs/system.log