Référence de l’API

Notifications

Notifications dans l’application et paramètres de relance.

En savoir plus sur cette ressource

Notifications dans l’application pour les événements acheteur et fournisseur (validations, écarts, paiements), ainsi que l’autonomie des relances côté fournisseur.

Lister les notifications

Liste vos notifications les plus récentes.

GET/v1/workspaces/{regionId}/notifications

Paramètres

  • audience"buyer" | "supplier"Obligatoire

    Le côté dont il faut renvoyer le flux de notifications.

Retour

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

Plus de détails

Liste jusqu’aux 50 notifications les plus récentes pour l’audience indiquée, de la plus récente à la plus ancienne. Les notifications sont conservées 90 jours. Utilisez ListNotificationsPage pour parcourir les plus anciennes.

Champs de la réponse

  • title, bodystring

    En anglais, tel que rédigé lors de la création de la notification. Slack, Teams et l’e-mail affichent le même texte.

  • titleMessageId, titleParams, bodyMessageId, bodyParamsstring, object

    Le message à partir duquel chaque texte a été construit et les valeurs utilisées pour le compléter, pour qu’une application puisse l’afficher dans la langue de son lecteur. Absent sur les notifications créées avant leur introduction ; affichez alors title et body.

  • resolutionobject

    Uniquement sur une demande de validation (po_approval_requested, invoice_approval_requested) ou un avis de valideur manquant (po_needs_approver, invoice_needs_approver) qui ne requiert plus son lecteur, calculé au moment de la liste et jamais stocké : outcome you_approved ou you_rejected (avec at) lorsque le lecteur a tranché l’étape, sinon no_longer_needed (quelqu’un d’autre a tranché, l’étape a été réaffectée, ou le document a quitté la validation). Absent tant que le lecteur est encore requis.

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}/notifications
Requête
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 200 OK
[
   {
      "id": "string",
      "audience": "buyer" | "supplier",
      "type": "report_ready" | "company_report_ready" | "po_approved" | "po_rejected" | "po_canceled" | "po_changed" | "po_approval_requested" | "request_approval_requested" | "request_approved" | "request_rejected" | "request_ordered" | "po_store_order_problem" | "po_supplier_confirmed" | "po_supplier_exception" | "po_shipped" | "po_supplier_email" | "po_changes_declined" | "po_needs_approver" | "invoice_submitted" | "invoice_ready_for_approval" | "invoice_approval_requested" | "invoice_discrepancy" | "invoice_approved" | "invoice_paid" | "invoice_payment_withdrawn" | "payments_recorded_by_key" | "accounting_sync_failed" | "invoice_remittance_sent" | "invoice_payment_failed" | "invoice_reminder" | "invoice_rejected" | "invoice_on_hold" | "invoice_hold_released" | "invoice_payment_reminder" | "invoice_entered_by_buyer" | "invoice_bank_details_to_confirm" | "invoice_bank_details_confirmed" | "invoice_bank_details_disputed" | "invoice_bank_details_changed" | "invoice_needs_approver" | "ses_approval_requested" | "ses_auto_approved" | "ses_approved" | "ses_rejected" | "receipt_return_recorded" | "po_line_due" | "po_line_due_asked" | "po_receipt_requested" | "invoice_held_due_soon" | "ses_approval_overdue" | "credit_note_received" | "credit_note_accepted" | "credit_note_rejected" | "credit_note_applied" | "invoice_comment" | "po_comment" | "contract_comment" | "invoice_feed_changed" | "supplier_connection_invited" | "supplier_connection_submitted" | "supplier_connection_approved" | "supplier_connection_rejected" | "supplier_connection_region_mismatch" | "agent_request" | "support_case_opened" | "support_case_updated" | "supplier_late_fee_terms_changed" | "contract_terms_to_acknowledge" | "contract_terms_acknowledged" | "contract_terms_disputed" | "contract_recheck_requested" | "contract_sent_to_joined_supplier" | "copilot_allowance_80" | "copilot_allowance_100" | "copilot_degraded" | "copilot_packs_low" | "copilot_packs_empty" | "copilot_payg_cap",
      "title": "string",
      "body": "string",
      "titleMessageId": "string",
      "titleParams": { },
      "bodyMessageId": "string",
      "bodyParams": { },
      "relatedId": "string",
      "createdAt": "string",
      "read": boolean,
      "resolution": { "outcome": "you_approved" | "you_rejected" | "no_longer_needed", "at": "string" }
   }
]

