Configura una política de grabación de transacciones

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Configura las políticas de registro de transacciones para cada producto de API del paquete de productos, tal como se describe en las siguientes secciones.

Introducción

Una política de registro de transacciones permite que la monetización capte los parámetros de transacciones y atributos personalizados. La monetización necesita esta información para realizar el procesamiento de monetización como aplicar planes de tarifas.

Por ejemplo, si configuras un plan de tarifas de reparto de ingresos, un porcentaje de los ingresos generados por cada transacción relacionada con tu producto de API monetizado se reparten con el desarrollador de la app que emite la solicitud. El porcentaje de ingresos se basa en el neto o el bruto el precio de la transacción (puedes especificar cuál), es decir, un porcentaje del precio bruto o neto de cada transacción para determinar el porcentaje de ingresos. Por ello, la monetización necesita el precio bruto o neto de una transacción, según corresponda. Obtiene el precio bruto o neto en la configuración de la política de registro de transacciones.

Si configuras una hoja de tarifas en el que le cobras al desarrollador por cada transacción, puedes establecer la tarifa del plan según un atributo personalizado, como el número de bytes que se transmiten en una transacción. En la monetización, se necesita saber qué es el atributo personalizado y dónde encontrarlo. Por lo tanto, debes Especifica el atributo personalizado en la política de registro de transacciones.

Además de especificar los atributos de la transacción en la política de registro de transacciones, puedes especificar criterios de éxito de la transacción para determinar cuándo una transacción es exitosa (para para la carga). Para ver ejemplos de cómo configurar los criterios de éxito de la transacción, consulta Ejemplos de cómo establecer criterios de éxito de la transacción en el registro de una transacción política. También puedes especificar atributos personalizados para un producto de API (en el que se establece tu tarifa base cargos del plan).

Configuración de una política de registro de transacciones

Accede a la página Paquetes de productos como se describe a continuación.

Edge

Cuando agregas un paquete de productos de API con la IU de Edge, debes configurar la política de registro de transacciones mediante los siguientes pasos:

  1. Selecciona el producto de API que deseas configurar en la sección Política de registro de transacciones (si hay varios productos de API en el paquete).
  2. Configura los atributos de la transacción.
  3. Configura atributos personalizados.
  4. Vincula recursos con IDs de transacción únicos.
  5. Configura los reembolsos.
  6. Repite el proceso para cada producto de API definido en el paquete de productos de API.

Classic Edge (nube privada)

Para configurar una política de registro de transacciones con la IU clásica de Edge, sigue estos pasos:

  1. Accede a http://ms-ip:9000, donde ms-ip es la dirección IP o el nombre de DNS del nodo del servidor de administración.
  2. Selecciona Publicar > Productos en la barra de navegación superior.
  3. Haz clic en + Política de registro de transacciones en la fila de la API correspondiente. producto. Aparecerá la ventana Nueva política de registro de transacciones.
  4. Para configurar la política de registro de transacciones, sigue estos pasos:
  5. Haz clic en Guardar.

Configura los atributos de la transacción

En la sección Atributos de la transacción, especifica los criterios que indican que la transacción de monetización se realizó correctamente.

  1. En el campo Criterios de éxito de la transacción, especifica la expresión según el valor del atributo de estado. (descrito a continuación) para determinar cuándo la transacción se realizó correctamente (con fines de cobro). Transacciones que no se realizaron correctamente (es decir, que no cumplen con los criterios de la expresión) se registran, pero no se les aplican planes de tarifas. Por ejemplo:

    txProviderStatus == 'OK'

  2. El atributo Status contiene el valor utilizado por la expresión configurada en el campo Criterios de éxito de la transacción Para configurar el atributo Status, define los siguientes campos:
    Campo Descripción
    Recurso de API Patrones de URI definidos en el producto de API que se utilizarán para identificar transacciones monetizadas.
    Ubicación de la respuesta Ubicación de la respuesta en la que se especifica el atributo. Los valores válidos son Variable de flujo, Encabezado, Cuerpo JSON y Cuerpo XML.
    Valor Valor de la respuesta. Para especificar más de un valor, haz clic en + Agregar x (por ejemplo, + Agregar variable de flujo).
  3. Para configurar los atributos opcionales de la transacción, habilita el botón de activación Use Optional Attributes y configúralo cualquiera de los atributos de transacción definidos en la siguiente tabla.
    Atributo Descripción
    Precio bruto

    Este atributo se aplica solo a los planes de tarifas que usan el modelo de porcentaje de ingresos. Para esos planes de tarifas, es obligatorio el precio bruto o el precio neto. Asegúrate de que los valor numérico se expresa como un tipo String. Es el precio bruto de una transacción. Para planes de reparto de ingresos, debe registrar el atributo precio bruto o el precio neto . El atributo obligatorio depende del porcentaje de ingresos. Para Por ejemplo, puede establecer un plan de tarifas de reparto de ingresos basado en el precio bruto de un transacción. En ese caso, el campo del precio bruto es obligatorio.

    Precio neto

    Este atributo se aplica solo a los planes de tarifas que usan el modelo de porcentaje de ingresos. Para esos planes de tarifas, es obligatorio el precio bruto o el precio neto. Asegúrate de que los valor numérico se expresa como un tipo String. Es el precio neto de una transacción. Para para los planes de reparto de ingresos, debes registrar el campo Precio neto o el Precio bruto . El campo obligatorio depende del porcentaje de ingresos. Por ejemplo: puedes configurar un plan de tarifas de reparto de ingresos basado en el precio neto de una transacción. En ese caso, el campo del precio neto es obligatorio.

    Moneda

    Este atributo es obligatorio para los planes de tarifas que usan el modelo de porcentaje de ingresos. Es el tipo de moneda que se aplica a la transacción.

    Código de error

    Es el código de error asociado con la transacción. Proporciona más información sobre una transacción fallida.

    Descripción de artículo

    Es la descripción de la transacción.

    Impuesto

    Este atributo es relevante solo para los modelos de reparto de ingresos y solo si el importe del impuesto se captura en las llamadas a la API. Asegúrate de que el valor numérico esté expresado como un tipo String. Es el importe del impuesto sobre la compra. Precio neto más impuestos = precio bruto.

