Skip to content
ABUNA
DocumentationApplications

Référence de l'API

Applications

Lisez l'application à laquelle appartient une clé : son mode, ses clés et ses réglages de paiement.

Une application contient vos produits, vos tarifs, vos clients et vos abonnements. Chaque projet possède une application Réelle et une application Test. Chacune a son propre ID et ses propres clés, et une clé secrète ne fonctionne que pour son application.

L'objet app

Attributs

  • idstring

    Identifiant unique de l'application.
  • team_idstring

    L'équipe qui possède l'application.
  • namestring

    Le nom de l'application. Les applications Réelle et Test d'un projet le partagent.
  • slugstring

    Une forme du nom utilisable dans une URL. Le slug d'une application Test se termine par -test.
  • environmentstring

    live ou test.
  • project_idstring

    L'ID de l'application Réelle du projet. Pour une application Réelle, c'est son propre ID.
  • live_app_idstring

    L'ID de l'application Réelle du projet. Toujours identique à project_id.
  • test_app_idstring

    L'ID de l'application Test du projet. Pour une application Test, c'est son propre ID. Absent quand le projet n'a pas d'application Test.
  • base_currencystring

    La devise de l'application : XAF.
  • grace_period_daysinteger

    Le nombre de jours dont dispose un client pour payer une période de facturation, de 1 à 14, comptés depuis le début de la période et jamais au-delà de sa fin. Une période impayée à la fin de ces jours met fin à l'abonnement. Les nouvelles applications démarrent à 3.
  • renewal_lead_daysinteger

    Combien de jours avant la fin d'une période payée la facture du renouvellement part, de 0 à 7, pour que le client puisse payer avant la fin de la période. Le renouvellement démarre tout de même à la fin de la période payée, et payer en avance ne déplace pas cette date. Avec 0, la facture part à la fin de la période. Elle ne part jamais avant le milieu de la période payée, donc sur un tarif journalier elle part 12 heures avant la fin. Les nouvelles applications démarrent à 3. Modifiez-le dans le tableau de bord sous Paramètres, Renouvellements et délai de paiement. Voir Renouvellements et past_due.
  • invoice_prefixstring

    Ce qui précède le compteur dans les numéros de facture de l'application, comme MYST dans MYST-000124 : 2 à 10 lettres majuscules (A à Z) ou chiffres. Les nouvelles applications démarrent avec les 4 premières lettres et chiffres du nom de l'application, ou INV quand le nom en compte moins de 2. Un changement s'applique aux factures émises ensuite ; les numéros déjà émis restent tels quels. Les applications Réelle et Test ont chacune leur propre valeur. Modifiez-le dans le tableau de bord sous Paramètres, Numéros de facture.
  • customer_cancelstring

    Ce qui se passe quand un client annule dans son espace client. at_period_end (par défaut) garde l'abonnement jusqu'à la fin de la période payée. immediate le termine maintenant. Une période impayée se termine toujours maintenant. Les applications Réelle et Test ont chacune leur propre valeur. Modifiez-le dans le tableau de bord sous Paramètres, Quand les clients annulent.
  • publishable_keystring

    La clé des liens de paiement hébergés, comme pk_test_ suivi de 48 caractères hexadécimaux.
  • secret_key_prefixstring

    Le début de la première clé secrète de l'application : son préfixe et les 8 caractères suivants.
  • webhook_urlstringnullable

    Où Abuna envoie les webhooks.
  • webhook_configuredboolean

    true quand webhook_url est défini.
  • webhook_testedboolean

    true une fois qu'un Envoyer un événement test depuis le tableau de bord a atteint le webhook_url actuel. Changer l'URL le remet à false.
  • success_urlstringnullable

    Où la page de paiement hébergée envoie le client après qu'il a payé. Une session de paiement peut définir la sienne.
  • cancel_urlstringnullable

    Où la page de paiement hébergée envoie le client quand il part sans payer. Une session de paiement peut définir la sienne.
  • support_emailstringnullable

    L'e-mail d'assistance que voient vos clients. Les applications Réelle et Test d'un projet le partagent. Une application Réelle a besoin de ceci ou de support_url pour accepter des paiements.
  • support_urlstringnullable

    La page d'assistance que voient vos clients. Les applications Réelle et Test d'un projet la partagent. Une application Réelle a besoin de ceci ou de support_email pour accepter des paiements.
  • terms_urlstringnullable

    La page de conditions générales que voient vos clients.
  • timezonestring

    Le fuseau horaire IANA, comme Africa/Douala, dans lequel les dates et heures s'affichent, dans chaque e-mail sur l'application. Les nouvelles applications démarrent avec Africa/Douala. Un changement de tarif programmé démarre à minuit dans ce fuseau. Les applications Réelle et Test d'un projet le partagent. Modifiez-le dans le tableau de bord sous Paramètres, Général, Fuseau horaire.
  • paymentsobject

    Si l'application peut accepter des paiements, et ce qui lui manque si ce n'est pas le cas.
    Afficher les attributsMasquer les attributs
    • readyboolean

      true quand email_verified, provider_connected et support_contact sont tous vrais.
    • email_verifiedboolean

      Si le propriétaire de l'équipe a vérifié son e-mail. Toujours vrai en mode Test.
    • provider_connectedboolean

      Si un prestataire de paiement est connecté. Toujours vrai en mode Test.
    • support_contactboolean

      Si l'application possède un support_email ou un support_url. Toujours vrai en mode Test.
  • read_onlyboolean

    true quand le forfait de l'équipe a rendu cette application Réelle en lecture seule. Les écritures échouent alors avec 403. Toujours faux en mode Test.
  • created_attimestamp

    Quand l'application a été créée, en secondes Unix.
