Sie lesen gerade die Apigee Edge -Dokumentation.
Zur
Apigee X -Dokumentation. info
Symptom
Monetarisierungsbenachrichtigungen funktionieren nicht und daher werden keine E‑Mails an die abonnierten Nutzer gesendet.
Fehlermeldung
Die E‑Mails zu Monetarisierungsbenachrichtigungen an die abonnierten Nutzer werden nicht gesendet. Es werden keine Fehlermeldungen angezeigt.
Informationen zu Ereignisbenachrichtigungen für die Monetarisierung
Die Monetarisierung unterstützt Ereignisbenachrichtigungen, mit denen Sie Folgendes tun können:
- Alle Entwickler über Ereignisse wie neue Produkte, neue Versionen der Nutzungsbedingungen oder neue Tarifpakete benachrichtigen.
- Bestimmte Entwickler über Ereignisse wie die Veröffentlichung eines Abrechnungsdokuments oder das Erreichen eines bestimmten Prozentsatzes der Zielanzahl von Transaktionen benachrichtigen (wenn sie ein anpassbares Tarifpaket für Benachrichtigungen erworben haben).
- Einen API-Anbieter über entwicklerbezogene Ereignisse benachrichtigen, z. B. wenn sich ein Entwickler für ein Konto registriert oder sich für ein Tarifpaket anmeldet.
- Weitere Informationen zu den verschiedenen Arten von Benachrichtigungen und zur Einrichtung finden Sie hier.
Vorbereitung
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Annahme des Tarifpakets
Prüfen Sie für die folgenden Monetarisierungsbenachrichtigungen, ob die Entwickler das entsprechende Tarifpaket angenommen haben :
- Neues Tarifpaket
- Überarbeitetes Tarifpaket
- Abgelaufenes Tarifpaket
- Verlängertes Tarifpaket
- Ratenlimit überschritten
- Freemium-Tarifpaket aufgebraucht
Wenn der Entwickler das Tarifpaket nicht angenommen hat, werden diese Benachrichtigungen für diesen bestimmten Entwickler nicht ausgelöst.
- Job Scheduler muss für die jeweilige Benachrichtigung ausgeführt werden
Die Monetarisierung bietet einen Job Scheduler und eine Reihe von Jobs, die so geplant sind, dass sie zu bestimmten Zeiten ausgeführt werden. Der Job Scheduler muss für eine bestimmte Benachrichtigung ausgeführt werden. Wenn er nicht ausgeführt wird, werden die Benachrichtigungen nicht ausgelöst.
- Folgen Sie der Anleitung im folgenden Dokument, um zu prüfen, ob der geplante Job für eine bestimmte Benachrichtigung ausgeführt wurde:
Hinweis:Sie können den Zeitplan jederzeit an Ihren Anwendungsfall anpassen.
- Wenn der geplante Job für die bestimmte Benachrichtigung bereits ausgeführt wurde und Sie die Benachrichtigungen trotzdem nicht erhalten, lesen Sie den Abschnitt Mögliche Ursachen, um das Problem weiter zu beheben.
- Warten Sie andernfalls, bis der geplante Job für die bestimmte Benachrichtigung ausgeführt wird.
- Folgen Sie der Anleitung im folgenden Dokument, um zu prüfen, ob der geplante Job für eine bestimmte Benachrichtigung ausgeführt wurde:
Mögliche Ursachen
Einige der möglichen Ursachen für dieses Problem sind:
| Ursache | Beschreibung | Anleitung zur Fehlerbehebung gilt für |
|---|---|---|
| Falsche SMTP-Konfiguration | Die angegebene SMTP-Konfiguration ist falsch. | Edge Private Cloud-Nutzer |
| Der Benachrichtigungsjob wurde nicht gestartet. | Edge Public Cloud- und Edge Private Cloud-Nutzer |
Ursache 1: Falsche SMTP-Konfiguration
Diagnose
- Prüfen Sie die Datei
/opt/apigee/edge-mint-management-server/conf/apix-mint.propertiesund prüfen Sie, 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" }
- Prüfen Sie, ob die SMTP-Server- und Nutzereinstellungen korrekt sind. Wenn diese Einstellungen falsch oder nicht festgelegt sind, fahren Sie mit Schritt 3 fort. Wenn sie korrekt sind, fahren Sie mit Schritt 4 fort.
- Aktualisieren Sie die SMTP-Server- und Nutzereinstellungen gemäß der Anleitung im folgenden Dokument:
- Prüfen Sie noch einmal, ob die Monetarisierungsbenachrichtigungen jetzt funktionieren. Wenn nicht, fahren Sie mit Schritt 5 fort.
- Wenn die SMTP-Einstellungen korrekt sind, führen Sie den API-Aufruf „View notifications sent“ aus, um den Status der gesendeten Benachrichtigung zu sehen.
- Diese API gibt eine JSON-Datei mit allen ausgelösten Benachrichtigungen und dem Status der einzelnen Benachrichtigungen zurück.
- Unten finden Sie ein Beispiel für eine JSON-Datei :
{ "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 für die oben genannte Benachrichtigung „Update Developer“ der Status „FAILED“ angezeigt.
- Das kann daran liegen, dass der SMTP-Server und der Port vom Management Server aus nicht erreichbar sind. Prüfen Sie mit dem Befehl „telnet“, ob Sie eine Verbindung zum angegebenen SMTP-Server über den angegebenen Port herstellen können.
telnet <SMTP-server-IP-address> <SMTP-Port#>
Wenn Sie für die Telnet-Ausgabe die Fehlermeldung „Connection timed out“ oder „Connection refused“ erhalten, fahren Sie mit der Auflösung fort.
Auflösung
- Wenden Sie sich an Ihren Netzwerkadministrator und prüfen Sie, ob der SMTP-Server Verbindungen von anderen Computern akzeptieren kann und ob der bestimmte Port für die Kommunikation mit der Außenwelt geöffnet ist.
- Wenn das Problem weiterhin besteht, fahren Sie mit dem Abschnitt Erfassen von Diagnoseinformationen erforderlich fort.
Ursache 2: Zeitplan für Benachrichtigungsjobs
Der Benachrichtigungsjob wurde nicht gestartet.
Diagnose
- Führen Sie den folgenden API-Aufruf aus, um alle derzeit geplanten Monetarisierungsjobs aufzurufen.
- Prüfen Sie, ob die Benachrichtigungsbedingung vorhanden und für die Benachrichtigung aktiviert ist, die nicht funktioniert. Wenn sie nicht vorhanden ist, fahren Sie mit Schritt 3 fort, um die Benachrichtigungsbedingung zu erstellen, und überspringen Sie die restlichen Schritte.
- Wenn sie vorhanden ist, prüfen Sie, ob sie auf „true“ gesetzt ist. Wenn nicht, führen Sie die API „Update a notification condition and action“ aus, um die Benachrichtigungsbedingung zu aktualisieren.
ODER
- Aktualisieren Sie die Benachrichtigungsbedingung über die Benutzeroberfläche gemäß der Anleitung im folgenden Dokument:
- Führen Sie den API-Aufruf „Create a notification condition and action“ aus, um die entsprechende Benachrichtigungsbedingung und die entsprechende Aktion zu erstellen.
- Nachdem die Benachrichtigungsbedingung erstellt wurde, führen Sie den API-Aufruf „List notification conditions and actions“ aus, um zu prüfen, ob die Benachrichtigungsbedingung erstellt wurde.
- Sie können die Benachrichtigung auch mit der API „Reprocess a notification“ noch einmal verarbeiten.
- Dieser Schritt gilt nur für Private Cloud-Nutzer. Wenn die Benachrichtigungsbedingung aus Schritt 1 vorhanden ist und die Benachrichtigungs-E‑Mails weiterhin nicht eingehen, prüfen Sie das Management Server-Log
/opt/apigee/var/log/edge-management-server/logs/system.logund prüfen Sie, 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
- Wenn die Benachrichtigungsbedingung ausgelöst wurde und Sie die Benachrichtigungen trotzdem nicht erhalten, fahren Sie mit dem Abschnitt Erfassen von Diagnoseinformationen erforderlich fort und geben Sie die Informationen und die Ausgabe aus den oben genannten Schritten an.
- Wenn sie vorhanden ist, prüfen Sie, ob sie auf „true“ gesetzt ist. Wenn nicht, führen Sie die API „Update a notification condition and action“ aus, um die Benachrichtigungsbedingung zu aktualisieren.
Auflösung
- Verarbeiten Sie die Benachrichtigung mit der API „Reprocess a notification“ noch einmal.
Erfassen von Diagnoseinformationen erforderlich
Wenn das Problem auch nach Befolgen der obigen Anweisungen weiterhin besteht, wenden Sie sich an den Apigee Edge-Support
und geben Sie die folgenden Diagnoseinformationen an.
Public Cloud- und Private Cloud-Nutzer sollten die folgenden Informationen angeben:
- Name der Organisation
- Umgebungsname
- Monetarisierungsbenachrichtigungsbedingung, die nicht funktioniert hat
- Details zu den Abschnitten in diesem Playbook, die Sie ausprobiert haben, und alle anderen Informationen, die uns helfen, das Problem schnell zu beheben.
Zusätzlich zu den oben genannten Informationen sollten Private Cloud-Nutzer auch die folgenden Informationen angeben:
- Management Server-Log
/opt/apigee/var/log/edge-management-server/logs/system.log