Riferimento API

Liquidazione

Quando ordini d’acquisto e fatture possono saltare l’approvazione manuale, e il piano del workspace.

Altro su questa risorsa

Le impostazioni di autonomia determinano quando OdA e fatture saltano l’approvazione manuale; il piano determina a cosa ha diritto il workspace. Tramite l’API il piano è in sola lettura: Stripe è il sistema di riferimento per gli abbonamenti Pleaxy, e il diritto viene scritto solo dai webhook firmati di Stripe.

Recuperare le impostazioni di autonomia

Restituisce le impostazioni di approvazione automatica del workspace.

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

Restituisce

200 OK con l’oggetto mostrato nella risposta.

Più dettagli

Restituisce le impostazioni di liquidazione autonoma del workspace, con il valore predefinito { enabled: false, maxAutoApproveAmount: 300, approvalThreshold: 25000 } se non sono mai state configurate.

Campi della risposta

  • maxAutoApproveAmountnumber

    Con l’autonomia attiva, un OdA o una fattura di importo pari o inferiore a questo (nella valuta della regione) viene approvato come Pleaxy Autonomy senza l’intervento di nessuno, a meno che non si applichi un passaggio condizionale o per importi elevati, un OdA abbia superato un limite di spesa, o la fattura non possa essere approvata automaticamente (può esserlo solo una fattura riconciliata con una fattura AWS emessa, mai una inserita da un acquirente o una in un’altra valuta). Per una fattura oltre la tolleranza di riconciliazione del 3%, limita invece la differenza.

  • approvalThresholdnumber

    La soglia per importi elevati: i passaggi di approvazione contrassegnati con highValueOnly si applicano solo agli importi superiori, e l’autonomia non approva mai un documento a cui si applica un passaggio del genere. Vale che l’autonomia sia attiva o no.

Errori

  • 401 Unauthorized - Non è stata presentata alcuna credenziale, oppure il token Bearer o il valore di X-Api-Key è mancante, non valido, scaduto o revocato.
  • 403 Forbidden - Il token Bearer o la chiave API del chiamante non dà accesso a questo workspace (regionId), oppure non ha il ruolo richiesto.
GET /v1/workspaces/{regionId}/settlement/autonomy
Richiesta
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/autonomy" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Risposta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Aggiornare le impostazioni di autonomia

Aggiorna le impostazioni di approvazione automatica del workspace.

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

Corpo

  • enabledboolean

    Attiva o disattiva l’approvazione autonoma.

  • maxAutoApproveAmountnumber

    Nuovo tetto per l’approvazione automatica.

  • approvalThresholdnumber

    Nuova soglia per importi elevati.

Restituisce

200 OK con l’oggetto mostrato nella risposta.

Più dettagli

Aggiorna una o più impostazioni di autonomia. Per attivare l’autonomia, il piano del workspace deve essere Autonomous o Enterprise.

Solo sessione con accesso effettuato: l’autonomia decide se una persona approva o meno, quindi una chiave API riceve 403 qualunque sia il suo ruolo procurement. La lettura delle impostazioni accetta una chiave API acquirente.

Errori

  • 400 Bad Request - È stato inviato enabled: true, ma il piano della regione è Free o Managed (l’autonomia richiede Autonomous o superiore).
  • 403 Forbidden - Il chiamante non è una persona che ha effettuato l’accesso (ad esempio, una chiave API): "This action requires a logged-in user session, not an API key". Nulla viene salvato.
  • 401 Unauthorized - Non è stata presentata alcuna credenziale, oppure il token Bearer o il valore di X-Api-Key è mancante, non valido, scaduto o revocato.
  • 403 Forbidden - Il token Bearer o la chiave API del chiamante non dà accesso a questo workspace (regionId), oppure non ha il ruolo richiesto.
PATCH /v1/workspaces/{regionId}/settlement/autonomy
Richiesta
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
}
Risposta · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Recuperare la fatturazione

Restituisce il piano e l’abbonamento del workspace.

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

Restituisce

200 OK con l’oggetto mostrato nella risposta.

Più dettagli

Restituisce il piano del workspace e lo stato del suo abbonamento Pleaxy. Il piano è una cache dei diritti scritta solo dai webhook firmati di Stripe (o, per gli accordi enterprise, dalle operations di Pleaxy): non esiste un’API per modificarlo, e nessuna API di Pleaxy accetta mai un piano da un chiamante. Le modifiche self-service passano per Checkout ospitato da Stripe e per il Customer Portal di Stripe, i cui URL vengono emessi dai due endpoint di sessione su questo percorso; entrambi richiedono una sessione di una persona, quindi le chiavi API non possono avviare né modificare un abbonamento. Gli identificativi Stripe sono volutamente esclusi da questa risposta.

Campi della risposta

  • billingEnabledboolean

    false quando l’ambiente non ha una configurazione Stripe; gli endpoint di sessione restituiscono allora 503.

  • planstring

    Il piano dei diritti su cui vengono applicati i limiti.

  • managedBystring

    "platform" per un accordo enterprise assegnato dalle operations di Pleaxy, senza modifiche self-service; altrimenti "self-serve".

  • hasBillingAccountboolean

    Per questo workspace esiste un Customer Stripe, quindi il Customer Portal è disponibile.

  • subscriptionStatusstring

    Lo stato dell’abbonamento di Stripe, copiato testualmente. Assente quando il workspace non si è mai abbonato.

  • currentPeriodEndstring

    Data di rinnovo ISO 8601, o data di fine dell’accesso quando cancelAtPeriodEnd è true.

  • cancelAtPeriodEndboolean

    L’abbonamento è impostato per terminare a currentPeriodEnd anziché rinnovarsi.

  • pastDueSincestring

    Timestamp ISO 8601 del pagamento non riuscito. Il piano a pagamento viene mantenuto per tutta la durata della finestra di sollecito di Stripe.

  • availablePlansarray

    I piani acquistabili con i prezzi attuali, letti da Stripe: il prezzo mensile della prima regione, il prezzo annuale quando ne è configurato uno, e la fascia di prezzo di ogni regione aggiuntiva. Vuoto quando la fatturazione è disattivata o i prezzi di Stripe sono temporaneamente non disponibili.

  • *PriceLabel, *Pricestring, object

    Ogni prezzo due volte: un’etichetta in inglese (ad esempio un prezzo mensile seguito da "/mo") e lo stesso prezzo in cifre, { amount, currency, interval }, con amount nell’unità minima della valuta (centesimi) e currency in minuscolo, come li fornisce Stripe, da formattare nella tua lingua. additionalRegionPrices ha un { fromRegion, toRegion, price } per etichetta (toRegion null: e ogni regione successiva).

  • currentPrice, currentTotalobject

    Il prezzo della prima regione dell’abbonamento attuale e quanto paga l’azienda per intervallo per tutte le sue regioni acquirente (buyerRegionCount), con le relative etichette. Solo quando la fatturazione è attiva e c’è un prezzo registrato.

Errori

  • 401 Unauthorized - Non è stata presentata alcuna credenziale, oppure il token Bearer o il valore di X-Api-Key è mancante, non valido, scaduto o revocato.
  • 403 Forbidden - Il token Bearer o la chiave API del chiamante non dà accesso a questo workspace (regionId), oppure non ha il ruolo richiesto.
GET /v1/workspaces/{regionId}/settlement/billing
Richiesta
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/billing" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Risposta · 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" }
}
Contattaci