Monetarisierungsbenachrichtigungen funktionieren nicht

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Symptom

Monetarisierungsbenachrichtigungen funktionieren nicht und erhalten Abonnenten keine E-Mails.

Fehlermeldung

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

Benachrichtigungen zu Monetarisierungsereignissen

Die Monetarisierung unterstützt Ereignisbenachrichtigungen, die Ihnen folgende Möglichkeiten bieten:

  1. Alle Entwickler über Ereignisse wie neue Produkte, neue Versionen von Nutzungsbedingungen oder neue Preispläne informieren.
  2. Informieren Sie bestimmte Entwickler über Ereignisse wie die Veröffentlichung eines Abrechnungsdokuments oder wenn ein Prozentsatz ihrer angestrebten Anzahl von Transaktionen erreicht wird (wenn sie ein anpassbares Tarifpaket erworben haben).
  3. Benachrichtigen Sie einen API-Anbieter über entwicklerbezogene Ereignisse, z. B. wenn sich ein Entwickler für ein Konto registriert oder wenn sich ein Entwickler für einen Tarifplan registriert.
  4. Weitere Informationen dazu, welche Arten von Benachrichtigungen es gibt und wie sie eingerichtet werden, findest du hier.

Vorbereitung

Die folgenden Voraussetzungen müssen erfüllt sein:

  1. Akzeptanz des Preisplans

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

    1. Neuer Preisplan
    2. Überarbeiteter Tarif
    3. Abgelaufener Preisplan
    4. Verlängerter Tarif
    5. Ratenbegrenzung überschritten
    6. Erschöpfter Freemium-Tarif

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

  2. Job Scheduler sollte für die spezifische Benachrichtigung ausgeführt werden

    Die Monetarisierung bietet einen Jobplaner und eine Reihe von Jobs, die vorab geplant und zu festgelegten Zeiten ausgeführt werden. Der Jobplaner muss für eine bestimmte Benachrichtigung ausgeführt werden. Wenn er nicht ausgeführt wird, werden keine Benachrichtigungen ausgelöst.

    1. Anhand der Anweisungen im folgenden Dokument können Sie feststellen, ob der geplante Job für eine bestimmte Benachrichtigung ausgeführt wurde:

      Monetarisierungsjobs planen

      Hinweis:Sie können den Zeitplan jederzeit entsprechend Ihrem Anwendungsfall ändern.

    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. Ist dies nicht der Fall, warten Sie, bis der geplante Job für die jeweilige Benachrichtigung ausgeführt wird.

Mögliche Ursachen

Mögliche Ursachen für dieses Problem sind:

Ursache Beschreibung Anleitungen zur Fehlerbehebung für
Falsche SMTP-Konfiguration Die angegebene SMTP-Konfiguration ist nicht korrekt. Edge Private Cloud-Nutzer

Zeitplan für Benachrichtigungsjobs

Der Benachrichtigungsjob wurde nicht gestartet. Edge-Nutzer von öffentlichen und privaten Clouds

Ursache 1: Falsche SMTP-Konfiguration

Diagnose

  1. Prüfen Sie in der Datei /opt/apigee/edge-mint-management-server/conf/apix-mint.properties, 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 der SMTP-Server und die Nutzereinstellungen 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 entsprechend der Anleitung im folgenden Dokument:

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

  4. Prüfe noch einmal, ob die Monetarisierungsbenachrichtigungen 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 ansehen) 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. Hier sehen 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" : "..."
      }
      

      In der JSON-Datei wird der Status „FAILED“ angezeigt. für die oben genannte Benachrichtigung „Update Developer“.

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

    Wenn Sie die Fehlermeldung „Zeitüberschreitung der Verbindung“ erhalten oder „Verbindung abgelehnt“ für die Telnet-Ausgabe und fahren Sie dann mit "Resolution" (Auflösung) fort.

Auflösung

  1. Arbeiten Sie mit Ihrem Netzwerkadministrator zusammen und vergewissern Sie sich, dass der SMTP-Server Verbindungen von anderen Computern annehmen kann und dass der spezifische Port für die Kommunikation nach außen offen ist.
  2. Wenn das Problem weiterhin besteht, fahren Sie mit dem Abschnitt Muss Diagnoseinformationen mit dem

Ursache 2: Zeitplan für Benachrichtigungsjob

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 erfüllt ist und für die Benachrichtigung aktiviert ist, die nicht funktioniert. Ist dies nicht der Fall, fahren Sie mit Schritt 3 fort, um die Benachrichtigungsbedingung zu erstellen, und überspringen Sie die restlichen Schritte.
    1. Falls vorhanden, überprüfen Sie, ob die Funktion auf "true" gesetzt ist. Falls nicht, führen Sie Update a Notification condition and action API aus, um die Benachrichtigungsbedingung zu aktualisieren.

      ODER

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

      Ereignis-UI

    3. Führen Sie den Aufruf Create a Notification condition and action API aus, um die entsprechende Benachrichtigungsbedingung und die entsprechende Aktion zu erstellen.
      1. Führen Sie nach dem Erstellen der Benachrichtigungsbedingung den API-Aufruf „Benachrichtigungsbedingungen und Aktionen auflisten“ aus, um zu prüfen, ob die Benachrichtigungsbedingung erstellt wurde.
      2. Mit Benachrichtigungs-API noch einmal verarbeiten können Sie die Benachrichtigung auch noch einmal verarbeiten.
    4. Dieser Schritt gilt nur für Private Cloud-Nutzer. Wenn die Benachrichtigungsbedingung aus Schritt 1 vorhanden ist und die Benachrichtigungs-E-Mails immer noch nicht eingehen, 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 die Benachrichtigungen immer noch nicht erhalten, fahren Sie mit Diagnoseinformationen erforderlich fort. Die Informationen und die Ergebnisse der oben genannten Schritte werden erfasst.

Lösung

  1. Verarbeiten Sie die Benachrichtigung noch einmal mit der Benachrichtigungs-API noch einmal verarbeiten.

Erfassen von Diagnoseinformationen erforderlich

Wenn das Problem trotz Befolgen der obigen Anweisungen weiterhin besteht, wenden Sie sich an den Apigee Edge-Support. und stellen Sie die folgenden Diagnoseinformationen bereit.

Nutzer von öffentlichen und privaten Clouds sollten die folgenden Informationen angeben:

  1. Name der Organisation
  2. Name der Umgebung
  3. Bedingung für Monetarisierungsbenachrichtigung hat nicht funktioniert
  4. Details dazu, welche Abschnitte in diesem Playbook bereits ausprobiert wurden, sowie sonstige Informationen, die uns bei der schnellen Lösung dieses Problems helfen.

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

  • Verwaltungsserverprotokoll

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