Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Configure políticas de registro de transações para cada produto de API no pacote de produtos da API, conforme descrito nas seções a seguir.
Introdução
Uma política de gravação de transações permite que a monetização capture parâmetros de transação e atributos personalizados. A monetização precisa dessas informações para processar o processo de monetização como a aplicação de planos de tarifas.
Por exemplo, se você configurar um plano de divisão da receita, da receita gerada em cada transação envolvendo seu produto de API monetizado é compartilhada com o desenvolvedor do aplicativo que emite a solicitação. A participação na receita é baseada no valor líquido ou bruto preço da transação (você especifica qual), ou seja, uma porcentagem do preço bruto ou líquido de cada transação é usado para determinar a participação na receita. Por isso, a monetização precisa saber o preço bruto ou líquido de uma transação, conforme aplicável. Ela mostra o preço bruto ou líquido com base nas configurações definidas na política de gravação de transações.
Se você configurar uma tabela de preços em que você cobra o desenvolvedor por cada transação, é possível definir a taxa do plano com base em um atributo personalizado, como o número de bytes transmitidos em uma transação. A monetização precisa saber o que é o atributo personalizado e onde ele está. Então você precisa especificar o atributo personalizado na política de registro de transações.
Além de especificar atributos da transação na política de gravação de transações, é possível especificar critérios de sucesso da transação para determinar quando uma transação foi bem-sucedida (por para fins de cobrança). Para ver exemplos de definição de critérios de sucesso da transação, consulte Exemplos da definição de critérios de sucesso da transação em um registro de transação. política. Também é possível especificar atributos personalizados para um produto da API (na qual você define e cobranças do plano de serviço).
Como configurar uma política de registro de transações
Acesse a página "Pacotes de produtos", conforme descrito abaixo.
Edge
Ao adicionar um pacote de produtos de API usando a interface do Edge, você precisa configurar a política de gravação de transações executando as seguintes etapas:
- Selecione o produto de API a ser configurado na seção Política de registro de transações (se houver vários produtos de API no pacote de produtos).
- Configurar atributos de transação.
- Configurar atributos personalizados.
- Vincular recursos com IDs de transação exclusivos.
- Configurar reembolsos
- Repita o procedimento para cada produto de API definido no pacote de produtos da API.
Edge clássico (nuvem privada)
Para configurar uma política de gravação de transações usando a IU clássica do Edge:
- Faça login em
http://ms-ip:9000
, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento. - Selecione Publicar > Produtos na barra de navegação superior.
- Clique em + Política de registro de transações na linha da API aplicável. produto. A janela "Nova política de gravação de transações" será exibida.
- Configure a política de gravação de transações seguindo estas etapas:
- Clique em Salvar.
Configurar atributos de transação
Na seção Atributos da transação, especifique os critérios que indicam uma transação de monetização bem-sucedida.
- No campo Critérios de sucesso da transação, especifique a expressão com base no valor do atributo "Status".
(descrito a seguir) para determinar quando a transação foi bem-sucedida (para fins de cobrança). Transações que não foram concluídas
(ou seja, eles não atendem aos critérios na expressão) são registrados, mas os planos de tarifas não são aplicados a eles. Exemplo:
txProviderStatus == 'OK'
- O atributo Status contém o valor usado pela expressão configurada em
no campo Critérios de sucesso da transação. Configure o atributo Status definindo os seguintes campos:
Campo Descrição Recurso da API Padrões de URI definidos no produto da API que serão usados para identificar transações monetizadas. Local da resposta Local da resposta em que o atributo é especificado. Os valores válidos incluem: variável de fluxo, cabeçalho, corpo JSON e corpo do XML. Valor Valor da resposta. Para especificar mais de um valor, clique em + Adicionar x (por exemplo, + Adicionar variável de fluxo). - Para configurar atributos de transação opcionais, ative a opção Usar atributos opcionais e configure
qualquer um dos atributos de transação definidos na tabela a seguir.
Atributo Descrição Preço bruto Esse atributo é aplicável apenas a planos de tarifas que usam o modelo de participação na receita. Para esses planos de tarifas, é obrigatório definir o Preço bruto ou o Preço líquido. Assegure-se de que O valor numérico é expresso como um tipo de string. Preço bruto de uma transação. Para de participação na receita, registre o atributo "Preço bruto" ou o "Preço líquido" . O atributo necessário depende da base da participação na receita. Para exemplo, é possível configurar um plano de tarifação de participação na receita com base no preço bruto de transação. Nesse caso, o campo "Preço bruto" é obrigatório.
Preço líquido Esse atributo é aplicável apenas a planos de tarifas que usam o modelo de participação na receita. Para esses planos de tarifas, é obrigatório definir o Preço bruto ou o Preço líquido. Assegure-se de que O valor numérico é expresso como um tipo de string. Preço líquido de uma transação. Para dos planos de participação na receita, é preciso registrar o campo Preço líquido . O campo obrigatório depende da base da participação na receita. Por exemplo: é possível definir um plano de taxa de participação na receita com base no preço líquido de uma transação. Nesse caso, o campo Preço líquido é obrigatório.
Moeda Esse atributo é obrigatório para planos de tarifas que usam o modelo de participação na receita. Tipo de moeda que se aplica à transação.
Código do erro Código do erro associado à transação. Ele oferece mais informações sobre uma transação com falha.
Descrição do item Descrição da transação.
Tributo Este atributo é relevante somente para modelos de participação na receita e apenas se o valor dos tributos é capturado nas chamadas de API. Verifique se o valor numérico é expresso como um tipo String. Valor do tributo sobre a compra. Preço líquido mais tributos = preço bruto.
Por exemplo, ao definir os valores a seguir, a monetização obtém o valor da variável de fluxo da resposta da mensagem em uma
chamada response.reason.phrase
. Se o valor for OK e
a política de verificação de limites de monetização é
anexada à solicitação do proxy da API ProxyEndpoint, a monetização conta isso como uma transação.
Campo | Valor |
---|---|
Critérios de sucesso da transação | txProviderStatus == 'OK' |
Status: recurso da API | ** |
Status: local da resposta | Variável de fluxo |
Status: variável de fluxo | response.reason.phrase |
Configurar atributos personalizados
Na seção Atributos personalizados, você identifica os atributos personalizados a serem incluídos no política de gravação de transações. Por exemplo, se você configurar um plano de tabela de preços, em que você cobra do desenvolvedor por cada transação, defina a taxa para o plano com base em um atributo personalizado, como o número de bytes transmitidos em uma transação. Depois, você precisa incluir esse atributo personalizado no política de gravação de transações.
Cada um desses atributos é armazenado no registro de transações, que você pode consultar. Eles também são exibido quando você cria um plano de tarifação (para que você possa escolher um ou mais desses atributos que servirá de base para o preço do plano).
Você pode incluir na sua receita atributos personalizados definidos na política de registro de transações relatórios de resumo, conforme descrito em Inclusão de transação personalizada atributos nos relatórios de resumo da receita.
Para configurar atributos personalizados, ative a opção Usar atributos personalizados e defina até 10 atributos personalizados. Para cada atributo personalizado incluído na política de gravação de transações, especifique as informações a seguir.
Campo | Descrição |
---|---|
Nome do atributo personalizado | Insira um nome que descreva o atributo personalizado. Se o plano de tarifas tiver como base um atributo personalizado, esse nome é exibido ao usuário nos detalhes do plano de tarifa. Por exemplo, se o atributo personalizado captura a duração, nomeie a duração do atributo. As unidades reais do atributo personalizado (como horas, minutos ou segundos) são definidas no campo de unidade de avaliação. quando você cria um plano de tarifas de atributos personalizados Consulte Especificar o plano de tarifas com detalhes de atributos personalizados. |
Recurso da API | Selecione um ou mais sufixos de URI (ou seja, o fragmento de URI após o caminho base) de um recurso de API acessado na transação. Os recursos disponíveis são os mesmos dos atributos de transação. |
Local da resposta | Selecione o local na resposta em que o atributo é especificado. Os valores válidos incluem: variável de fluxo, cabeçalho, corpo JSON e corpo do XML. |
Valor | Especifique um valor para o atributo personalizado. Cada valor especificado corresponde a um campo, parâmetro
ou o elemento de conteúdo que fornece o atributo personalizado no local que você especificou. Para especificar mais de um valor, clique em + Adicionar x (por exemplo, + Adicionar variável de fluxo).
Por exemplo, se você configurar um atributo personalizado chamado Tamanho do conteúdo e selecionar Cabeçalho como o local da resposta,
Se o valor de "Comprimento do conteúdo" for fornecido no campo "Comprimento de conteúdo HTTP", especifique |
Vincular recursos com um ID de transação exclusivo
Algumas transações são simples e envolvem uma chamada de API para um recurso. No entanto, outros transações podem ser mais complexas. Por exemplo, suponha que uma transação para comprar um produto em um aplicativo de jogo para dispositivos móveis envolve várias chamadas de recursos:
- Uma chamada para uma API de reserva que garante que um usuário pré-pago tenha crédito suficiente para comprar o e aloca ("reserva") os fundos para a compra.
- Uma chamada para uma API de cobrança que deduz os fundos da conta do usuário pré-pago.
Para processar toda a transação, a monetização precisa de uma forma de vincular o primeiro recurso (o chamada e resposta para e da API de reserva) com o segundo recurso (a chamada e a resposta para e da API Charge). Para fazer isso, ele se baseia nas informações que você especifica no Seção Vincular recursos com ID exclusivo da transação.
Para configurar atributos personalizados, ative a opção Usar códigos exclusivos de transação e vincule as transações. Para cada transação, você especifica um recurso, um local de resposta e um valor de atributo vinculado aos valores correspondentes no outro transações.
Por exemplo, suponha que a chamada de API de reserva e a chamada de API de cobrança estejam vinculadas da seguinte maneira: um
um campo chamado session_id
no cabeçalho de resposta da API de reserva corresponde a uma
cabeçalho de resposta chamado reference_id
da API de cobrança. Nesse caso, é possível definir as entradas
na seção "Vincular recursos com código exclusivo da transação" da seguinte forma:
Recurso | Local da resposta | Valor |
---|---|---|
reserve/{id}** |
Cabeçalho |
session_id |
/charge/{id}** |
Cabeçalho |
reference_id |
Como configurar reembolsos
Na seção Reembolsos, você especifica os atributos que para processar reembolsos.
Por exemplo, suponha que um usuário compre um produto de um app para dispositivos móveis que usa suas APIs monetizadas. A transação gera receita com base no plano de receita. No entanto, suponha que o usuário esteja insatisfeito com o produto e queira devolvê-lo. Se o produto é reembolsado usando uma chamada para sua API que faz o reembolso, a monetização torna o os ajustes necessários de monetização. Ele faz isso com base nas informações que você especifica no Seção de reembolsos da política de registro de transações.
Para configurar reembolsos, ative a opção Usar atributos de reembolso e defina os detalhes do reembolso:
- Defina os critérios de reembolso definindo os seguintes campos:
Campo Descrição Local da resposta Recurso para a transação de reembolso. Se o produto de API fornecer vários recursos, selecione apenas aquele que realiza o reembolso. Critérios de sucesso do reembolso Expressão baseada no valor de o atributo Status (descrito a seguir) para determinar quando a transação de reembolso foi bem-sucedida (para cobrança ). Reembolsar transações que não foram bem-sucedidas (ou seja, não atendem aos critérios no expressão) são registrados, mas os planos de tarifas não são aplicados a eles. Exemplo: txProviderStatus == 'OK'
- Configure o atributo Status definindo os seguintes campos:
Campo Descrição Local da resposta Local da resposta em que o atributo é especificado. Os valores válidos incluem: variável de fluxo, cabeçalho, corpo JSON e corpo do XML. Valor Valor da resposta. Para especificar mais de um valor, clique em + Adicionar x (por exemplo, + Adicionar variável de fluxo). - Configure o atributo Parent ID definindo os seguintes campos:
Campo Descrição Local da resposta Local da resposta em que o atributo é especificado. Os valores válidos incluem: variável de fluxo, cabeçalho, corpo JSON e corpo do XML. Valor ID da transação em que um reembolso é processado. Por exemplo, se um usuário compra um produto e depois solicita um reembolso, o O ID da transação pai é o ID da transação de compra. Para especificar mais de um valor, clique em + Adicionar x (por exemplo, + Adicionar variável de fluxo). - Para configurar atributos opcionais de reembolso, ative a opção Usar atributos opcionais de reembolso e configure os atributos. Os atributos opcionais de reembolso são os mesmos que os atributos de transação opcionais, conforme definido em Como configurar atributos de transação.
Como gerenciar políticas de registro de transações usando a API
As seções a seguir descrevem como gerenciar políticas de registro de transações usando a API.
Criar uma política de gravação de transações usando a API
Você especifica uma política de gravação de transações como um atributo de um produto da API. O valor do parâmetro identifica:
- O sufixo do URI do recurso do produto relacionado à política de registro de transações
anexado. O sufixo inclui uma variável de padrão entre chaves. O padrão
é avaliada pelos serviços da API no ambiente de execução. Por exemplo, o seguinte sufixo de URI
inclui a variável de padrão
{id}
./reserve/{id}**
Nesse caso, os serviços de API avaliam o sufixo do URI do recurso como
/reserve
seguido por qualquer subdiretório que comece com um ID definido pela API de nuvem. - O recurso na resposta a que está anexado. Um produto de API pode ter várias cada um deles pode ter uma política de registro de transações anexada a uma resposta esse recurso.
- Uma política de variável de extração que permite que a política de gravação da transação extraia conteúdo de uma mensagem de resposta para os parâmetros de transação que você quer capturar.
Você adiciona o atributo da política de gravação de transações a um produto da API emitindo uma solicitação PUT
à API de gerenciamento
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(e não a uma API de monetização).
Especificar critérios de sucesso da transação usando a API
É possível especificar critérios de sucesso da transação para determinar quando uma transação foi bem-sucedida. (para fins de carregamento). Transações que não foram bem-sucedidas (ou seja, atendem aos critérios na expressão) são registrados, mas os planos de tarifas não são aplicados a eles. Para exemplos de configuração critérios de sucesso da transação, consulte Exemplos de definição de critérios de sucesso da transação em uma política de registro de transações.
Você especifica os critérios de sucesso da transação como um atributo de um produto de API. Faça isso até
emitir uma solicitação PUT para a API de gerenciamento
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(e não para a API de monetização).
Por exemplo, na solicitação a seguir, uma transação é bem-sucedida se o valor de
txProviderStatus
é success
(o critério de sucesso da transação relacionado
as especificações estão 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
Especificar atributos personalizados usando a API
É possível especificar atributos personalizados para um produto de API que receberá cobranças do plano de taxa básica. Para exemplo, se você configurar um plano de tabela de preços em que cobra o desenvolvedor por cada transação, É possível definir a taxa do plano com base em um atributo personalizado, como o número de bytes transmitidos em uma transação. Ao criar um plano de tarifas, é possível especificar um ou mais atributos personalizados como base para a taxa do plano. No entanto, qualquer produto específico em um plano de preços só pode ter um atributo personalizado no qual basear a taxa para o plano.
Você especifica atributos personalizados como atributos de um produto da API. Faça isso emitindo um comando PUT
uma solicitação para a API de gerenciamento
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(e não para a API de monetização).
Para cada atributo personalizado que você adicionar a um produto da API, será necessário especificar um nome e um
. O nome precisa estar no formato MINT_CUSTOM_ATTRIBUTE_{num}
, em que
{num} é um número inteiro.
Por exemplo, a solicitação a seguir especifica três 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
Exemplos de definição de critérios de sucesso em uma transação política de gravação
A tabela a seguir fornece exemplos de transações bem-sucedidas e malsucedidas com base em
a expressão de critérios de sucesso da transação e o valor txProviderStatus
retornado;
pelo proxy de API. txProviderStatus
é a variável interna usada pela monetização
para determinar o sucesso da transação.
Expressão de critérios de sucesso | Expressão válida? | Valor de txProviderStatus do proxy de API | Resultado da avaliação |
---|---|---|---|
null |
verdadeiro | "200" |
falso |
"" |
falso | "200" |
falso |
" " |
falso | "200" |
falso |
"sdfsdfsdf" |
falso | "200" |
falso |
"txProviderStatus =='100'" |
verdadeiro | "200" |
falso |
"txProviderStatus =='200'" |
verdadeiro | "200" |
verdadeiro |
"true" |
verdadeiro | "200" |
verdadeiro |
"txProviderStatus=='OK' OR |
verdadeiro | "OK" |
verdadeiro |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "OK" |
verdadeiro |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "Not Found" |
verdadeiro |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "Bad Request" |
verdadeiro |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "Bad Request" |
verdadeiro |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | null |
falso |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "bad request" |
verdadeiro |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "Redirect" |
falso |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | "heeeelllooo" |
falso |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
verdadeiro | null |
falso |
"txProviderStatus == 100" |
verdadeiro | "200" |
falso |