As notificações de monetização não estão funcionando

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Sintoma

As notificações de monetização não estão funcionando e, portanto, os e-mails não estão sendo enviados aos usuários inscritos.

Mensagem de erro

Os e-mails sobre a notificação de monetização para as pessoas inscritas não serão enviados. Nenhuma mensagem de erro será observada.

Sobre as notificações de eventos de monetização

A monetização oferece suporte a notificações de eventos que permitem:

  1. Notificar todos os desenvolvedores sobre eventos, como novos produtos, novas versões dos Termos e Condições ou novos planos de taxas.
  2. Notificar desenvolvedores específicos sobre eventos, como a publicação de um documento de faturamento ou quando uma porcentagem do número de transações de destino é atingida (se eles compraram um plano de taxas de notificação ajustável).
  3. Notificar um provedor de API sobre eventos relacionados ao desenvolvedor, como quando um desenvolvedor se registra em uma conta ou quando ele se inscreve em um plano de taxas.
  4. Mais detalhes sobre o tipo de notificações e como configurá-las podem ser encontrados aqui.

Pré-requisitos

Verifique se os seguintes pré-requisitos foram atendidos:

  1. Aceitação do plano de taxas

    Para as seguintes notificações de monetização, verifique se os desenvolvedores aceitaram o plano de taxas correspondente :

    1. Novo plano de taxas
    2. Plano de taxas revisado
    3. Plano de taxas expirado
    4. Plano de taxas renovado
    5. Limite de taxa excedido
    6. Plano de taxas freemium esgotado

      Se o desenvolvedor não tiver aceitado o plano de taxas, essas notificações não serão acionadas para esse desenvolvedor específico.

  2. O programador de jobs precisa ser executado para a notificação específica

    A monetização oferece um programador de jobs e um conjunto de jobs pré-programados para serem executados em horários pré-determinados. O programador de jobs precisa ser executado para uma notificação específica. Se não for executado, as notificações não serão acionadas.

    1. Use as instruções fornecidas no documento a seguir para verificar se o job programado para uma notificação específica foi executado:

      Programar jobs de monetização

      Observação:é possível mudar a programação com base no seu caso de uso.

    2. Se o job programado para a notificação específica já tiver sido executado e você ainda não estiver recebendo as notificações, acesse a seção Causas possíveis para resolver esse problema.
    3. Caso contrário, aguarde até que o job programado para a notificação específica seja executado.

Causas possíveis

Algumas das possíveis causas desse problema são:

Causa Descrição Instruções de solução de problemas aplicáveis para
Configuração SMTP incorreta A configuração SMTP fornecida não está correta. Usuários da nuvem privada do Edge

Programação de jobs de notificação

O job de notificação não foi iniciado. Usuários da nuvem pública e privada do Edge

Causa 1: configuração SMTP incorreta

Diagnóstico

  1. Verifique o arquivo /opt/apigee/edge-mint-management-server/conf/apix-mint.properties e confira se as seguintes propriedades SMTP estão definidas corretamente.
    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. Verifique se o servidor SMTP e as configurações do usuário estão corretos. Se essas configurações estiverem incorretas ou não definidas, siga para a etapa 3. Se estiverem corretas, siga para a etapa 4.
  3. Atualize o servidor SMTP e as configurações do usuário corretamente usando as instruções no documento a seguir:

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

  4. Verifique novamente se as notificações de monetização estão funcionando. Se não estiverem, siga para a etapa 5.
  5. Se as configurações SMTP estiverem corretas, execute a chamada de API Visualizar notificações enviadas para conferir o status da notificação enviada.
    1. Essa API retorna um JSON com todas as notificações que foram acionadas e o status de cada uma delas.
    2. Um exemplo de JSON é fornecido abaixo :
      {
              "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" : "..."
      }

      Se você verificar o JSON, ele mostrará o status "FALHOU" para a notificação específica "Atualizar desenvolvedor" acima.

  6. Isso pode ter acontecido porque o servidor e a porta SMTP não podem ser acessados pelo servidor de gerenciamento. Use o comando telnet para verificar se é possível se conectar ao servidor SMTP especificado na porta especificada.
    telnet <SMTP-server-IP-address> <SMTP-Port#>

    Se você receber o erro "Conexão expirou" ou "Conexão recusada" para a saída do telnet, siga para a resolução.

Resolução

  1. Trabalhe com o administrador da rede e verifique se o servidor SMTP pode aceitar conexões de outras máquinas e se a porta específica está aberta para o mundo externo para comunicação.
  2. Se o problema persistir, siga para as informações de diagnóstico necessárias com o

Causa 2: programação de jobs de notificação

O job de notificação não foi iniciado.

Diagnóstico

  1. Execute a seguinte chamada de API para conferir todos os jobs de monetização programados no momento.

    /monetize/apis/get/triggers

  2. Verifique se a condição de notificação está presente e ativada para a notificação que não está funcionando. Se não estiver presente, siga para a etapa 3 para criar a condição de notificação e pule as demais etapas.
    1. Se estiver presente, verifique se ela está ativada como verdadeira. Se não estiver, execute a API "Atualizar uma condição e ação de notificação" para atualizar a condição de notificação.

      OU

    2. Use a interface para atualizar a condição de notificação usando o processo fornecido no documento abaixo:

      Interface de eventos

    3. Execute a chamada de API Criar uma condição e ação de notificação para criar a condição de notificação apropriada e a ação correspondente.
      1. Depois que a condição de notificação for criada, execute a chamada de API Listar condições e ações de notificação para verificar se a condição de notificação foi criada.
      2. Também é possível processar a notificação novamente usando a API "Reprocessar uma notificação".
    4. Esta etapa é aplicável apenas a usuários da nuvem privada. Se a condição de notificação estiver presente na etapa 1 e os e-mails de notificação ainda não estiverem chegando, verifique o registro do servidor de gerenciamento /opt/apigee/var/log/edge-management-server/logs/system.log e confira se a condição de notificação foi acionada.
      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. Se a condição de notificação for acionada e você ainda não estiver recebendo as notificações, siga para as informações de diagnóstico necessárias com as informações e a saída das etapas acima.

Resolução

  1. Reprocesse a notificação usando a API "Reprocessar uma notificação"

É necessário coletar informações de diagnóstico

Se o problema persistir mesmo depois de seguir as instruções acima, entre em contato com o suporte do Apigee Edge e forneça as seguintes informações de diagnóstico.

Os usuários da nuvem pública e privada precisam fornecer as informações abaixo:

  1. Nome da organização
  2. Nome do ambiente
  3. Condição de notificação de monetização que não funcionou
  4. Detalhes sobre quais seções deste manual foram testadas e outras informações que nos ajudarão a acelerar a resolução desse problema.

Além das informações acima, os usuários da nuvem privada também precisam fornecer as seguintes informações:

  • Registro do servidor de gerenciamento

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