Por ejemplo, al establecer los siguientes valores, la monetización obtiene el valor de la variable de flujo de la respuesta del mensaje en un variable llamada response.reason.phrase. Si el valor es OK y la política de Verificación de límites de monetización adjunta a la solicitud de ProxyEndpoint del proxy de API, la monetización lo cuenta como una transacción.

Campo Valor
Criterios de éxito de la transacción txProviderStatus == 'OK'
Estado: Recurso de la API **
Estado: Ubicación de la respuesta Variable de flujo
Estado: variable de flujo response.reason.phrase

Configura atributos personalizados

En la sección Atributos personalizados, identificas los atributos personalizados que deseas incluir en la la política de registro de transacciones. Por ejemplo, si configuras un plan de hoja de tarifas, en el que se cobra al desarrollador por cada por transacción, puedes establecer la tarifa del plan en función de un atributo personalizado, como el número de de bytes transmitidos en una transacción. Luego, debes incluir ese atributo personalizado en la la política de registro de transacciones.

Cada uno de estos atributos se almacena en el registro de transacciones, que puedes consultar. También son que se muestran cuando creas un plan de tarifas (para que puedas elegir uno o más de estos atributos en para definir la tarifa del plan).

Puedes incluir atributos personalizados definidos en la política de registro de transacciones en tus ingresos. los informes de resumen, como se describe en Incluye transacción personalizada en los informes de resumen de ingresos.

Para configurar atributos personalizados, habilita el botón de activación Use Custom Attributes y define hasta 10 atributos personalizados. Para cada atributo personalizado que incluyas en la política de registro de transacciones, debes especificar la siguiente información.

Campo Descripción
Nombre del atributo personalizado Ingresa un nombre que describa el atributo personalizado. Si el plan de tarifas se basa en un atributo personalizado, Este nombre se muestra al usuario en los detalles del plan de tarifas. Por ejemplo, si el atributo personalizado capta la duración, debes asignar un nombre a la duración del atributo. Las unidades reales del atributo personalizado (como horas, minutos o segundos) se establecen en el campo de unidades de calificación. Cuando crea un plan de tarifas de atributos personalizados (consulta Especifica el plan de tarifas con detalles de atributos personalizados).
Recurso de API Selecciona uno o más sufijos de URI (es decir, el fragmento de URI que sigue la ruta base) de un recurso de API al que se acceda en la transacción. Los recursos disponibles son los mismos que para los atributos de transacción.
Ubicación de la respuesta Selecciona la ubicación en la respuesta en la que se especifica el atributo. Los valores válidos son Variable de flujo, Encabezado, Cuerpo JSON y Cuerpo XML.
Valor Especifica un valor para el atributo personalizado. Cada valor que especificas corresponde a un campo, un parámetro, o elemento de contenido que proporciona el atributo personalizado en la ubicación que especificaste. Para especificar más de un valor, haz clic en + Agregar x (por ejemplo, + Agregar variable de flujo).

