Monetarisierungsbenachrichtigungen funktionieren nicht

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Symptom

Monetarisierungsbenachrichtigungen funktionieren nicht und daher werden keine E-Mails an Abonnenten gesendet.

Fehlermeldung

E-Mails zur Monetarisierungsbenachrichtigung werden nicht an Abonnenten gesendet. Es werden keine Fehlermeldungen angezeigt.

Ereignisbenachrichtigungen für die Monetarisierung

Die Monetarisierung unterstützt Ereignisbenachrichtigungen, die Folgendes ermöglichen:

  1. Informieren Sie alle Entwickler über Ereignisse wie neue Produkte, neue Versionen der Nutzungsbedingungen oder neue Preispläne.
  2. Informieren Sie bestimmte Entwickler über Ereignisse wie die Veröffentlichung eines Abrechnungsdokuments oder wenn ein bestimmter Prozentsatz der Zielanzahl von Transaktionen erreicht ist (wenn sie einen Tarif mit anpassbarer Benachrichtigungsrate erworben haben).
  3. API-Anbieter über entwicklerbezogene Ereignisse informieren, z. B. wenn sich ein Entwickler für ein Konto anmeldet oder sich für einen Preisplan registriert.
  4. Weitere Informationen dazu, welche Arten von Benachrichtigungen es gibt und wie sie eingerichtet werden, finden Sie hier.

Voraussetzungen

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  1. Akzeptanz von Preisplänen

    Prüfe bei den folgenden Monetarisierungsbenachrichtigungen, ob die Entwickler den entsprechenden Preisplan akzeptiert haben :

    1. Neuer Preisplan
    2. Überarbeiteter Preisplan
    3. Abgelaufener Preisplan
    4. Verlängerter Preisplan
    5. Ratenbegrenzung überschritten
    6. Auf null gesetzter Freemium-Preisplan

      Wenn der Entwickler den Preisplan nicht akzeptiert hat, werden diese Benachrichtigungen für diesen Entwickler nicht ausgelöst.

  2. Der Jobplaner sollte für die jeweilige Benachrichtigung ausgeführt werden.

    Die Monetarisierung umfasst einen Jobplaner und eine Reihe von Jobs, die vorab so geplant sind, dass sie zu bestimmten Zeiten ausgeführt werden. Der Jobplaner muss für eine bestimmte Benachrichtigung ausgeführt werden. Wenn er nicht ausgeführt wird, werden die Benachrichtigungen nicht ausgelöst.

    1. Folgen Sie der Anleitung im folgenden Dokument, um festzustellen, ob der geplante Job für eine bestimmte Benachrichtigung ausgeführt wurde:

      Monetarisierungsjobs planen

      Hinweis:Sie können den Zeitplan jederzeit an Ihren Anwendungsfall anpassen.

    2. Wenn der geplante Job für die jeweilige Benachrichtigung bereits ausgeführt wurde und Sie die Benachrichtigungen immer noch nicht erhalten, fahren Sie mit dem Abschnitt Mögliche Ursachen fort, um das Problem weiter zu beheben.
    3. Warten Sie andernfalls, bis der geplante Job für die jeweilige Benachrichtigung ausgeführt wird.

Mögliche Ursachen

Mögliche Ursachen:

Ursache Beschreibung Geltende Anleitungen zur Fehlerbehebung
SMTP-Konfiguration falsch Die angegebene SMTP-Konfiguration ist falsch. Edge Private Cloud-Nutzer

Zeitplan für Benachrichtigungsjobs

Der Benachrichtigungsjob wurde nicht gestartet. Nutzer von Edge Public Cloud und Private Cloud

Ursache 1: Falsche SMTP-Konfiguration

Diagnose

  1. Prüfen Sie die Datei /opt/apigee/edge-mint-management-server/conf/apix-mint.properties und sehen Sie nach, ob die folgenden SMTP-Eigenschaften richtig festgelegt sind.
    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. Überprüfen Sie, ob die Einstellungen für SMTP-Server und Nutzer korrekt sind. Wenn diese Einstellungen falsch oder nicht konfiguriert sind, fahren Sie mit Schritt 3 fort. Wenn dies korrekt ist, fahren Sie mit Schritt 4 fort.
  3. Aktualisieren Sie den SMTP-Server und die Nutzereinstellungen korrekt. Folgen Sie dazu der Anleitung im folgenden Dokument:

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

  4. Prüfe noch einmal, ob die Benachrichtigungen für die Monetarisierung jetzt funktionieren. Falls nicht, fahren Sie mit Schritt 5 fort.
  5. Wenn die SMTP-Einstellungen korrekt sind, führen Sie den API-Aufruf View notifications sent (Gesendete Benachrichtigungen anzeigen) aus, um den Status der gesendeten Benachrichtigung zu sehen.
    1. Diese API gibt eine JSON-Datei mit allen ausgelösten Benachrichtigungen und dem jeweiligen Status zurück.
    2. Im Folgenden finden Sie ein JSON-Beispiel:
      {
              "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" : "..."
      }
      

      Wenn Sie die JSON-Datei prüfen, wird der Status für die obige Benachrichtigung Update Developer (Entwickler aktualisieren) als FAILED (FEHLGESCHLAGEN) angezeigt.

  6. Der Grund dafür könnte sein, dass der SMTP-Server und der Port über den Verwaltungsserver nicht erreichbar sind. Prüfen Sie mit dem Befehl „telnet“, ob Sie über den angegebenen Port eine Verbindung zum angegebenen SMTP-Server herstellen können.
    telnet <SMTP-server-IP-address> <SMTP-Port#>
    

    Wenn Sie für die Telnet-Ausgabe die Fehlermeldung „Zeitüberschreitung bei der Verbindung“ oder „Verbindung abgelehnt“ erhalten, fahren Sie mit der Lösung fort.

