Skip to content
ABUNA
DocumentationNotifications

Référence de l'API

Notifications

Les e-mails et messages Telegram qu'Abuna a envoyés à vos clients.

Un avis est un e-mail ou un message Telegram qu'Abuna envoie à l'un de vos clients, comme un reçu ou un rappel de paiement. Abuna envoie un avis par canal.

L'objet notice

Attributs

  • idstring

    Identifiant unique de l'avis.
  • customer_idstring

    Le client à qui l'avis est destiné.
  • subscription_idstringnullable

    L'abonnement concerné par l'avis.
  • kindstring

    Ce sur quoi porte l'avis :
    • subscription_started : un nouvel abonnement, avec un lien pour payer sa première période. Envoyé 30 minutes après la création de l'abonnement, et seulement si le client n'a pas payé à ce moment-là.
    • subscription_renewed : un renouvellement à payer, envoyé au début de sa période.
    • renewal_upcoming : une période payée se termine bientôt. Envoyé quand la facture du renouvellement part avant la fin, avec son lien de paiement. Avec renewal_lead_days à 0 ou un passage à un tarif inférieur programmé, envoyé 3 jours avant la fin, sans lien de paiement.
    • payment_overdue : une période est toujours impayée.
    • payment_final_notice : le dernier rappel avant que l'abonnement soit annulé pour non-paiement.
    • payment_received : un reçu. Quand le paiement met en vigueur une montée de formule, il indique aussi l'ancienne et la nouvelle formule. Pour une facture marquée payée, il indique que vous avez enregistré le paiement.
    • payment_failed : un paiement a échoué après que le client a quitté la page de paiement. Au plus un par heure et par facture.
    • subscription_cancel_scheduled : une annulation à la fin de la période payée a été programmée. Il donne la date de fin et comment conserver l'abonnement.
    • subscription_cancel_undone : une annulation programmée a été annulée, donc l'abonnement continue.
    • subscription_canceled : l'abonnement a pris fin.
    • plan_change_offered : vous avez proposé un changement de formule au client. Il renvoie vers la page où il l'accepte.
    • plan_upgraded : une montée de formule a pris effet sans paiement préalable : rien n'était dû, ou la nouvelle période est à payer via le lien de paiement qu'il donne. Il donne la nouvelle formule et la nouvelle date de facturation.
    • plan_upgrade_due : une montée de formule attend que le client paie. Il donne le montant, la date limite de paiement et le lien de paiement.
    • plan_downgrade_scheduled : un passage à un tarif inférieur a été programmé. Il donne la nouvelle formule et la date à laquelle elle commence.
    • plan_downgrade_undone : un passage à un tarif inférieur programmé a été annulé, donc la formule se renouvelle telle quelle.
    • price_change_scheduled : un tarif que le client paie change. Il donne le nouveau montant et la date à laquelle il s'applique pour la première fois à lui.
    • price_change_canceled : un changement de tarif programmé a été annulé ou remplacé, donc le client continue de payer ce qu'il paie actuellement.
    • contact_changed : le client a changé son e-mail ou son numéro de téléphone dans son espace client. Il va à l'ancienne adresse e-mail et à la conversation Telegram connectée.
    • portal_links : le client a demandé des liens vers ses abonnements.
  • channelstring

    email ou telegram.
  • recipientstring

    L'adresse e-mail à laquelle il va. Vide pour Telegram, afin de garder la conversation du client privée.
  • subjectstring

    La ligne d'objet.
  • statusstring

    pending pendant qu'il attend d'être envoyé, sending pendant qu'Abuna l'envoie, sent, ou failed. withdrawn quand il a cessé d'être vrai avant de partir, comme un rappel pour une période qui a été payée, ou un message Telegram à un client qui a déconnecté la conversation.
  • attemptsinteger

    Combien de fois Abuna a essayé de l'envoyer.
  • last_errorstringnullable

    Pourquoi la dernière tentative a échoué, ou pourquoi l'avis a été retiré.
  • next_attempt_attimestamp

    Quand Abuna essaiera de l'envoyer à nouveau, tant qu'il est pending.
  • created_attimestamp

    Quand l'avis a été créé, en secondes Unix.
  • sent_attimestampnullable

    Quand il a été envoyé.
L'objet notice
{
  "id": "e7JpT4cN",
  "customer_id": "Cu5tM8rA",
  "subscription_id": "x9QbL2sK",
  "kind": "payment_received",
  "channel": "email",
  "recipient": "jane@example.com",
  "subject": "Receipt from My store: FCFA 5,000 paid",
  "status": "sent",
  "attempts": 1,
  "last_error": null,
  "next_attempt_at": 1727600100,
  "created_at": 1727600100,
  "sent_at": 1727600102
}

Lister les avis

GET/v1/apps/{appID}/notices

Liste les avis de l'application, du plus récent au plus ancien, une page à la fois.

Paramètres de requête

  • subscription_idstring

    Renvoie uniquement les avis concernant cet abonnement.
  • statusstring

    Renvoie uniquement les avis avec ce statut : pending, sending, sent, failed ou withdrawn.
  • limitinteger

    Combien de avis renvoyer, de 1 à 100. Par défaut : 50.
  • cursorstring

    La valeur next_cursor de la page précédente. Envoyez les mêmes filtres avec.

Renvoie items et next_cursor, comme décrit dans Listes et filtres. Une valeur non autorisée, comme un limit supérieur à 100, renvoie 422 avec le code invalid et le nom du paramètre dans errors.

GET /v1/apps/{appID}/notices
curl "https://api.abuna.app/v1/apps/8ddhXCDW/notices?subscription_id=x9QbL2sK" \
  -H "Authorization: Bearer sk_test_..."
Réponse
{
  "items": [
    {
      "id": "e7JpT4cN",
      "customer_id": "Cu5tM8rA",
      "subscription_id": "x9QbL2sK",
      "kind": "payment_received",
      "channel": "email",
      "recipient": "jane@example.com",
      "subject": "Receipt from My store: FCFA 5,000 paid",
      "status": "sent",
      "attempts": 1,
      "last_error": null,
      "next_attempt_at": 1727600100,
      "created_at": 1727600100,
      "sent_at": 1727600102
    }
  ],
  "next_cursor": null
}

Étapes suivantes