Por ejemplo, si configuras un atributo personalizado denominado Longitud del contenido y seleccionas Encabezado como la ubicación de la respuesta, si el valor de longitud del contenido se proporciona en el campo HTTP Content-Length, debes especificar Content-Length como valor.

Algunas transacciones son simples y requieren una llamada a la API a un recurso. Sin embargo, otras las transacciones pueden ser más complejas. Por ejemplo, supongamos que se trata de una transacción de compra de un producto en una aplicación de juego para dispositivos móviles implica múltiples llamadas de recursos:

  • Una llamada a una API de reserva que garantiza que un usuario de prepago tenga crédito suficiente para comprar el producto y asigna ("reservas") los fondos para la compra.
  • Una llamada a una API de cargos que deduce los fondos de la cuenta del usuario prepagado.

Para procesar la transacción completa, la monetización necesita una forma de vincular el primer recurso (el la llamada y respuesta hacia y desde la API de reserva) con el segundo recurso (la llamada y la respuesta a y de la API de Charge). Para hacerlo, se basa en la información que especificas en el Sección Vincula recursos con un ID de transacción único.

Para configurar atributos personalizados, habilita el botón de activación Usar IDs de transacción únicos y vincúlalos las transacciones. Para cada transacción, especificas un recurso, una ubicación de respuesta y un valor de atributo que se vinculada con los valores correspondientes en las otras transacciones de contenedores.

Por ejemplo, supongamos que la llamada a la API de reserva y la llamada a la API de cobro están vinculadas de la siguiente manera: campo llamado session_id en el encabezado de respuesta de la API de reserva corresponde a un de respuesta llamado reference_id de la API de Charge. En este caso, puedes establecer las entradas en la sección Vincular recursos con un ID de transacción único, como se indica a continuación:

Recurso Ubicación de la respuesta Valor
reserve/{id}**

Encabezado

session_id
/charge/{id}**

Encabezado

reference_id

Configuración de reembolsos

En la sección Reembolsos, especifica los atributos que que la monetización usa para procesar reembolsos.

Por ejemplo, supongamos que un usuario compra un producto de una app para dispositivos móviles que usa tus APIs monetizadas. La transacción se monetiza según el contenido de ingresos de varios canales. Sin embargo, supongamos que el usuario no está satisfecho con el producto y desea devolverlo. Si el botón el producto se reembolsa con una llamada a la API que realiza el reembolso, la monetización realiza los ajustes de monetización necesarios. Lo hace según la información que especificas en el Sección Reembolsos de la política de registro de transacciones.

Para configurar los reembolsos, habilita el botón de activación Usar atributos de reembolso y define los detalles de los reembolsos:

  1. Para definir los criterios de reembolso, define los siguientes campos:
    Campo Descripción
    Ubicación de la respuesta Recurso para la transacción de reembolso. Si el producto de API proporciona varios recursos, puedes seleccionar únicamente aquel que realizará el reembolso.
    Criterios para alcanzar el éxito del reembolso Expresión basada en el valor de el atributo Status (descrito a continuación) para determinar si la transacción de reembolso se realizó correctamente (para cobrar ). Transacciones de reembolso que no se hayan realizado correctamente (es decir, que no cumplan con los criterios del expresión) se registran, pero no se les aplican planes de tarifas. Por ejemplo:

    txProviderStatus == 'OK'

  2. Para configurar el atributo Status, define los siguientes campos:
    Campo Descripción
    Ubicación de la respuesta Ubicación de la respuesta en la que se especifica el atributo. Los valores válidos son Variable de flujo, Encabezado, Cuerpo JSON y Cuerpo XML.
    Valor Valor de la respuesta. Para especificar más de un valor, haz clic en + Agregar x (por ejemplo, + Agregar variable de flujo).
  3. Para configurar el atributo ID principal, define los siguientes campos:
    Campo Descripción
    Ubicación de la respuesta Ubicación de la respuesta en la que se especifica el atributo. Los valores válidos son Variable de flujo, Encabezado, Cuerpo JSON y Cuerpo XML.
    Valor ID de la transacción para la que se procesa un reembolso. Por ejemplo, si un usuario compra un producto y luego solicita un reembolso, el El ID de transacción principal es el ID de la transacción de compra. Para especificar más de un valor, haz clic en + Agregar x (por ejemplo, + Agregar variable de flujo).
  4. Para configurar los atributos opcionales de reembolso, habilita el botón de activación Usar atributos opcionales de reembolso y configúralo los atributos. Los atributos opcionales de reembolso son los mismos que los atributos opcionales de transacción, tal como se define en Configura atributos de transacción.

Administrar las políticas de registro de transacciones con la API

En las siguientes secciones, se describe cómo administrar las políticas de registro de transacciones mediante la API.