Auflösung

  1. Arbeiten Sie mit Ihrem Netzwerkadministrator zusammen und stellen Sie sicher, dass der SMTP-Server Verbindungen von anderen Geräten annehmen kann und dass der spezifische Port für die Kommunikation mit der Außenwelt offen ist.
  2. Wenn das Problem weiterhin besteht, fahren Sie mit dem Abschnitt „Diagnoseinformationen müssen erfasst werden“ mit dem

Ursache 2: Zeitplan des Benachrichtigungsjobs

Der Benachrichtigungsjob wurde nicht gestartet.

Diagnose

  1. Führen Sie den folgenden API-Aufruf aus, um alle derzeit geplanten Monetarisierungsjobs anzusehen.

    /monetize/apis/get/triggers

  2. Prüfen Sie, ob die Benachrichtigungsbedingung vorhanden und für die Benachrichtigung, die nicht funktioniert, aktiviert ist. Ist sie nicht vorhanden, fahren Sie mit Schritt 3 fort, um die Benachrichtigungsbedingung zu erstellen, und überspringen Sie die restlichen Schritte.
    1. Wenn der Wert vorhanden ist, prüfen Sie, ob er auf „true“ gesetzt ist. Ist dies nicht der Fall, führen Sie Update a Notification condition and action API (Benachrichtigungsbedingung und Aktions-API aktualisieren) aus, um die Benachrichtigungsbedingung zu aktualisieren.

      ODER

    2. Verwenden Sie die Benutzeroberfläche, um die Benachrichtigungsbedingung mithilfe des Verfahrens im folgenden Dokument zu aktualisieren:

      Ereignis-UI

    3. Führen Sie den API-Aufruf zum Erstellen einer Benachrichtigungsbedingung und einer Aktion aus, um die entsprechende Benachrichtigungsbedingung und die entsprechende Aktion zu erstellen.
      1. Nachdem die Benachrichtigungsbedingung erstellt wurde, führen Sie den API-Aufruf für die Liste der Benachrichtigungsbedingungen und Aktionen aus, um zu prüfen, ob die Benachrichtigungsbedingung bereits eingerichtet wurde.
      2. Sie können die Benachrichtigung auch mit Reprocess a Notification API (Benachrichtigungs-API erneut verarbeiten) noch einmal verarbeiten.
    4. Dieser Schritt gilt nur für Private Cloud-Nutzer. Wenn die Benachrichtigungsbedingung aus Schritt 1 erfüllt ist und Sie immer noch keine Benachrichtigungs-E-Mails erhalten, prüfen Sie im Verwaltungsserverprotokoll /opt/apigee/var/log/edge-management-server/logs/system.log, ob die Benachrichtigungsbedingung ausgelöst wurde.
      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. Wenn die Benachrichtigungsbedingung ausgelöst wird und Sie immer noch keine Benachrichtigungen erhalten, fahren Sie mit Diagnoseinformationen müssen fort, um die Informationen und die Ergebnisse der oben genannten Schritte zu erfassen.

Lösung

  1. Benachrichtigung mit Reprocess a Notification API (Benachrichtigungs-API erneut verarbeiten)

Diagnoseinformationen müssen erfasst werden

Wenn das Problem weiterhin besteht, obwohl Sie die Schritte oben ausgeführt haben, wenden Sie sich an den Apigee Edge-Support und geben Sie die folgenden Diagnoseinformationen an.

Nutzer von öffentlichen und privaten Clouds müssen die folgenden Informationen angeben:

  1. Name der Organisation
  2. Name der Umgebung
  3. Bedingung für Monetarisierungsbenachrichtigung, die nicht funktioniert hat
  4. Details zu den Abschnitten in diesem Playbook und andere Informationen, die uns helfen könnten, dieses Problem zügig zu lösen.

Zusätzlich zu den oben genannten Informationen sollten Nutzer der Private Cloud auch die folgenden Informationen angeben:

  • Verwaltungsserver-Log

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