L'objet app
{
  "id": "8ddhXCDW",
  "team_id": "01J9ZQ3A1B2C3D4E5F6G7H8J9K",
  "name": "My store",
  "slug": "my-store-test",
  "environment": "test",
  "project_id": "Q7mKp2Rt",
  "live_app_id": "Q7mKp2Rt",
  "test_app_id": "8ddhXCDW",
  "base_currency": "XAF",
  "grace_period_days": 3,
  "renewal_lead_days": 3,
  "invoice_prefix": "MYST",
  "customer_cancel": "at_period_end",
  "publishable_key": "pk_test_...",
  "secret_key_prefix": "sk_test_3f9c1a2b",
  "webhook_url": "https://example.com/webhooks",
  "webhook_configured": true,
  "webhook_tested": true,
  "success_url": null,
  "cancel_url": null,
  "support_email": "support@example.com",
  "support_url": null,
  "terms_url": null,
  "timezone": "Africa/Douala",
  "payments": {
    "ready": true,
    "email_verified": true,
    "provider_connected": true,
    "support_contact": true
  },
  "read_only": false,
  "created_at": 1727600000
}

Récupérer une application

GET/v1/apps/{appID}

Récupère l'application à laquelle appartient votre clé secrète.

Renvoie l'objet app. Si aucune application n'a cet ID, ou si la clé appartient à une autre application, renvoie 404 avec le code not_found.

GET /v1/apps/{appID}
curl https://api.abuna.app/v1/apps/8ddhXCDW \
  -H "Authorization: Bearer sk_test_..."
Réponse
{
  "id": "8ddhXCDW",
  "team_id": "01J9ZQ3A1B2C3D4E5F6G7H8J9K",
  "name": "My store",
  "slug": "my-store-test",
  "environment": "test",
  "project_id": "Q7mKp2Rt",
  "live_app_id": "Q7mKp2Rt",
  "test_app_id": "8ddhXCDW",
  "base_currency": "XAF",
  "grace_period_days": 3,
  "renewal_lead_days": 3,
  "invoice_prefix": "MYST",
  "customer_cancel": "at_period_end",
  "publishable_key": "pk_test_...",
  "secret_key_prefix": "sk_test_3f9c1a2b",
  "webhook_url": "https://example.com/webhooks",
  "webhook_configured": true,
  "webhook_tested": true,
  "success_url": null,
  "cancel_url": null,
  "support_email": "support@example.com",
  "support_url": null,
  "terms_url": null,
  "timezone": "Africa/Douala",
  "payments": {
    "ready": true,
    "email_verified": true,
    "provider_connected": true,
    "support_contact": true
  },
  "read_only": false,
  "created_at": 1727600000
}

Étapes suivantes