Lister une page de notifications

Liste les notifications page par page.

GET/v1/workspaces/{regionId}/notifications/inbox

Paramètres

  • audience"buyer" | "supplier"Obligatoire

    Le côté dont il faut renvoyer le flux de notifications.

  • limitnumber

    Taille de page, de 1 à 50. 20 par défaut.

  • cursorstring

    Le nextCursor de la page précédente. Omettez-le pour la page la plus récente.

Retour

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

Plus de détails

Liste les notifications pour l’audience indiquée page par page, de la plus récente à la plus ancienne. Renvoyez le nextCursor d’une page comme cursor pour obtenir la page plus ancienne suivante. Une page peut être plus courte que limit, voire vide, et avoir quand même un nextCursor ; continuez donc jusqu’à ce que nextCursor soit absent. Les notifications sont conservées 90 jours.

Champs de la réponse

  • itemsNotification[]

    Les notifications de cette page, de la plus récente à la plus ancienne.

  • title, bodystring

    En anglais, tel que rédigé lors de la création de la notification. Slack, Teams et l’e-mail affichent le même texte.

  • titleMessageId, titleParams, bodyMessageId, bodyParamsstring, object

    Le message à partir duquel chaque texte a été construit et les valeurs utilisées pour le compléter, pour qu’une application puisse l’afficher dans la langue de son lecteur. Absent sur les notifications créées avant leur introduction ; affichez alors title et body.

  • resolutionobject

    Uniquement sur une demande de validation (po_approval_requested, invoice_approval_requested) ou un avis de valideur manquant (po_needs_approver, invoice_needs_approver) qui ne requiert plus son lecteur, calculé au moment de la liste et jamais stocké : outcome you_approved ou you_rejected (avec at) lorsque le lecteur a tranché l’étape, sinon no_longer_needed (quelqu’un d’autre a tranché, l’étape a été réaffectée, ou le document a quitté la validation). Absent tant que le lecteur est encore requis.

  • nextCursorstring

    Opaque. Absent lorsqu’il n’y a pas de notifications plus anciennes.

  • unreadCountnumber

    Les notifications non lues qui vous sont visibles, comptées jusqu’à 10 (une valeur de 10 signifie 10 ou plus). Renvoyé uniquement sur la première page (sans cursor).

Erreurs

  • 400 Bad Request - Le curseur n’a pas été émis par cette API, ou limit est en dehors de la plage de 1 à 50.
  • 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}/notifications/inbox
Requête
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/inbox" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 200 OK
{
   "items": [
      {
         "id": "string",
         "audience": "buyer" | "supplier",
         "type": "report_ready" | "company_report_ready" | "po_approved" | "po_rejected" | "po_canceled" | "po_changed" | "po_approval_requested" | "request_approval_requested" | "request_approved" | "request_rejected" | "request_ordered" | "po_store_order_problem" | "po_supplier_confirmed" | "po_supplier_exception" | "po_shipped" | "po_supplier_email" | "po_changes_declined" | "po_needs_approver" | "invoice_submitted" | "invoice_ready_for_approval" | "invoice_approval_requested" | "invoice_discrepancy" | "invoice_approved" | "invoice_paid" | "invoice_payment_withdrawn" | "payments_recorded_by_key" | "accounting_sync_failed" | "invoice_remittance_sent" | "invoice_payment_failed" | "invoice_reminder" | "invoice_rejected" | "invoice_on_hold" | "invoice_hold_released" | "invoice_payment_reminder" | "invoice_entered_by_buyer" | "invoice_bank_details_to_confirm" | "invoice_bank_details_confirmed" | "invoice_bank_details_disputed" | "invoice_bank_details_changed" | "invoice_needs_approver" | "ses_approval_requested" | "ses_auto_approved" | "ses_approved" | "ses_rejected" | "receipt_return_recorded" | "po_line_due" | "po_line_due_asked" | "po_receipt_requested" | "invoice_held_due_soon" | "ses_approval_overdue" | "credit_note_received" | "credit_note_accepted" | "credit_note_rejected" | "credit_note_applied" | "invoice_comment" | "po_comment" | "contract_comment" | "invoice_feed_changed" | "supplier_connection_invited" | "supplier_connection_submitted" | "supplier_connection_approved" | "supplier_connection_rejected" | "supplier_connection_region_mismatch" | "agent_request" | "support_case_opened" | "support_case_updated" | "supplier_late_fee_terms_changed" | "contract_terms_to_acknowledge" | "contract_terms_acknowledged" | "contract_terms_disputed" | "contract_recheck_requested" | "contract_sent_to_joined_supplier" | "copilot_allowance_80" | "copilot_allowance_100" | "copilot_degraded" | "copilot_packs_low" | "copilot_packs_empty" | "copilot_payg_cap",
         "title": "string",
         "body": "string",
         "titleMessageId": "string",
         "titleParams": { },
         "bodyMessageId": "string",
         "bodyParams": { },
         "relatedId": "string",
         "createdAt": "string",
         "read": boolean,
         "resolution": { "outcome": "you_approved" | "you_rejected" | "no_longer_needed", "at": "string" }
      }
   ],
   "nextCursor": "string",
   "unreadCount": number
}

