Powiadomienia o przychodach nie działają

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Krótki opis problemu

Powiadomienia o zarabianiu nie działają, dlatego e-maile nie są wysyłane do subskrybentów.

Komunikat o błędzie

E-maile z powiadomieniami o generowaniu przychodu do subskrybentów nie będą wysyłane. Nie będą rejestrowane żadne komunikaty o błędach.

Powiadomienia o zdarzeniach zarabiania

Zarabianie obsługuje powiadomienia o zdarzeniach, dzięki którym możesz:

  1. Powiadamiaj wszystkich deweloperów o wydarzeniach takich jak nowe produkty, nowe wersje Warunków lub nowe plany stawek.
  2. powiadamia deweloperów o zdarzeniach, np. o opublikowaniu dokumentu rozliczeniowego lub osiągnięciu pewnego odsetka docelowej liczby transakcji (jeśli mają wykupiony plan z możliwością dostosowania stawki powiadomień).
  3. Powiadom dostawcę interfejsu API o zdarzeniach związanych z deweloperem, takich jak rejestracja konta przez dewelopera lub rejestracja w programie taryfowym.
  4. Więcej informacji na temat dostępnych typów powiadomień i ich konfiguracji znajdziesz tutaj.

Wymagania wstępne

Upewnij się, że spełniasz te wymagania wstępne:

  1. Zatwierdzenie planu taryfowego

    W przypadku tych powiadomień o przychodach sprawdź, czy deweloperzy zaakceptowali odpowiedni plan taryfowy :

    1. Nowy plan stawek
    2. Zmieniony abonament
    3. Wygasły abonament
    4. Odnowiony abonament
    5. Przekroczono limit ruchu
    6. Wyczerpany abonament Freemium

      Jeśli deweloper go nie zaakceptował, powiadomienia nie będą się pojawiać w przypadku tego konkretnego dewelopera.

  2. Job Scheduler powinno zostać uruchomione dla określonego powiadomienia

    Funkcja zarabiania obejmuje algorytm szeregowania zadań i zestaw zadań, które są zaplanowane i mają być uruchamiane w wyznaczonych godzinach. Aby otrzymać konkretne powiadomienie, należy uruchomić algorytm szeregowania zadań. Jeśli nie jest uruchomiony, powiadomienia nie będą wyzwalane.

    1. Aby sprawdzić, czy zaplanowane zadanie dla określonego powiadomienia zostało uruchomione, wykonaj instrukcje podane w poniższym dokumencie:

      Planowanie zadań związanych z zarabianiem

      Uwaga: harmonogram możesz zawsze zmienić na podstawie swojego przypadku użycia.

    2. Jeśli zaplanowane zadanie związane z konkretnym powiadomieniem zostało już uruchomione, ale nadal nie otrzymujesz powiadomień, przejdź do sekcji Możliwe przyczyny, by dokładniej rozwiązać ten problem.
    3. Jeśli nie, poczekaj, aż uruchomi się zaplanowane zadanie dla określonego powiadomienia.

Możliwe przyczyny

Oto kilka możliwych przyczyn:

Przyczyna Opis Instrukcje rozwiązywania problemów dotyczące
Nieprawidłowa konfiguracja SMTP Podana konfiguracja SMTP jest nieprawidłowa. Użytkownicy chmury Edge Private Cloud

Harmonogram zadań wysyłania powiadomień

Zadanie powiadamiania nie zostało rozpoczęte. Użytkownicy chmury publicznej i Cloud Private Cloud

Przyczyna 1. Nieprawidłowa konfiguracja SMTP

