Administra los saldos de cuenta prepaga

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En esta página, se describe cómo administrar tus cuentas de facturación prepagas.

Puedes usar las APIs de Apigee para administrar las cuentas de facturación prepagadas de tus desarrolladores de apps y AppGroups. Con las API, puedes realizar las siguientes tareas:

Ve la configuración de monetización

Para ver la configuración de monetización de un desarrollador de apps, envía una solicitud GET a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Para ver la configuración de monetización de un AppGroup, envía una solicitud GET a esta API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/APPGROUP_ID/monetizationConfig

Con la API, puedes ver el tipo de facturación. Para obtener más información sobre la API, consulta organizations.developers.getMonetizationConfig o organizations.appgroups.getMonetizationConfig.

En el siguiente ejemplo, se muestra cómo ver la configuración de monetización de un desarrollador de aplicaciones con el comando curl:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "billingType": "PREPAID",
}

Actualiza la configuración de monetización

Para actualizar la configuración de monetización de un desarrollador de apps, envía una solicitud PUT a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Para actualizar la configuración de monetización de un AppGroup, envía una solicitud PUT a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig

Con esta API, puedes actualizar el tipo de facturación. Para obtener más información sobre la API, consulta updateMonetizationConfig o organizations.appgroups.updateMonetizationConfig.

En el siguiente ejemplo, se muestra cómo actualizar la configuración de monetización de un desarrollador de apps con el 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

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "billingType": "POSTPAID",
}

Cambia el tipo de facturación

Tus desarrolladores de apps y AppGroups pueden cambiar su facturación de prepago a pospago, y viceversa. En esta sección, se describen los cambios que se producen en Apigee cuando se cambia un tipo de facturación.

De pospago a prepago

Cuando se cambia de pospago a prepago, Apigee establece de inmediato el billingType en PREPAID en la configuración. El desarrollador de la app o el AppGroup pueden comenzar a usar las APIs en la medida en que se aplique el importe de dinero prepagado. Según tus informes de monetización personalizados, tú, el proveedor de la API, debes facturar por separado el uso existente en la cuenta pospago.

De prepago a pospago

Cuando se cambia de prepago a pospago, Apigee establece de inmediato el billingType en POSTPAID en la configuración. En los informes de monetización personalizados, se muestra cualquier saldo existente (de todas las monedas) en la cuenta prepaga como una transacción de crédito. Cuando calcules el importe adeudado después del ciclo de facturación, tú (el proveedor de la API) debes considerar el saldo del crédito en la cuenta.

Ver el saldo

Para ver el saldo en la cuenta prepaga de un desarrollador de apps, envía una solicitud GET a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Para ver el saldo en la cuenta prepaga de un AppGroup, envía una solicitud GET a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance

Para obtener más información sobre la API, consulta organizations.developers.getBalance o organizations.appgroups.getBalance.

En el siguiente ejemplo, se muestra cómo ver el saldo en la cuenta prepaga de un desarrollador de apps:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150",
        "nanos": 500000000
      },
      "lastCreditTime": 1234567890
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": 9876543210
    }
  ]
}

En la respuesta de ejemplo, el desarrollador de la app tiene dos saldos de cuenta prepagos, uno por cada moneda. Puedes encontrar el importe del saldo en los campos units y nanos. El campo lastCreditTime está en formato de hora de época y denota la hora en la que se aprovisionó el saldo por última vez.

Saldo negativo

Si un desarrollador de apps o un AppGroup realiza varias llamadas a la API en un período corto, podría superar la cantidad permitida de llamadas a la API, lo que generaría un saldo de cartera negativo.

Esta situación ocurre cuando varios procesadores de mensajes controlan las llamadas a la API desde el mismo desarrollador de la app o AppGroup. Cada procesador de mensajes tendrá una copia del saldo en función de lo que permite las llamadas a la API. Todos los procesadores de mensajes sincronizan periódicamente sus saldos con el saldo principal. Debido a la pequeña demora en la sincronización, el saldo de la cartera en un procesador de mensajes podría no estar sincronizado con el saldo principal. Por ejemplo, en un momento determinado, si el saldo de la cartera en un procesador de mensajes es de USD 2, el saldo principal podría ser de USD 0. Por lo tanto, el procesador de mensajes permite las llamadas a la API, ya que considera que la cartera aún tiene USD 2.

Apigee sincroniza el saldo de cartera de un procesador de mensajes casi en tiempo real con menores demoras, y no puedes controlar ni configurar este comportamiento de Apigee. Sin embargo, en esta situación, se tienen en cuenta las llamadas a la API en exceso. Después de procesar todas las llamadas a la API del desarrollador de la app o del AppGroup, el importe final en la cartera refleja el cargo, incluso por las llamadas a la API excesivas. Por lo tanto, cuando el desarrollador de la app o el AppGroup vuelva a cargar la cuenta la próxima vez, para tener un saldo de cartera positivo, primero debe pagar cualquier importe de saldo negativo en la cartera.

Saldo de crédito

Para acreditar el saldo en la cuenta prepaga de un desarrollador de apps, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Para acreditar el saldo en la cuenta prepaga de un AppGroup, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit

Para obtener más información sobre la API, consulta organizations.developers.balance.credit o organizations.appgroups.balance.credit.

Para acreditar un saldo, se deben seguir estos pasos en orden:

  1. Un desarrollador de apps o un AppGroup agrega la cuenta al portal para desarrolladores y usa una puerta de enlace de pago.
  2. El portal para desarrolladores genera un ID de transacción único para la agregación.
  3. El portal para desarrolladores actualiza el saldo de desarrollador con la API adecuada, ya sea un desarrollador de aplicaciones o un AppGroup.

En el siguiente ejemplo, se muestra la llamada a la API para el paso 3 y se avala el saldo de un desarrollador de aplicaciones en USD 150.21. transactionId se establece en el valor del ID de transacción de la transacción superior (paso 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

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "300",
        "nanos": 710000000
      },
      "lastCreditTime": "9876543210"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "1234567890"
    }
  ]
}

Ajustar el saldo

Si tienes una cuenta con cobros excesivos o menores, puedes usar la API de adjustBalance para disminuir o aumentar el saldo de la cuenta.

Para ajustar el saldo en la cuenta prepaga de un desarrollador de apps, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Para ajustar el saldo en la cuenta prepaga de un AppGroup, envía una solicitud POST a la siguiente API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust

Para obtener más información sobre la API, consulta organizations.developers.balanceadjustBalance o organizations.appgroups.balance.adjustBalance.

Si deseas disminuir el saldo de un desarrollador de apps o AppGroup con cobro menor, configura el campo units en la solicitud como un valor positivo. En el siguiente ejemplo, se disminuye el saldo en la cuenta prepaga de un desarrollador de apps en 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

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150"
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}

Si deseas aumentar el saldo de un desarrollador de aplicaciones o AppGroup con cobros excesivos, configura el campo units en la solicitud en un valor negativo. En el siguiente ejemplo, se aumenta el saldo de la cuenta prepaga de un desarrollador de apps en 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

Cuando ejecutes el comando, podrás ver una respuesta similar a la siguiente:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "200",
        "nanos": 100000000
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}