Marquer une notification comme lue

Marque une notification comme lue.

POST/v1/workspaces/{regionId}/notifications/{notificationId}/read

Paramètres

  • notificationIdstringObligatoire

    L’identifiant de la notification.

Retour

201 Created avec l’objet présenté dans la réponse.

Plus de détails

Marque une seule notification comme lue. Réussit sans erreur si la notification n’existe pas.

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.
POST /v1/workspaces/{regionId}/notifications/{notificationId}/read
Requête
curl -X POST "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/{notificationId}/read" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 201 Created
(no content)

Marquer toutes les notifications comme lues

Marque toutes vos notifications comme lues.

POST/v1/workspaces/{regionId}/notifications/read-all

Paramètres

  • audience"buyer" | "supplier"Obligatoire

    Le côté dont il faut marquer les notifications comme lues.

  • cursorstring

    Le nextCursor de l’appel précédent, pour reprendre là où il s’est arrêté. Omettez-le pour commencer par les plus récentes.

Retour

201 Created avec l’objet présenté dans la réponse.

Plus de détails

Marque comme lues les notifications non lues qui vous sont visibles pour l’audience indiquée. L’état de lecture est partagé : une notification envoyée à tout l’espace de travail est marquée comme lue pour tous ceux qui peuvent la voir. Un appel en marque jusqu’à 200 ; lorsque remaining vaut true, rappelez avec nextCursor pour marquer les autres.

Champs de la réponse

  • updatednumber

    Le nombre de notifications marquées comme lues par cet appel.

  • remainingboolean

    True lorsque cet appel s’est arrêté à sa limite et que des notifications non lues peuvent subsister.

  • nextCursorstring

    Opaque. Présent lorsque remaining vaut true ; renvoyez-le comme cursor lors de l’appel suivant.

Erreurs

  • 400 Bad Request - Le curseur n’a pas été émis par cette API.
  • 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.
POST /v1/workspaces/{regionId}/notifications/read-all
Requête
curl -X POST "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/read-all" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 201 Created
{
   "updated": number,
   "remaining": boolean,
   "nextCursor": "string"
}

Obtenir les paramètres de relance

Renvoie les paramètres de relance automatique.

GET/v1/workspaces/{regionId}/notifications/reminder-settings

Retour

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

Plus de détails

Renvoie les paramètres de relance autonome de l’espace de travail, avec par défaut { enabled: false, idleDays: 3 } s’ils n’ont jamais été configurés.

Champs de la réponse

  • idleDaysnumber

    Nombre de jours pendant lesquels une facture peut rester inactive à la même étape de validation avant qu’une relance automatique ne soit déclenchée.

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}/notifications/reminder-settings
Requête
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/reminder-settings" \
  -H "X-Api-Key: $PLEAXY_API_KEY"
Réponse · 200 OK
{
   "enabled": boolean,
   "idleDays": number
}

Mettre à jour les paramètres de relance

Met à jour les paramètres de relance automatique.

PATCH/v1/workspaces/{regionId}/notifications/reminder-settings

Corps

  • enabledboolean

    Activer ou désactiver les relances automatiques.

  • idleDaysnumber

    Nouveau seuil d’inactivité en jours.

Retour

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

Plus de détails

Met à jour un ou plusieurs paramètres de relance autonome.

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.
PATCH /v1/workspaces/{regionId}/notifications/reminder-settings
Requête
curl -X PATCH "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/notifications/reminder-settings" \
  -H "X-Api-Key: $PLEAXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d @body.json
body.json
{
   "enabled": boolean,
   "idleDays": number
}
Réponse · 200 OK
{
   "enabled": boolean,
   "idleDays": number
}
Nous contacter