Referência da API

Liquidação

Quando pedidos de compra e faturas podem dispensar a aprovação manual, e o plano do espaço de trabalho.

Mais sobre este recurso

As configurações de autonomia controlam quando pedidos de compra e faturas dispensam a aprovação manual; o plano controla a que o espaço de trabalho tem direito. O plano em si é somente leitura pela API - a Stripe é o sistema de registro das assinaturas da Pleaxy, e o direito só é gravado a partir dos webhooks assinados da Stripe.

Obter configurações de autonomia

Retorna as configurações de aprovação automática do espaço de trabalho.

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

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Retorna as configurações de liquidação autônoma do espaço de trabalho, com o padrão { enabled: false, maxAutoApproveAmount: 300, approvalThreshold: 25000 } se nunca foram configuradas.

Campos da resposta

  • maxAutoApproveAmountnumber

    Com a autonomia ativada, um pedido de compra ou fatura com valor igual ou inferior a este (na moeda da região) é aprovado como Pleaxy Autonomy sem ninguém agir, a menos que se aplique uma etapa condicional ou de alto valor, que um pedido tenha ultrapassado um limite de gastos, ou que a fatura não possa ser aprovada automaticamente (só uma fatura conciliada com uma fatura emitida pela AWS pode, nunca uma lançada por um comprador nem uma em outra moeda). Para uma fatura acima da tolerância de conciliação de 3%, ele limita a diferença.

  • approvalThresholdnumber

    O limite de alto valor: etapas de aprovação marcadas com highValueOnly só são executadas para valores acima dele, e a autonomia nunca aprova um documento ao qual uma etapa dessas se aplica. Vale com ou sem autonomia ativada.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
GET /v1/workspaces/{regionId}/settlement/autonomy
Requisição
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/autonomy" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Atualizar configurações de autonomia

Atualiza as configurações de aprovação automática do espaço de trabalho.

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

Corpo

  • enabledboolean

    Ativa ou desativa a aprovação autônoma.

  • maxAutoApproveAmountnumber

    Novo teto de aprovação automática.

  • approvalThresholdnumber

    Novo limite de alto valor.

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Atualiza uma ou mais configurações de autonomia. Ativar a autonomia exige que o plano do espaço de trabalho seja Autonomous ou Enterprise.

Só sessão conectada: a autonomia decide se alguém aprova, então uma chave de API recebe 403, qualquer que seja a função de compras dela. A leitura das configurações aceita uma chave de API de comprador.

Erros

  • 400 Bad Request - enabled: true foi enviado, mas o plano da região é Free ou Managed (a autonomia exige Autonomous ou superior).
  • 403 Forbidden - Quem chama não é uma pessoa conectada (por exemplo, uma chave de API): "This action requires a logged-in user session, not an API key". Nada é salvo.
  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
PATCH /v1/workspaces/{regionId}/settlement/autonomy
Requisição
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
}
Resposta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Obter cobrança

Retorna o plano e a assinatura do espaço de trabalho.

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

Retorna

200 OK com o objeto mostrado na resposta.

Mais detalhes

Retorna o plano do espaço de trabalho e o estado da assinatura da Pleaxy. O plano é um cache de direitos gravado só a partir de webhooks assinados da Stripe (ou, em contratos enterprise, pelas operações da Pleaxy) - não existe API para alterá-lo, e nenhuma API da Pleaxy aceita um plano vindo de quem chama. Alterações por autoatendimento passam pelo Checkout hospedado pela Stripe e pelo Stripe Customer Portal, cujas URLs são emitidas pelos dois endpoints de sessão deste caminho; ambos exigem uma sessão humana, então chaves de API não podem iniciar nem alterar uma assinatura. Os identificadores da Stripe ficam deliberadamente fora desta resposta.

Campos da resposta

  • billingEnabledboolean

    false quando o ambiente não tem configuração da Stripe; nesse caso, os endpoints de sessão retornam 503.

  • planstring

    O plano de direitos contra o qual os limites são aplicados.

  • managedBystring

    "platform" para um contrato enterprise atribuído pelas operações da Pleaxy - sem alterações por autoatendimento; caso contrário, "self-serve".

  • hasBillingAccountboolean

    Existe um Customer da Stripe para este espaço de trabalho, então o Customer Portal está disponível.

  • subscriptionStatusstring

    O status da assinatura na Stripe, copiado literalmente. Ausente quando o espaço de trabalho nunca assinou.

  • currentPeriodEndstring

    Data de renovação ISO 8601, ou a data de fim do acesso quando cancelAtPeriodEnd é true.

  • cancelAtPeriodEndboolean

    A assinatura está configurada para terminar em currentPeriodEnd em vez de renovar.

  • pastDueSincestring

    Timestamp ISO 8601 do pagamento que falhou. O plano pago é mantido durante a janela de cobrança de inadimplência da Stripe.

  • availablePlansarray

    Os planos disponíveis para compra com os preços atuais, lidos da Stripe: o preço mensal da primeira região, o preço anual quando há um configurado, e a faixa de preço de cada região adicional. Vazio quando a cobrança está desativada ou os preços da Stripe estão temporariamente indisponíveis.

  • *PriceLabel, *Pricestring, object

    Cada preço duas vezes: um rótulo em inglês (como um preço mensal seguido de "/mo") e o mesmo preço em números - { amount, currency, interval }, amount na menor unidade da moeda (centavos) e currency em minúsculas, como a Stripe os fornece - para formatar no seu próprio idioma. additionalRegionPrices tem um { fromRegion, toRegion, price } por rótulo (toRegion null: e todas as regiões seguintes).

  • currentPrice, currentTotalobject

    O preço da primeira região da assinatura atual e o que a empresa paga por intervalo por todas as suas regiões de comprador (buyerRegionCount), com os rótulos. Só quando a cobrança está ativada e há um preço registrado.

Erros

  • 401 Unauthorized - Nenhuma credencial foi apresentada, ou o token Bearer / valor de X-Api-Key está ausente, é inválido, expirou ou foi revogado.
  • 403 Forbidden - O token Bearer ou a chave de API de quem chama não dá acesso a este espaço de trabalho (regionId), ou não tem a função exigida.
GET /v1/workspaces/{regionId}/settlement/billing
Requisição
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/billing" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Resposta · 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" }
}
Fale conosco