API webhook endpoints
Καταχωρίστε HTTPS endpoints για να λαμβάνετε HMAC-signed POST συμβάντων κάθε φορά που συμβαίνει κάτι αξιοσημείωτο στην πλατφόρμα — άνοιγμα συνεδριών, λήψη τεκμηρίων, αγκύρωση αλυσίδων ελέγχου. Κάθε παράδοση επαναλαμβάνεται με εκθετική υποχώρηση, υπογράφεται με μυστικό ανά endpoint και είναι ασφαλής έναντι επανάληψης μέσω παραθύρου χρονοσφραγίδας 5 λεπτών.
Για τον κατάλογο συμβάντων + τις μορφές payload, δείτε Επισκόπηση Webhooks. Αυτή η σελίδα είναι η επιφάνεια API για τη διαχείριση endpoints + την επιθεώρηση των προσπαθειών παράδοσης.
Το αντικείμενο Endpoint
{
"id": "we-1f2a...",
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"],
"active": true,
"created_at": "2026-04-12T09:00:00Z"
} Σημείωση: το πεδίο signing_secret επιστρέφεται ακριβώς μία φορά στην απόκριση POST — αποθηκεύστε το αμέσως ή εναλλάξτε το αργότερα μέσω PATCH αν το χάσετε.
Εμφάνιση endpoints
GET /api/v1/public/webhook-endpoints — εύρος webhooks:read
curl https://app.nexbasira.com/api/v1/public/webhook-endpoints \
-H "Authorization: Bearer nb_sec_..." Δημιουργία endpoint
POST /api/v1/public/webhook-endpoints — εύρος webhooks:write
curl -X POST https://app.nexbasira.com/api/v1/public/webhook-endpoints \
-H "Authorization: Bearer nb_sec_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"]
}' Πεδία body
| Πεδίο | Τύπος | Υποχρεωτικό | Σημειώσεις |
|---|---|---|---|
url | HTTPS URL | ναι | Πρέπει να είναι προσβάσιμο + να επιστρέφει 2xx εντός 10 δευτ. Το HTTP απορρίπτεται. |
description | string | όχι | Ετικέτα ελεύθερου κειμένου. Βοηθά όταν έχετε πολλαπλά endpoints ανά οργανισμό. |
event_types | string[] | όχι | Εγγραφή μόνο σε ένα υποσύνολο τύπων συμβάντων. Παράλειψη / κενό = εγγραφή σε όλα. |
{
"id": "we-1f2a...",
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"],
"active": true,
"created_at": "2026-04-12T09:00:00Z",
"signing_secret": "whsec_4f9d2a8b3c1e..."
} Το signing_secret είναι το κλειδί HMAC-SHA256 που χρησιμοποιεί η πλατφόρμα για να υπογράφει κάθε POST. Επαληθεύστε την κεφαλίδα NB-Signature στον δέκτη σας — τα SDK μας παρέχουν έναν βοηθό μιας γραμμής.
Ανάκτηση / ενημέρωση / διαγραφή
GET / PATCH / DELETE /api/v1/public/webhook-endpoints/{endpoint_id}
Το GET απαιτεί webhooks:read· τα PATCH + DELETE απαιτούν webhooks:write. Το PATCH δέχεται την ίδια μορφή body με το POST — κάθε πεδίο προαιρετικό. Χρησιμοποιήστε το για να παύσετε ένα endpoint ({"active": false}), να περιορίσετε την εγγραφή του ή να εναλλάξετε το μυστικό υπογραφής.
Εναλλαγή του μυστικού υπογραφής
curl -X PATCH https://app.nexbasira.com/api/v1/public/webhook-endpoints/we-1f2a... \
-H "Authorization: Bearer nb_sec_..." \
-H "Content-Type: application/json" \
-d '{"rotate_secret": true}' Το νέο μυστικό επιστρέφεται ακριβώς μία φορά στο body της απόκρισης, με την ίδια μορφή όπως η κλήση δημιουργίας. Τόσο το παλιό όσο και το νέο μυστικό ισχύουν για τις επόμενες 24 ώρες, ώστε ο δέκτης σας να έχει χρόνο να αναπτυχθεί — μετά από αυτό το παλιό ανακαλείται.
Επιθεώρηση προσπαθειών παράδοσης
GET /api/v1/public/webhook-events — εύρος webhooks:read
Οι τελευταίες 100 προσπάθειες παράδοσης για τον οργανισμό του διαπιστευτηρίου. Φιλτράρετε με ?endpoint={id} ή ?status=pending|delivered|failed|dropped.
{
"data": [{
"id": "wev-9a01...",
"endpoint": "we-1f2a...",
"event_type": "session.completed",
"status": "delivered",
"response_status": 200,
"attempt_count": 1,
"created_at": "2026-05-23T10:32:00Z",
"delivered_at": "2026-05-23T10:32:01Z"
}],
"has_more": false,
"next_cursor": null
} Ρυθμός επανάληψης
Οι αποτυχημένες παραδόσεις επαναλαμβάνονται με αυτό το χρονοδιάγραμμα και έπειτα απορρίπτονται:
- +30 δευτερόλεπτα
- +5 λεπτά
- +1 ώρα
- +6 ώρες
- +24 ώρες
- μετά από αυτό →
dropped(ορατό στο αρχείο παράδοσης)
Συνήθη σφάλματα
| Κατάσταση | Κωδικός | Πότε |
|---|---|---|
| 400 | validation_error | Μη-HTTPS URL, άγνωστος τύπος συμβάντος ή μη προσβάσιμο endpoint κατά τη δημιουργία. |
| 403 | permission_denied | Το διαπιστευτήριο δεν διαθέτει το scope. |
| 404 | not_found | Το endpoint δεν υπάρχει στον οργανισμό του διαπιστευτηρίου. |
| 409 | endpoint_paused | Προσπάθεια αποστολής δοκιμαστικής ενεργοποίησης σε endpoint με active=false. |