Referencia de la API

Liquidación

Cuándo las órdenes de compra y las facturas pueden saltarse la aprobación manual, y el plan del espacio de trabajo.

Más sobre este recurso

La configuración de autonomía controla cuándo las órdenes de compra y las facturas se saltan la aprobación manual; el plan controla a qué tiene derecho el espacio de trabajo. El plan en sí es de solo lectura a través de la API: Stripe es el sistema de registro de las suscripciones de Pleaxy, y el derecho de uso solo se escribe desde los webhooks firmados de Stripe.

Obtener configuración de autonomía

Devuelve la configuración de aprobación automática del espacio de trabajo.

GET/v1/workspaces/{regionId}/settlement/autonomy

Devuelve

200 OK con el objeto que se muestra en la respuesta.

Más detalles

Devuelve la configuración de liquidación autónoma del espacio de trabajo, con el valor predeterminado { enabled: false, maxAutoApproveAmount: 300, approvalThreshold: 25000 } si nunca se configuró.

Campos de la respuesta

  • maxAutoApproveAmountnumber

    Con la autonomía activada, una orden de compra o factura de este importe o menos (en la moneda de la región) se aprueba como Pleaxy Autonomy sin que nadie intervenga, salvo que se aplique un paso condicional o de alto valor, que una orden de compra haya superado un límite de gasto o que la factura no se pueda aprobar automáticamente (solo puede aprobarse así una factura conciliada con una factura de AWS emitida, nunca una que registró un comprador ni una en otra moneda). Para una factura que supera la tolerancia de conciliación del 3%, limita en su lugar la diferencia.

  • approvalThresholdnumber

    El umbral de alto valor: los pasos de aprobación marcados como highValueOnly solo se ejecutan para importes superiores a él, y la autonomía nunca aprueba un documento al que se aplique uno de esos pasos. Se aplica tanto si la autonomía está activada como si no.

Errores

  • 401 Unauthorized - No se presentó ninguna credencial, o el token Bearer o el valor de X-Api-Key falta, no es válido, caducó o fue revocado.
  • 403 Forbidden - El token Bearer o la clave de API del llamador no da acceso a este espacio de trabajo (regionId), o no tiene el rol requerido.
GET /v1/workspaces/{regionId}/settlement/autonomy
Solicitud
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/autonomy" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Respuesta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Actualizar configuración de autonomía

Actualiza la configuración de aprobación automática del espacio de trabajo.

PATCH/v1/workspaces/{regionId}/settlement/autonomy

Cuerpo

  • enabledboolean

    Activar o desactivar la aprobación autónoma.

  • maxAutoApproveAmountnumber

    Nuevo tope de aprobación automática.

  • approvalThresholdnumber

    Nuevo umbral de alto valor.

Devuelve

200 OK con el objeto que se muestra en la respuesta.

Más detalles

Actualiza uno o más ajustes de autonomía. Activar la autonomía requiere que el plan del espacio de trabajo sea Autonomous o Enterprise.

Solo sesión iniciada: la autonomía decide si una persona aprueba o no, así que una clave de API recibe 403 sea cual sea su rol de compras. Para leer la configuración se acepta una clave de API de comprador.

Errores

  • 400 Bad Request - Se envió enabled: true, pero el plan de la región es Free o Managed (la autonomía requiere Autonomous o superior).
  • 403 Forbidden - El llamador no es una persona con sesión iniciada (por ejemplo, una clave de API): "This action requires a logged-in user session, not an API key". No se guarda nada.
  • 401 Unauthorized - No se presentó ninguna credencial, o el token Bearer o el valor de X-Api-Key falta, no es válido, caducó o fue revocado.
  • 403 Forbidden - El token Bearer o la clave de API del llamador no da acceso a este espacio de trabajo (regionId), o no tiene el rol requerido.
PATCH /v1/workspaces/{regionId}/settlement/autonomy
Solicitud
curl -X PATCH "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/autonomy" \
  -H "X-Api-Key: $PLEAXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d @body.json
body.json
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}
Respuesta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Obtener facturación

Devuelve el plan y la suscripción del espacio de trabajo.

GET/v1/workspaces/{regionId}/settlement/billing

Devuelve

200 OK con el objeto que se muestra en la respuesta.

Más detalles

