Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
Nesta página, descrevemos como gerenciar contas de faturamento pré-pago.
Use as APIs Apigee para gerenciar as contas de faturamento pré-pago dos desenvolvedores de apps e AppGroups. É possível realizar as seguintes tarefas usando as APIs:
- Ver a configuração de monetização
- Atualizar a configuração de monetização
- Ver saldo
- Saldo de crédito
- Ajustar saldo
Ver a configuração de monetização
Para conferir a configuração de monetização de um desenvolvedor de apps, emita uma solicitação GET para a
seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Para conferir a configuração de monetização de um AppGroup, emita uma solicitação GET para esta
API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/APPGROUP_ID/monetizationConfig
Com a API, é possível conferir o tipo de faturamento. Para mais informações sobre a API, consulte organizations.developers.getMonetizationConfig ou organizations.appgroups.getMonetizationConfig.
O exemplo a seguir mostra como visualizar a configuração de monetização de um desenvolvedor de apps usando o comando curl:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"billingType": "PREPAID",
}Atualizar a configuração de monetização
Para atualizar a configuração de monetização de um desenvolvedor de apps, emita uma solicitação PUT para a
seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Para atualizar a configuração de monetização de um AppGroup, emita uma solicitação PUT para a
seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig
Com essa API, é possível atualizar o tipo de faturamento. Para mais informações sobre a API, consulte updateMonetizationConfig ou organizations.appgroups.updateMonetizationConfig.
O exemplo a seguir mostra como atualizar a configuração de monetização de um desenvolvedor de apps usando o comando curl:
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X PUT \
-d '{
"billingType": "POSTPAID",
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"billingType": "POSTPAID",
}Alterar o tipo de faturamento
Os desenvolvedores de apps e os AppGroups podem mudar o faturamento de pré-pago para pós-pago e vice-versa. Nesta seção, descrevemos as mudanças que ocorrem na Apigee ao mudar um tipo de faturamento.
De pós-pago para pré-pago
Ao mudar de pós-pago para pré-pago, a Apigee define imediatamente o billingType como
PREPAID na configuração. O desenvolvedor do app ou o AppGroup pode começar a usar as APIs até o valor limite pré-pago de recarga. Com base nos relatórios de
monetização personalizados, qualquer uso atual da conta pós-paga precisa ser cobrado
separadamente por você, o provedor de API.
De pré-pago para pós-pago
Ao mudar de pré-pago para pós-pago, a Apigee define imediatamente o billingType como
POSTPAID na configuração. Quaisquer saldos atuais (de todas
as moedas) na conta pré-paga são exibidos como transação de crédito nos relatórios
personalizados de monetização. Ao calcular o valor devido após o ciclo de faturamento, você (o provedor da API) precisa considerar o saldo de crédito na conta.
Ver saldo
Para conferir o saldo na conta pré-paga de um desenvolvedor de apps, emita uma solicitação GET para
a seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
Para conferir o saldo na conta pré-paga de um AppGroup, emita uma solicitação GET para a seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance
Para mais informações sobre a API, consulte organizations.developers.getBalance ou organizations.appgroups.getBalance.
O exemplo a seguir mostra como visualizar o saldo na conta pré-paga de um desenvolvedor de apps:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "150",
"nanos": 500000000
},
"lastCreditTime": 1234567890
},
{
"balance": {
"currencyCode": "INR",
"units": "10000",
"nanos": 600000000
},
"lastCreditTime": 9876543210
}
]
}Na resposta de amostra, o desenvolvedor de apps tem dois saldos de conta pré-paga, um para cada moeda.
É possível encontrar o valor do saldo nos campos units e nanos. O campo
lastCreditTime está no formato de tempo de época e indica a hora em que o
saldo foi creditado pela última vez.
Saldo negativo
Se um desenvolvedor de app ou AppGroup fizer várias chamadas de API em um curto período de tempo, ele poderá exceder as chamadas de API permitidas, resultando em um saldo negativo na carteira.
Esse cenário ocorre quando vários processadores de mensagens processam as chamadas de API do mesmo desenvolvedor de app ou AppGroup. Cada processador de mensagens terá uma cópia do saldo com base na qual ele permite chamadas de API. Todos os processadores de mensagens sincronizam periodicamente os próprios saldos com o principal. Devido ao pequeno atraso na sincronização, o saldo da carteira em um processador de mensagens pode não estar sincronizado com o saldo principal. Por exemplo, em um determinado momento, se o saldo da carteira em um processador de mensagens for USD 2, o saldo principal poderá ser USD 0. Portanto, o processador de mensagens permite as chamadas de API, pensando que a carteira ainda tem USD 2.
A Apigee sincroniza o saldo da carteira de um processador de mensagens quase em tempo real com pequenos atrasos, e não é possível controlar ou configurar esse comportamento da Apigee. No entanto, nessa situação, as chamadas de API excedentes são consideradas. Depois de processar todas as chamadas de API do desenvolvedor de apps ou do AppGroup, o valor final na carteira reflete a cobrança mesmo pelas chamadas de API excedentes. Então, quando o desenvolvedor de apps ou o AppGroup recarregar a conta na próxima vez, para que ele tenha um saldo positivo da carteira, primeiro ele precisará pagar qualquer valor de saldo negativo da carteira.
Saldo de crédito
Para creditar o saldo na conta pré-paga de um desenvolvedor de apps, emita uma solicitação POST para
a seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
Para creditar o saldo na conta pré-paga de um AppGroup, emita uma solicitação POST para
a seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit
Para mais informações sobre a API, consulte organizations.developers.balance.credit ou organizations.appgroups.balance.credit.
O crédito de um saldo envolve as seguintes etapas, nesta ordem:
- Um desenvolvedor de apps ou um AppGroup recarrega a conta no portal do desenvolvedor usando um gateway de pagamento.
- O portal do desenvolvedor gera um código de transação exclusivo para a recarga.
- O portal do desenvolvedor atualiza o saldo do desenvolvedor usando a API apropriada, seja um desenvolvedor de apps ou um AppGroup.
Este exemplo mostra a chamada de API para a etapa 3 e credita o saldo de um desenvolvedor de apps em USD 150,21.
O campo transactionId é definido como o valor do ID da transação de recarga (etapa 3).
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
"transactionAmount": {
"currencyCode": "USD",
"units": "150",
"nanos": 210000000
},
"transactionId": "ab31b63e-f8e8-11eb-9a03-0242ac130003"
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "300",
"nanos": 710000000
},
"lastCreditTime": "9876543210"
},
{
"balance": {
"currencyCode": "INR",
"units": "10000",
"nanos": 600000000
},
"lastCreditTime": "1234567890"
}
]
}Ajustar o saldo
Se você tiver cobrado um valor incorreto em uma conta, use a API adjustBalance
para diminuir ou aumentar o saldo dela.
Para ajustar o saldo na conta pré-paga de um desenvolvedor de apps, emita uma solicitação POST para a
seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
Para ajustar o saldo na conta pré-paga de um AppGroup, emita uma solicitação POST para a
seguinte API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust
Para mais informações sobre a API, consulte organizations.developers.balanceadjustBalance ou organizations.appgroups.balance.adjustBalance.
Se quiser diminuir o saldo de um desenvolvedor de app ou AppGroup cobrado a menos, defina o campo units na solicitação como um valor positivo.
O exemplo a seguir diminui o saldo na conta pré-paga de um desenvolvedor de apps em USD 50:
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
"adjustment": {
"units": "50",
"currencyCode": "USD"
}
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "150"
},
"lastCreditTime": "1635489199530"
}
]
}
Se quiser aumentar o saldo de um desenvolvedor de apps ou AppGroup cobrado a mais, defina o campo
units na solicitação como um valor negativo.
O exemplo a seguir aumenta o saldo da conta pré-paga de um desenvolvedor de apps em USD 50.1:
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
"adjustment": {
"units": "-50",
"nanos": "100000000",
"currencyCode": "USD"
}
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
Ao executar o comando, você vai ver uma resposta semelhante a esta:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "200",
"nanos": 100000000
},
"lastCreditTime": "1635489199530"
}
]
}