Diagnoza

  1. Sprawdź plik /opt/apigee/edge-mint-management-server/conf/apix-mint.properties i sprawdź, czy poniższe właściwości SMTP są ustawione prawidłowo.
    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. Sprawdź, czy ustawienia serwera SMTP i użytkownika są poprawne. Jeśli są one nieprawidłowe lub nie zostały skonfigurowane, przejdź do kroku 3. Jeśli wszystko się zgadza, przejdź do kroku 4.
  3. Prawidłowo zaktualizuj ustawienia serwera SMTP i użytkownika, korzystając z instrukcji w tym dokumencie:

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

  4. Sprawdź jeszcze raz, czy powiadomienia o zarabianiu działają. W przeciwnym razie przejdź do kroku 5.
  5. Jeśli ustawienia SMTP są prawidłowe, uruchom wywołanie interfejsu API View notifications sent (Wyświetlanie powiadomień wysyłanych), aby sprawdzić stan wysłanego powiadomienia.
    1. Ten interfejs API zwraca kod JSON ze wszystkimi wywołanymi powiadomieniami oraz ich stanem.
    2. Przykładowy plik JSON znajdziesz poniżej:
      {
              "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" : "..."
      }
      

      Jeśli sprawdzisz plik JSON, będzie on miał stan „FAILED” powyższego powiadomienia „Update Developer” (Zaktualizuj programistę).

  6. Przyczyną może być to, że serwer SMTP i port mogą być niedostępne z poziomu serwera zarządzania. Użyj polecenia telnet, aby sprawdzić, czy możesz połączyć się z określonym serwerem SMTP przez określony port.
    telnet <SMTP-server-IP-address> <SMTP-Port#>
    

    Jeśli podczas próby połączenia przez Telnet pojawi się błąd „Osiągnięto limit czasu połączenia” lub „Odmowa połączenia”, przejdź do rozwiązania.

Rozdzielczość

  1. Skontaktuj się z administratorem sieci i upewnij się, że serwer SMTP akceptuje połączenia z innych komputerów oraz że określony port jest otwarty na komunikację ze światem zewnętrznym.
  2. Jeśli problem nie ustępuje, przejdź do strony „Musi zebrać informacje diagnostyczne” z

Przyczyna 2. Harmonogram zadań powiadamiania

Zadanie powiadamiania nie zostało rozpoczęte.

Diagnoza

  1. Uruchom poniższe wywołanie interfejsu API, aby wyświetlić wszystkie zaplanowane zadania zarabiania.

    /monetize/apis/get/triggers

  2. Sprawdź, czy warunek powiadomienia jest obecny i czy jest włączony w przypadku niedziałającego powiadomienia. Jeśli go nie ma, przejdź do kroku 3, aby utworzyć warunek powiadomienia i pomiń pozostałe kroki.
    1. Jeśli tak, sprawdź, czy ma wartość Prawda. Jeśli nie, uruchom aktualizację warunku powiadomienia i interfejsu API działania, aby zaktualizować warunek powiadomienia.

      LUB

    2. Warunek powiadomienia możesz zaktualizować w interfejsie, korzystając z procedury opisanej w poniższym dokumencie:

      Interfejs zdarzeń

    3. Uruchom wywołanie Create a notification form and action API (Utwórz warunek powiadomienia i działanie interfejsu API), aby utworzyć odpowiedni warunek powiadomienia i odpowiednie działanie.
      1. Po utworzeniu warunku powiadomienia uruchom wywołanie listy warunków powiadomień i działań interfejsu API, aby sprawdzić, czy warunek powiadomienia został utworzony.
      2. Możesz też ponownie przetworzyć powiadomienie, używając ponownego przetwarzania interfejsu API powiadomień.
    4. Ten krok dotyczy tylko użytkowników Private Cloud. Jeśli warunek powiadomienia występuje w kroku 1, a e-maile z powiadomieniami nadal nie przychodzą, sprawdź dziennik serwera zarządzania /opt/apigee/var/log/edge-management-server/logs/system.log i zobacz, czy został spełniony warunek powiadomienia.
      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. Jeśli warunek zostanie spełniony, ale nadal nie będziesz otrzymywać powiadomień, przejdź do sekcji Musisz zbierać informacje diagnostyczne z przechwyconymi informacjami i danymi uzyskanymi z podanych wyżej kroków.

Rozwiązanie

  1. Przetwórz powiadomienie ponownie za pomocą interfejsu API ponownego przetwarzania powiadomień.

Musi gromadzić informacje diagnostyczne

Jeśli problem nie ustąpi mimo wykonania powyższych instrukcji, skontaktuj się z zespołem pomocy Apigee Edge i podaj te informacje diagnostyczne.

Użytkownicy chmur publicznych i prywatnych powinni podać te informacje:

  1. Nazwa organizacji
  2. Nazwa środowiska
  3. Warunek powiadomienia o generowaniu przychodu, który nie zadziałał
  4. Szczegółowe informacje o tym, jakie sekcje tego poradnika zostały już wypróbowane, oraz o innych danych, które pomogą nam przyspieszyć rozwiązanie tego problemu.

Oprócz powyższych informacji użytkownicy Private Cloud powinni też podać te informacje:

  • Log serwera zarządzania

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