Devuelve el plan del espacio de trabajo y el estado de su suscripción a Pleaxy. El plan es una caché de derechos de uso que solo se escribe desde webhooks firmados de Stripe (o, en los acuerdos enterprise, desde operaciones de Pleaxy): no hay ninguna API para cambiarlo, y ninguna API de Pleaxy acepta nunca un plan de un llamador. Los cambios de autoservicio pasan por Checkout alojado en Stripe y por el Stripe Customer Portal, cuyas URLs emiten los dos endpoints de sesión de esta ruta; ambos requieren una sesión humana, así que las claves de API no pueden iniciar ni cambiar una suscripción. Los identificadores de Stripe no forman parte de esta respuesta de forma deliberada.

Campos de la respuesta

  • billingEnabledboolean

    false cuando el entorno no tiene configuración de Stripe; los endpoints de sesión devuelven entonces 503.

  • planstring

    El plan de derechos de uso con el que se aplican los límites.

  • managedBystring

    "platform" para un acuerdo enterprise asignado por operaciones de Pleaxy, sin cambios de autoservicio; en otro caso, "self-serve".

  • hasBillingAccountboolean

    Existe un Customer de Stripe para este espacio de trabajo, así que el Customer Portal está disponible.

  • subscriptionStatusstring

    El estado de la suscripción en Stripe, copiado tal cual. Ausente si el espacio de trabajo nunca se ha suscrito.

  • currentPeriodEndstring

    Fecha de renovación ISO 8601, o la fecha de fin del acceso cuando cancelAtPeriodEnd es true.

  • cancelAtPeriodEndboolean

    La suscripción está configurada para terminar en currentPeriodEnd en lugar de renovarse.

  • pastDueSincestring

    Marca de tiempo ISO 8601 del pago fallido. El plan de pago se mantiene mientras dura el periodo de reintentos de cobro de Stripe.

  • availablePlansarray

    Los planes que se pueden contratar con sus precios actuales, leídos de Stripe: el precio mensual de la primera región, el precio anual cuando hay uno configurado y el tramo de precio de cada región adicional. Vacío cuando la facturación está desactivada o los precios de Stripe no están disponibles temporalmente.

  • *PriceLabel, *Pricestring, object

    Cada precio dos veces: una etiqueta en inglés (como un precio mensual seguido de "/mo") y el mismo precio en cifras, { amount, currency, interval }, con amount en la unidad menor de la moneda (centavos) y currency en minúsculas, tal como los da Stripe, para darles formato en tu propio idioma. additionalRegionPrices tiene un { fromRegion, toRegion, price } por etiqueta (toRegion null: y todas las regiones siguientes).

  • currentPrice, currentTotalobject

    El precio de la primera región de la suscripción actual y lo que paga la empresa por intervalo por todas sus regiones de comprador (buyerRegionCount), con sus etiquetas. Solo cuando la facturación está activada y hay un precio registrado.

Errores

  • 401 Unauthorized - No se presentó ninguna credencial, o el token Bearer o el valor de X-Api-Key falta, no es válido, caducó o fue revocado.
  • 403 Forbidden - El token Bearer o la clave de API del llamador no da acceso a este espacio de trabajo (regionId), o no tiene el rol requerido.
GET /v1/workspaces/{regionId}/settlement/billing
Solicitud
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/billing" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Respuesta · 200 OK
{
   "billingEnabled": boolean,
   "plan": "assisted" | "managed" | "autonomous" | "enterprise",
   "managedBy": "self-serve" | "platform",
   "hasBillingAccount": boolean,
   "subscriptionStatus": "trialing" | "active" | "past_due" | "unpaid" | "canceled" | "incomplete" | "incomplete_expired" | "paused",
   "currentPeriodEnd": "string",
   "cancelAtPeriodEnd": boolean,
   "pastDueSince": "string",
   "buyerRegionCount": number,
   "interval": "month" | "year",
   "availablePlans": [
      {
         "plan": "managed" | "autonomous",
         "monthlyPriceLabel": "string",
         "monthlyPrice": { "amount": number, "currency": "string", "interval": "month" },
         "yearlyPriceLabel": "string",
         "yearlyPrice": { "amount": number, "currency": "string", "interval": "year" },
         "additionalRegionPriceLabels": [ "string" ],
         "additionalRegionPrices": [ { "fromRegion": number, "toRegion": number | null, "price": { "amount": number, "currency": "string", "interval": "month" | "year" } } ]
      }
   ],
   "currentPriceLabel": "string",
   "currentPrice": { "amount": number, "currency": "string", "interval": "month" | "year" },
   "currentTotalLabel": "string",
   "currentTotal": { "amount": number, "currency": "string", "interval": "month" | "year" }
}
Habla con nosotros