營利通知無法運作

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

問題

營利通知無法正常運作,因此系統不會傳送電子郵件給訂閱者。

錯誤訊息

系統不會向訂閱者傳送營利通知電子郵件。不會出現任何錯誤訊息。

關於營利事件通知

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

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

必要條件

請務必符合下列必要條件:

  1. 接受費率方案

    如要查看下列營利通知,請確認開發人員是否已接受相應的費率方案:

    1. 新增費率方案
    2. 修訂後的費率方案
    3. 過期的費率方案
    4. 續訂房價方案
    5. 超出頻率限制
    6. 免費房價方案已用盡

      如果開發人員尚未接受費率方案,系統就不會針對該開發人員觸發這些通知。

  2. 應為特定通知執行 Job Scheduler

    營利功能提供工作排程器和一組預先排定的工作,會在預先指定的時間執行。必須為特定通知執行工作排程器。如果未執行,就不會觸發通知。

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

      排定營利工作

      注意:您隨時可以根據用途變更時間表。

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

可能原因

可能原因包括:

原因 說明 適用於以下裝置的疑難排解說明:
SMTP 設定錯誤 提供的 SMTP 設定有誤。 Edge Private Cloud 使用者

通知工作排程

通知工作尚未開始。 Edge Public Cloud 和 Private Cloud 使用者

原因 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,會發現上述特定通知「更新開發人員」的狀態為「FAILED」。

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

    如果 Telnet 輸出內容顯示「連線逾時」或「連線遭拒」錯誤,請繼續進行「解決方法」步驟。

解析度

  1. 請與網路管理員合作,確保 SMTP 伺服器可接受來自其他機器的連線,且特定通訊埠對外部世界開放。
  2. 如果問題仍未解決,請使用

原因 2:通知工作排程

通知工作尚未開始。

診斷

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

    /monetize/apis/get/triggers

  2. 檢查通知條件是否存在,且是否已啟用無法正常運作的通知。如果沒有,請前往步驟 3 建立通知條件,並略過其餘步驟。
    1. 如果有的話,請檢查是否已啟用為 true。如果不是,請執行「更新通知條件和動作 API」,更新通知條件。

    2. 請使用 UI,按照下方文件提供的程序更新通知條件:

      活動 UI

    3. 執行「建立通知條件和動作 API」呼叫,建立適當的通知條件和相應動作。
      1. 建立通知條件後,請執行「列出通知條件和動作」API 呼叫,確認通知條件是否已建立。
      2. 你也可以使用「重新處理通知」API 重新處理通知。
    4. 這個步驟僅適用於私有雲使用者。如果步驟 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. 如果觸發通知條件,但您仍未收到通知,請繼續進行「必須收集診斷資訊」,並擷取上述步驟的資訊和輸出內容。

解決方法

  1. 使用 Reprocess a notification API 重新處理通知

必須收集診斷資訊

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

公有雲和私有雲使用者應提供下列資訊:

  1. 機構名稱
  2. 環境名稱
  3. 無法正常運作的營利通知條件
  4. 詳細說明您已嘗試過 Playbook 中的哪些章節,以及任何其他有助於我們加快解決這個問題的洞察資訊。

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

  • 管理伺服器記錄

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