Las notificaciones de monetización no funcionan

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Síntoma

Las notificaciones de monetización no funcionan y, por lo tanto, no se envían correos electrónicos a los usuarios suscritos.

Mensaje de error

No se enviarán los correos electrónicos sobre la notificación de monetización a las personas suscriptas. No se observarán mensajes de error.

Acerca de las notificaciones de eventos de monetización

La monetización admite notificaciones de eventos que te permiten hacer lo siguiente:

  1. Notificar a todos los desarrolladores sobre eventos como productos nuevos, versiones nuevas de los Términos y Condiciones o planes de tarifas nuevos
  2. Notificar a desarrolladores específicos sobre eventos como la publicación de un documento de facturación o cuando se alcanza un porcentaje de la cantidad objetivo de transacciones (si compraron un plan de tarifas de notificación ajustable)
  3. Notificar a un proveedor de API sobre eventos relacionados con el desarrollador, como cuando un desarrollador se registra para obtener una cuenta o cuando se registra en un plan de tarifas
  4. Puedes encontrar más detalles sobre qué tipos de notificaciones existen y cómo configurarlas aquí.

Requisitos previos

Asegúrate de que se cumplan los siguientes requisitos previos:

  1. Aceptación del plan de tarifas

    Para las siguientes notificaciones de monetización, verifica si los desarrolladores aceptaron el plan de tarifas correspondiente :

    1. Plan de tarifas nuevo
    2. Plan de tarifas revisado
    3. Plan de tarifas vencido
    4. Plan de tarifas renovado
    5. Se superó el límite de llamadas
    6. Plan de tarifas Freemium agotado

      Si el desarrollador no aceptó el plan de tarifas, estas notificaciones no se activarán para ese desarrollador específico.

  2. El programador de trabajos debe ejecutarse para la notificación específica

    La monetización proporciona un programador de trabajos y un conjunto de trabajos que están programados previamente para ejecutarse en horarios predeterminados. El programador de trabajos debe ejecutarse para una notificación específica. Si no se ejecuta, las notificaciones no se activarán.

    1. Usa las instrucciones que se proporcionan en el siguiente documento para ver si se ejecutó el trabajo programado para una notificación específica:

      Programa trabajos de monetización

      Nota: Siempre puedes cambiar la programación según tu caso de uso.

    2. Si el trabajo programado para la notificación específica ya se ejecutó y aún no recibes las notificaciones, ve a la sección Causas posibles para solucionar este problema.
    3. De lo contrario, espera hasta que se ejecute el trabajo programado para la notificación específica.

Causas posibles

Estas son algunas de las posibles causas de este problema:

Causa Descripción Instrucciones de solución de problemas aplicables a
Configuración de SMTP incorrecta La configuración de SMTP proporcionada no es correcta. Usuarios de la nube privada de Edge

Programación de trabajos de notificación

El trabajo de notificación no se inició. Usuarios de la nube pública y privada de Edge

Causa 1: Configuración de SMTP incorrecta

Diagnóstico

  1. Revisa el archivo /opt/apigee/edge-mint-management-server/conf/apix-mint.properties y verifica si las siguientes propiedades de SMTP están configuradas correctamente.
    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. Verifica si la configuración del servidor SMTP y del usuario es correcta. Si esta configuración es incorrecta o no está establecida, continúa con el paso 3. Si es correcta, continúa con el paso 4.
  3. Actualiza correctamente la configuración del servidor SMTP y del usuario con las instrucciones del siguiente documento:

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

  4. Vuelve a verificar si las notificaciones de monetización ahora funcionan. De lo contrario, continúa con el paso 5.
  5. Si la configuración de SMTP es correcta, ejecuta la llamada a la API de View notifications sent para ver el estado de la notificación enviada.
    1. Esta API muestra un JSON con todas las notificaciones que se activaron y el estado de cada una de ellas.
    2. A continuación, se proporciona un JSON de muestra :
      {
              "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" : "..."
      }

      Si revisas el JSON, se muestra el estado como "FAILED" para la notificación específica "Update Developer".

  6. Esto podría deberse a que no se puede acceder al servidor y al puerto SMTP desde el servidor de administración. Usa el comando telnet para verificar si puedes conectarte al servidor SMTP especificado en el puerto especificado.
    telnet <SMTP-server-IP-address> <SMTP-Port#>

    Si recibes el error "Connection timed out" o "Connection refused" para el resultado de telnet, continúa con Solución.

Solución

  1. Trabaja con el administrador de red y asegúrate de que el servidor SMTP pueda aceptar conexiones de otras máquinas y que el puerto específico esté abierto al mundo exterior para la comunicación.
  2. Si el problema persiste, continúa con Se debe recopilar información de diagnóstico con la

Causa 2: Programación de trabajos de notificación

El trabajo de notificación no se inició.

Diagnóstico

  1. Ejecuta la siguiente llamada a la API para ver todos los trabajos de monetización programados actualmente.

    /monetize/apis/get/triggers

  2. Verifica si la condición de notificación está presente y habilitada para la notificación que no funciona. Si no está presente, continúa con el paso 3 para crear la condición de notificación y omite el resto de los pasos.
    1. Si está presente, verifica si está habilitada como verdadera. De lo contrario, ejecuta la API de Update a notification condition and action para actualizar la condición de notificación.

      O

    2. Usa la IU para actualizar la condición de notificación con el proceso que se proporciona en el siguiente documento:

      IU de eventos

    3. Ejecuta la llamada a la API de Create a notification condition and action para crear la condición de notificación adecuada y la acción correspondiente.
      1. Una vez que se cree la condición de notificación, ejecuta la llamada a la API de List notification conditions and actions para verificar si se creó la condición de notificación.
      2. También puedes volver a procesar la notificación con la API de Reprocess a notification.
    4. Este paso solo se aplica a los usuarios de la nube privada. Si la condición de notificación está presente desde el paso 1 y los correos electrónicos de notificación aún no llegan, revisa el registro del servidor de administración /opt/apigee/var/log/edge-management-server/logs/system.log y verifica si se activó la condición de notificación.
      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. Si se activa la condición de notificación y aún no recibes las notificaciones, continúa con Se debe recopilar información de diagnóstico con la información y el resultado de los pasos anteriores capturados.

Solución

  1. Vuelve a procesar la notificación con la API de Reprocess a notification.

Se debe recopilar información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, comunícate con Asistencia de Apigee Edge y proporciona la siguiente información de diagnóstico.

Los usuarios de la nube pública y privada deben proporcionar la siguiente información:

  1. Nombre de la organización
  2. Nombre del entorno
  3. Condición de notificación de monetización que no funcionó
  4. Detalles sobre qué secciones de esta guía se probaron y cualquier otra información que nos ayude a acelerar la resolución de este problema

Además de la información anterior, los usuarios de la nube privada también deben proporcionar la siguiente información:

  • Registro del servidor de administración

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