Crea una política de registro de transacciones con la API

Debes especificar una política de registro de transacciones como un atributo de un producto de API. El valor del identifica lo siguiente:

  • El sufijo del URI del recurso del producto al que se aplica la política de registro de transacciones que se adjuntan. El sufijo incluye una variable de patrón encerrada entre llaves. El patrón los servicios de API evalúan la variable en el entorno de ejecución. Por ejemplo, el siguiente sufijo de URI incluye la variable de patrón {id}.
    /reserve/{id}**
    

    En este caso, los servicios de API evalúan el sufijo de URI del recurso como /reserve seguido de cualquier subdirectorio que comience con un ID definido por la API proveedor.

  • El recurso en la respuesta a la que se adjunta. Un producto de API puede tener varios recursos y cada uno puede tener una política de registro de transacciones adjunta a una respuesta de ese recurso.
  • Una política de extracción de variables que permite que la política de registro de transacciones extraiga contenido a partir de un mensaje de respuesta para los parámetros de transacción que deseas capturar.

Puedes agregar el atributo de la política de registro de transacciones a un producto de API mediante el envío de una solicitud PUT. a la API de Management https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (y no a una API de monetización).

Especifica los criterios de éxito de la transacción mediante la API

Puedes especificar los criterios de éxito de la transacción para determinar si una transacción se realizó correctamente (para fines de carga). Transacciones que no tienen éxito (es decir, que cumplen los criterios) en la expresión) se registran, pero no se les aplican planes de tarifas. Para ver ejemplos de configuración criterios de éxito de la transacción, consulta Ejemplos de configuración de criterios de éxito de transacciones en una política de registro de transacciones.

Los criterios de éxito de la transacción se especifican como un atributo de un producto de API. Hazlo antes del emitir una solicitud PUT a la API de administración https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (y no a la API de Monetización).

Por ejemplo, en la siguiente solicitud una transacción es exitosa si el valor de txProviderStatus es success (los criterios de éxito de la transacción relacionados están destacadas).

$ curl -H "Content-Type: application/json" -X PUT -d \ 
'{
        "apiResources": [
        "/reserve/{id}**"       
        ],
        "approvalType": "auto",
        "attributes": [                         
        {
                "name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
                "value": "txProviderStatus == 'OK'"
        }
        ],
        "description": "Payment",
        "displayName": "Payment",
        "environments": [
        "dev"
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
        ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Especifica atributos personalizados con la API

Puedes especificar atributos personalizados para un producto de API en el que cobras el plan de tarifas base. Para Por ejemplo, si configuras un plan de hoja de tarifas, en el que se cobra al desarrollador por cada transacción, puede establecer la tarifa del plan según un atributo personalizado, como la cantidad de bytes transmitidos en una transacción. Cuando creas un plan de tarifas, puedes especificar uno o más atributos personalizados en en la que se basará tu tarifa del plan. Sin embargo, cualquier producto específico en un plan de tarifas solo puede tener un atributo personalizado en el que se basará la tarifa del plan.

Los atributos personalizados se especifican como atributos de un producto de API. Para ello, emite una solicitud PUT solicitud a la API de Management https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (y no a la API de Monetización).

Para cada atributo personalizado que agregas a un producto de API, debes especificar un nombre y un valor del atributo. El nombre debe tener el formato MINT_CUSTOM_ATTRIBUTE_{num}, en donde {num} es un número entero.

Por ejemplo, la siguiente solicitud especifica tres atributos personalizados.

$ curl -H "Content-Type: application/json" -X PUT -d \
'{
        "apiResources": [
        "/reserve/{id}**",
        "/charge/{id}**"
        ],
        "approvalType": "auto",
        "attributes": [
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_1",
                "value": "test1"
        },
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_2",
                "value": "test2"
        }
 
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
                ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Ejemplos de configuración de criterios de éxito de la transacción en una transacción política de grabación

La siguiente tabla proporciona ejemplos de transacciones exitosas y fallidas, según la expresión de criterios de éxito de la transacción y el valor txProviderStatus que se muestra por el proxy de API. txProviderStatus es la variable interna que usa la monetización para determinar el éxito de la transacción.

Expresión de criterios de éxito ¿Es una expresión válida? Valor txProviderStatus del proxy de API Resultado de la evaluación
null verdadero "200" false
"" false "200" false
" " false "200" false
"sdfsdfsdf" false "200" false
"txProviderStatus =='100'" true "200" false
"txProviderStatus =='200'" true "200" true
"true" true "200" true
"txProviderStatus=='OK' OR
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Not Found" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "bad request" true
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Redirect" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "heeeelllooo" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus == 100" true "200" falso