Référence de l’API

Règlement

Quand les bons de commande et les factures peuvent se passer de validation manuelle, et le plan de l’espace de travail.

En savoir plus sur cette ressource

Les paramètres d’autonomie déterminent quand les bons de commande et les factures se passent de validation manuelle ; le plan détermine les droits de l’espace de travail. Le plan lui-même est en lecture seule via l’API : Stripe est le système de référence des abonnements Pleaxy, et les droits ne sont écrits qu’à partir des webhooks signés de Stripe.

Obtenir les paramètres d’autonomie

Renvoie les paramètres de validation automatique de l’espace de travail.

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

Retour

200 OK avec l’objet présenté dans la réponse.

Plus de détails

Renvoie les paramètres de règlement autonome de l’espace de travail, avec par défaut { enabled: false, maxAutoApproveAmount: 300, approvalThreshold: 25000 } s’ils n’ont jamais été configurés.

Champs de la réponse

  • maxAutoApproveAmountnumber

    Avec l’autonomie activée, un bon de commande ou une facture d’un montant inférieur ou égal à ce seuil (dans la devise de la région) est validé par Pleaxy Autonomy sans intervention humaine, sauf si une étape conditionnelle ou de montant élevé s’applique, si un bon de commande a dépassé un plafond de dépenses, ou si la facture ne peut pas être validée automatiquement (seule une facture rapprochée d’une facture AWS émise peut l’être, jamais une facture saisie par un acheteur ni une facture dans une autre devise). Pour une facture au-delà de la tolérance de rapprochement de 3 %, il plafonne plutôt l’écart.

  • approvalThresholdnumber

    Le seuil de montant élevé : les étapes de validation marquées highValueOnly ne s’exécutent que pour les montants supérieurs à ce seuil, et l’autonomie ne valide jamais un document auquel une telle étape s’applique. S’applique que l’autonomie soit activée ou non.

Erreurs

  • 401 Unauthorized - Aucun identifiant n’a été fourni, ou la valeur du jeton Bearer / de X-Api-Key est manquante, invalide, expirée ou révoquée.
  • 403 Forbidden - Le jeton Bearer ou la clé API de l’appelant ne donne pas accès à cet espace de travail (regionId), ou n’a pas le rôle requis.
GET /v1/workspaces/{regionId}/settlement/autonomy
Requête
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/autonomy" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Mettre à jour les paramètres d’autonomie

Met à jour les paramètres de validation automatique de l’espace de travail.

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

Corps

  • enabledboolean

    Activer ou désactiver la validation autonome.

  • maxAutoApproveAmountnumber

    Nouveau plafond de validation automatique.

  • approvalThresholdnumber

    Nouveau seuil de montant élevé.

Retour

200 OK avec l’objet présenté dans la réponse.

Plus de détails

Met à jour un ou plusieurs paramètres d’autonomie. L’activation de l’autonomie nécessite que le plan de l’espace de travail soit Autonomous ou Enterprise.

Session connectée uniquement : l’autonomie décide si une personne valide ou non, donc une clé API reçoit 403 quel que soit son rôle achats. La lecture des paramètres accepte une clé API acheteur.

Erreurs

  • 400 Bad Request - enabled: true a été envoyé, mais le plan de la région est Free ou Managed (l’autonomie nécessite Autonomous ou supérieur).
  • 403 Forbidden - L’appelant n’est pas une personne connectée (par exemple, une clé API) : « This action requires a logged-in user session, not an API key ». Rien n’est enregistré.
  • 401 Unauthorized - Aucun identifiant n’a été fourni, ou la valeur du jeton Bearer / de X-Api-Key est manquante, invalide, expirée ou révoquée.
  • 403 Forbidden - Le jeton Bearer ou la clé API de l’appelant ne donne pas accès à cet espace de travail (regionId), ou n’a pas le rôle requis.
PATCH /v1/workspaces/{regionId}/settlement/autonomy
Requête
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
}
Réponse · 200 OK
{
   "enabled": boolean,
   "maxAutoApproveAmount": number,
   "approvalThreshold": number
}

Obtenir la facturation

Renvoie le plan et l’abonnement de l’espace de travail.

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

Retour

200 OK avec l’objet présenté dans la réponse.

Plus de détails

Renvoie le plan de l’espace de travail et l’état de son abonnement Pleaxy. Le plan est un cache de droits écrit uniquement à partir des webhooks Stripe signés (ou, pour les contrats entreprise, par les équipes d’exploitation de Pleaxy) : il n’existe aucune API pour le modifier, et aucune API Pleaxy n’accepte jamais un plan transmis par un appelant. Les modifications en libre-service passent par Checkout hébergé par Stripe et par le Stripe Customer Portal, dont les URL sont émises par les deux points de terminaison de session de ce chemin ; tous deux nécessitent une session humaine, donc les clés API ne peuvent ni lancer ni modifier un abonnement. Les identifiants Stripe ne font volontairement pas partie de cette réponse.

Champs de la réponse

  • billingEnabledboolean

    false lorsque l’environnement n’a pas de configuration Stripe ; les points de terminaison de session renvoient alors 503.

  • planstring

    Le plan de droits au regard duquel les limites sont appliquées.

  • managedBystring

    "platform" pour un contrat entreprise attribué par les équipes d’exploitation de Pleaxy, sans modification en libre-service ; sinon "self-serve".

  • hasBillingAccountboolean

    Un Customer Stripe existe pour cet espace de travail, donc le Customer Portal est disponible.

  • subscriptionStatusstring

    Le statut d’abonnement de Stripe, copié tel quel. Absent lorsque l’espace de travail ne s’est jamais abonné.

  • currentPeriodEndstring

    Date de renouvellement ISO 8601, ou date de fin d’accès lorsque cancelAtPeriodEnd vaut true.

  • cancelAtPeriodEndboolean

    L’abonnement est configuré pour se terminer à currentPeriodEnd au lieu de se renouveler.

  • pastDueSincestring

    Horodatage ISO 8601 du paiement échoué. Le plan payant est conservé pendant toute la période de relance de Stripe.

  • availablePlansarray

    Les plans disponibles à l’achat avec leurs prix actuels, lus depuis Stripe : le prix mensuel de la première région, le prix annuel lorsqu’il est configuré, et le palier de prix de chaque région supplémentaire. Vide lorsque la facturation est désactivée ou que les tarifs Stripe sont temporairement indisponibles.

  • *PriceLabel, *Pricestring, object

    Chaque prix en double : un libellé en anglais (par exemple un prix mensuel suivi de "/mo") et le même prix en chiffres, { amount, currency, interval }, amount dans l’unité mineure de la devise (centimes) et currency en minuscules, tels que Stripe les fournit, à mettre en forme dans votre propre langue. additionalRegionPrices contient un { fromRegion, toRegion, price } par libellé (toRegion null : et toutes les régions suivantes).

  • currentPrice, currentTotalobject

    Le prix de première région de l’abonnement actuel et ce que l’entreprise paie par période pour toutes ses régions acheteur (buyerRegionCount), avec leurs libellés. Uniquement lorsque la facturation est activée et qu’un prix est enregistré.

Erreurs

  • 401 Unauthorized - Aucun identifiant n’a été fourni, ou la valeur du jeton Bearer / de X-Api-Key est manquante, invalide, expirée ou révoquée.
  • 403 Forbidden - Le jeton Bearer ou la clé API de l’appelant ne donne pas accès à cet espace de travail (regionId), ou n’a pas le rôle requis.
GET /v1/workspaces/{regionId}/settlement/billing
Requête
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/settlement/billing" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 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" }
}
Nous contacter