Contents
the email tool that makes email marketing simple
- Guides and Tutorials
- Διαμόρφωση Webhooks
Διαμόρφωση Webhooks
Published: · Last updated: · By Marcus Biel
In brief
Μάθετε να ρυθμίζετε ασφαλή endpoints webhooks στο Maildroppa, να επιλέγετε συμβάντα, να επαληθεύετε υπογραφές και να διαχειρίζεστε δοκιμές και επαναλήψεις.
Τα webhooks επιτρέπουν στο Maildroppa να ειδοποιεί μια άλλη εφαρμογή όταν συμβαίνει κάτι σημαντικό στον λογαριασμό σας.
Αντί να ρωτάτε επανειλημμένα το Maildroppa αν ένας συνδρομητής δημιουργήθηκε, ενημερώθηκε, διαγράφηκε από τη λίστα ή του ανατέθηκε μια ετικέτα, η εφαρμογή σας μπορεί να λαμβάνει ένα αίτημα HTTPS λίγο μετά την πραγματοποίηση του συμβάντος.
Η σελίδα Webhooks είναι το κεντρικό σημείο για αυτήν την ενσωμάτωση σε επίπεδο λογαριασμού. Μπορείτε να δημιουργήσετε πολλά endpoints, να επιλέξετε τα συμβάντα που λαμβάνει κάθε endpoint, να προσθέσετε κεφαλίδες ελέγχου ταυτότητας, να δοκιμάσετε τη σύνδεση, να ελέγξετε τις προσπάθειες παράδοσης και να επαναλάβετε ένα συμβάν παραγωγής όταν είναι απαραίτητο.
Πώς λειτουργούν τα Webhooks λογαριασμού
Ένα webhook λογαριασμού ακολουθεί αυτήν τη διαδικασία:
- Συμβαίνει ένα συμβάν στο Maildroppa, όπως η δημιουργία ενός συνδρομητή.
- Το Maildroppa εντοπίζει κάθε ενεργό endpoint που είναι εγγεγραμμένο σε αυτό το συμβάν.
- Το Maildroppa δημιουργεί μία παράδοση για κάθε αντίστοιχο endpoint.
- Το payload JSON υπογράφεται με το webhook Signing secret του λογαριασμού σας.
- Το Maildroppa στέλνει ένα αίτημα HTTPS
POSTστο αποθηκευμένο URL του endpoint. - Το endpoint σας επαληθεύει την υπογραφή, αποθηκεύει ή επεξεργάζεται το συμβάν και επιστρέφει μια απόκριση HTTP.
- Το Maildroppa καταγράφει το αποτέλεσμα στο Delivery history και επαναλαμβάνει αυτόματα τις προσωρινές αποτυχίες.
Αν πολλά endpoints είναι εγγεγραμμένα στο ίδιο συμβάν, κάθε endpoint λαμβάνει τη δική του παράδοση. Το επιχειρηματικό συμβάν έχει το ίδιο Event ID για όλα, ενώ κάθε παράδοση έχει το δικό της Delivery ID.
Τα webhooks λογαριασμού διαφέρουν από ένα βήμα «Send a webhook» μέσα σε ένα Automation. Τα webhooks λογαριασμού ακούν επιλεγμένα συμβάντα λογαριασμού σε όλο το Maildroppa. Ένα webhook Automation αποστέλλεται μόνο όταν ένας συνδρομητής φτάσει στο συγκεκριμένο βήμα. Και τα δύο χρησιμοποιούν το webhook Signing secret του λογαριασμού, επομένως η αλλαγή του μυστικού επηρεάζει κάθε εξερχόμενο παραλήπτη webhook που επαληθεύει υπογραφές Maildroppa.
Άνοιγμα της σελίδας Webhooks
Ανοίξτε τις «Settings», αναπτύξτε την ενότητα «Developers» και επιλέξτε «Webhooks».
Η σελίδα περιλαμβάνει τρεις κύριες περιοχές:
- Signing secret
- Endpoints
- Delivery history για το επιλεγμένο endpoint
Όταν έχετε περισσότερα από ένα endpoints, επιλέξτε μια γραμμή endpoint για να εμφανίσετε το Delivery history του. Αν δεν έχετε επιλέξει κάποιο ρητά, το Maildroppa εμφανίζει το ιστορικό του πρώτου endpoint στη λίστα.
Πριν δημιουργήσετε ένα endpoint
Προετοιμάστε έναν παραλήπτη στον διακομιστή σας πριν διαμορφώσετε το Maildroppa. Ο παραλήπτης θα πρέπει:
- Να είναι διαθέσιμος μέσω δημόσιου URL HTTPS.
- Να δέχεται αιτήματα
POSTμε σώμαapplication/json. - Να διατηρεί το ακατέργαστο σώμα του αιτήματος μέχρι να επαληθευτεί η υπογραφή Maildroppa.
- Να επιστρέφει κατάσταση
2xxμόνο αφού το συμβάν γίνει με ασφάλεια αποδεκτό. - Να επεξεργάζεται τις επαναλαμβανόμενες παραδόσεις με idempotent τρόπο, χρησιμοποιώντας το Event ID.
- Να απαντά γρήγορα αντί να εκτελεί αργές εργασίες κατά τη διάρκεια του αιτήματος.
Ένα αξιόπιστο μοτίβο είναι να επαληθεύετε το αίτημα, να αποθηκεύετε το Event ID και το payload σε μια ανθεκτική ουρά ή βάση δεδομένων, να επιστρέφετε 200 ή 204 και να εκτελείτε την επιχειρηματική ενέργεια αργότερα.
Μην εκθέτετε έναν υπολογιστή ανάπτυξης, μια τοπική διεύθυνση δικτύου ή ένα μη προστατευμένο script ως παραλήπτη webhook παραγωγής. Το Maildroppa δέχεται μόνο δημόσιους στόχους HTTPS και ελέγχει ξανά τον προορισμό όταν αποστέλλεται μια παράδοση.
Βήμα 1: Δημιουργία του Signing secret
Κάθε αίτημα webhook του Maildroppa υπογράφεται. Ο παραλήπτης σας χρησιμοποιεί το Signing secret για να επαληθεύσει ότι το αίτημα δημιουργήθηκε από το Maildroppa και ότι το σώμα δεν τροποποιήθηκε κατά τη μεταφορά.
Στο επάνω μέρος της σελίδας, το πλαίσιο Signing secret εμφανίζει μία από τις εξής καταστάσεις:
- Missing — Δεν υπάρχει ακόμη Signing secret.
- Ready — Έχει διαμορφωθεί Signing secret.
- Loading — Το Maildroppa ανακτά την τρέχουσα κατάσταση.
Κάντε κλικ στο «Generate secret» όταν η κατάσταση είναι Missing.
Το Maildroppa εμφανίζει αμέσως το νέο μυστικό. Ξεκινά με whsec_. Κάντε κλικ στο «Copy» και αποθηκεύστε το σε διαχειριστή μυστικών ή σε προστατευμένη διαμόρφωση περιβάλλοντος που χρησιμοποιεί ο παραλήπτης σας.
Η πλήρης τιμή εμφανίζεται μόνο αμέσως μετά τη δημιουργία ή την αλλαγή. Όταν ανανεώσετε ή αποχωρήσετε από τη σελίδα, το Maildroppa εμφανίζει μόνο ότι υπάρχει μυστικό και πότε ενημερώθηκε τελευταία φορά. Δεν εμφανίζει ξανά το αποθηκευμένο μυστικό.
Αν χάσετε το μυστικό
Αν ο παραλήπτης δεν έχει πλέον το τρέχον μυστικό, κάντε κλικ στο «Rotate secret» και αποθηκεύστε την τιμή που εμφανίζεται.
Η αλλαγή αντικαθιστά αμέσως το προηγούμενο μυστικό. Το Maildroppa δεν διατηρεί και τις δύο τιμές για μεταβατική περίοδο. Ενημερώστε κάθε παραλήπτη που χρησιμοποιεί αυτό το μυστικό λογαριασμού πριν στείλετε περαιτέρω δοκιμές ή βασιστείτε σε παραδόσεις παραγωγής.
Οι νέες παραδόσεις, οι προγραμματισμένες επαναλήψεις, οι δοκιμές και οι επαναλήψεις υπογράφονται με το τρέχον μυστικό κατά τη στιγμή του αιτήματος HTTP. Αυτό σημαίνει ότι μια παράδοση που δημιουργήθηκε πριν από την αλλαγή μπορεί να υπογραφεί με το νέο μυστικό όταν επιχειρηθεί αργότερα.
Αντιμετωπίστε το μυστικό σαν κωδικό πρόσβασης
Μην τοποθετείτε το Signing secret σε κώδικα browser, δημόσιο αποθετήριο, URL, σελίδα σφάλματος ή συνηθισμένο αρχείο καταγραφής εφαρμογής.
Μόνο ο παραλήπτης στην πλευρά του διακομιστή χρειάζεται το μυστικό. Αν πιστεύετε ότι έχει εκτεθεί, αλλάξτε το και ενημερώστε αμέσως όλους τους παραλήπτες.
Επαλήθευση υπογραφής Webhook
Κάθε αίτημα περιέχει τις εξής κεφαλίδες Maildroppa:
X-Maildroppa-Event-Id— Προσδιορίζει το επιχειρηματικό συμβάν.X-Maildroppa-Delivery-Id— Προσδιορίζει τη συγκεκριμένη παράδοση.X-Maildroppa-Timestamp— Ο χρόνος υπογραφής σε δευτερόλεπτα Unix.X-Maildroppa-Signature— Η έκδοση της υπογραφής HMAC.
Το Maildroppa στέλνει επίσης:
Content-Type: application/jsonUser-Agent: Maildroppa-Webhooks/1.0
Η υπογραφή έχει την εξής μορφή:
v1=<lowercase hexadecimal HMAC>
Το Maildroppa τη δημιουργεί με HMAC-SHA256. Το υπογεγραμμένο περιεχόμενο είναι η χρονική σήμανση, ακολουθούμενη από τελεία και το ακριβές ακατέργαστο σώμα του αιτήματος JSON:
<timestamp>.<raw request body>
Χρησιμοποιήστε το Signing secret ως κλειδί HMAC.
Το ακόλουθο παράδειγμα Node.js δείχνει το βασικό βήμα επαλήθευσης. Το rawBody πρέπει να είναι τα αρχικά bytes του αιτήματος, όχι JSON που έχει ήδη αναλυθεί και σειριοποιηθεί ξανά.
import crypto from 'node:crypto';
export function verifyMaildroppaWebhook({ rawBody, timestamp, signature, signingSecret }) {
const signedPayload = Buffer.concat([Buffer.from(`${timestamp}.`, 'utf8'), rawBody]);
const expectedSignature = `v1=${crypto
.createHmac('sha256', signingSecret)
.update(signedPayload)
.digest('hex')}`;
const received = Buffer.from(signature, 'utf8');
const expected = Buffer.from(expectedSignature, 'utf8');
return received.length === expected.length && crypto.timingSafeEqual(received, expected);
}
Αφού επαληθεύσετε την υπογραφή, συγκρίνετε επίσης τη χρονική σήμανση με την ώρα του διακομιστή σας. Απορρίπτετε αιτήματα εκτός ενός σύντομου ορίου ανοχής που έχετε επιλέξει για την υποδομή σας, όπως πέντε λεπτά. Αυτό μειώνει τον κίνδυνο επανάληψης ενός έγκυρου αιτήματος που έχει υποκλαπεί πολύ αργότερα.
Αναλύστε και επεξεργαστείτε το JSON μόνο αφού περάσουν και οι δύο έλεγχοι.
Συνήθεις αιτίες σφαλμάτων υπογραφής
Μια υπογραφή συνήθως αποτυγχάνει για έναν από τους εξής λόγους:
- Ο παραλήπτης χρησιμοποιεί παλιό μυστικό μετά την αλλαγή.
- Middleware ανέλυσε ή άλλαξε το JSON πριν υπολογιστεί η υπογραφή.
- Ο παραλήπτης υπογράφει μόνο το σώμα και παραλείπει το
<timestamp>.. - Η χρονική σήμανση αντιμετωπίζεται ως μορφοποιημένη ημερομηνία αντί για την ακριβή τιμή της κεφαλίδας.
- Το πρόθεμα
v1=παραλείπεται από τη σύγκριση. - Το υπολογισμένο HMAC κωδικοποιείται διαφορετικά αντί για δεκαεξαδική μορφή με πεζά γράμματα.
Καταγράφετε το Event ID και το Delivery ID όταν αποτυγχάνει η επαλήθευση, αλλά ποτέ μην καταγράφετε το Signing secret ή ευαίσθητες τιμές προσαρμοσμένων κεφαλίδων.
Βήμα 2: Προσθήκη endpoint
Κάντε κλικ στο «Add endpoint» στην ενότητα Endpoints.
Ο επεξεργαστής περιλαμβάνει τέσσερα μέρη:
- Endpoint URL
- Events
- Custom headers
- Active status
Τα νέα endpoints ξεκινούν ως Active και όλα τα συμβάντα που εμφανίζονται στον επεξεργαστή είναι αρχικά επιλεγμένα. Ελέγξτε την επιλογή πριν από την αποθήκευση, ώστε ο παραλήπτης να λαμβάνει μόνο τις ειδοποιήσεις που χρειάζεται πραγματικά.
Διαμόρφωση του Endpoint URL
Εισαγάγετε το πλήρες δημόσιο URL που πρέπει να λαμβάνει τα αιτήματα του Maildroppa, για παράδειγμα:
https://integrations.example.com/webhooks/maildroppa
Το URL πρέπει να πληροί τις εξής απαιτήσεις:
- Πρέπει να χρησιμοποιεί
https://. - Πρέπει να περιέχει έγκυρο δημόσιο hostname.
- Μπορεί να έχει μήκος έως 2.048 χαρακτήρες.
- Δεν μπορεί να περιέχει μεταβλητές προτύπου με
{ή}. - Δεν μπορεί να περιέχει όνομα χρήστη ή κωδικό πρόσβασης πριν από το hostname.
- Δεν μπορεί να περιέχει τμήμα URL που αρχίζει με
#. - Πρέπει να χρησιμοποιεί την τυπική θύρα HTTPS
443. - Δεν μπορεί να χρησιμοποιεί
localhost, ακατέργαστη διεύθυνση IP ή hostname που επιλύεται σε αποκλεισμένο ιδιωτικό ή δεσμευμένο δίκτυο.
Υποστηρίζονται παράμετροι ερωτήματος, αλλά μην τοποθετείτε κλειδιά API ή άλλα μυστικά στο URL. Τα URL είναι ορατά στη λίστα endpoint και στα δεδομένα παράδοσης. Χρησιμοποιήστε Custom header για διαπιστευτήρια.
Το Maildroppa δεν ακολουθεί ανακατευθύνσεις. Αποθηκεύστε τον τελικό προορισμό HTTPS αντί για URL που επιστρέφει 301, 302, 307 ή 308.
Το hostname προορισμού επιλύεται ξανά πριν από την αποστολή. Ένα hostname που αργότερα επιλύεται σε ιδιωτική ή αποκλεισμένη διεύθυνση απορρίπτεται, ακόμη κι αν ήταν έγκυρο όταν αποθηκεύτηκε το endpoint.
Επιλογή συμβάντων
Επιλέξτε τουλάχιστον ένα συμβάν. Ένα endpoint λαμβάνει μόνο τους τύπους συμβάντων που έχουν επιλεγεί στον επεξεργαστή του.
Η σελίδα προσφέρει τις εξής επιλογές συμβάντων:
Subscriber Created — subscriber.created
Αποστέλλεται όταν δημιουργείται ένας συνδρομητής στον λογαριασμό Maildroppa.
Χρησιμοποιήστε αυτό το συμβάν για να δημιουργήσετε την αντίστοιχη επαφή σε CRM, πλατφόρμα δεδομένων πελατών, εσωτερική βάση δεδομένων ή άλλο σύστημα που λαμβάνει υπόψη τις άδειες.
Μην ερμηνεύετε αυτό το συμβάν ως απόδειξη ότι κάθε εγγραφή έχει ολοκληρώσει το Double Opt-in. Η κατάσταση του συνδρομητή στο payload περιγράφει την τρέχουσα κατάσταση.
Subscriber Updated — subscriber.updated
Αποστέλλεται όταν αλλάζουν οι ενσωματωμένες πληροφορίες του συνδρομητή ή οι τιμές προσαρμοσμένων πεδίων.
Χρησιμοποιήστε το πλήρες αντικείμενο συνδρομητή στο payload ως την τρέχουσα αναπαράσταση στο Maildroppa. Μην υποθέτετε ότι άλλαξε μόνο μία συγκεκριμένη ιδιότητα.
Οι αναθέσεις και οι αφαιρέσεις ετικετών έχουν τους δικούς τους τύπους συμβάντων, ώστε να μπορούν να αντιμετωπίζονται ξεχωριστά.
Subscriber Unsubscribed — subscriber.unsubscribed
Αποστέλλεται όταν ο συνδρομητής μεταβαίνει στην κατάσταση unsubscribed μέσω ενέργειας διαγραφής από τη λίστα.
Χρησιμοποιήστε αυτό το συμβάν για να αποκλείσετε την επαφή στα συνδεδεμένα συστήματα. Μην εγγράφετε ξανά αυτόματα το άτομο επειδή ένα άλλο σύστημα εξακολουθεί να επισημαίνει την επαφή ως ενεργή.
Tag Added — subscriber.tag_added
Αποστέλλεται όταν μια ετικέτα ανατίθεται σε έναν συνδρομητή.
Το payload περιέχει τον συνδρομητή και την ετικέτα που αφορά τη συγκεκριμένη αλλαγή.
Tag Removed — subscriber.tag_removed
Αποστέλλεται όταν αφαιρείται μια ετικέτα από έναν συνδρομητή.
Το payload περιέχει τον ενημερωμένο συνδρομητή και την αφαιρεθείσα ετικέτα. Η αφαιρεθείσα ετικέτα παρέχεται ξεχωριστά, παρότι δεν υπάρχει πλέον στον τρέχοντα πίνακα tags του συνδρομητή.
Form Submitted — form.submitted
Αποστέλλεται όταν ένας επισκέπτης υποβάλλει μια φόρμα εγγραφής Maildroppa.
Αντιμετωπίστε το ως σήμα υποβολής φόρμας και όχι ως επιβεβαίωση ότι ολοκληρώθηκε το Double Opt-in. Κάθε ροή εργασίας που απαιτεί επιβεβαιωμένη εγγραφή πρέπει να συνεχίζει να σέβεται την τρέχουσα κατάσταση του συνδρομητή και τη διαδικασία επιβεβαίωσης.
Χρησιμοποιήστε ξεχωριστά endpoints όταν διαφέρουν οι αρμοδιότητες
Μπορείτε να στέλνετε διαφορετικά συμβάντα σε διαφορετικά συστήματα. Για παράδειγμα:
- Στείλτε συμβάντα συνδρομητών και ετικετών σε ένα CRM.
- Στείλτε συμβάντα διαγραφής από τη λίστα σε υπηρεσία αποκλεισμού.
- Στείλτε συμβάντα υποβολής φόρμας σε pipeline αναλυτικών στοιχείων.
Τα ξεχωριστά endpoints μειώνουν την περιττή κίνηση και διευκολύνουν τη διάγνωση αποτυχιών. Κάθε endpoint διαθέτει τη δική του επιλογή συμβάντων, URL, προσαρμοσμένες κεφαλίδες, ενεργή κατάσταση, δοκιμές και Delivery history.
Προσθήκη Custom headers
Οι προσαρμοσμένες κεφαλίδες είναι προαιρετικές. Χρησιμοποιήστε τις όταν ο παραλήπτης απαιτεί κλειδί API, bearer token, αναγνωριστικό tenant ή άλλη σταθερή κεφαλίδα.
Κάντε κλικ στο «Add header» και εισαγάγετε το Header name και το Header value. Κατάλληλα παραδείγματα περιλαμβάνουν:
Authorization: Bearer your-token
X-Integration-Key: your-secret-key
Μπορείτε να προσθέσετε έως 20 προσαρμοσμένες κεφαλίδες.
Ονόματα κεφαλίδων:
- Είναι υποχρεωτικά.
- Μπορούν να περιέχουν έως 128 χαρακτήρες.
- Πρέπει να χρησιμοποιούν έγκυρους χαρακτήρες ονόματος κεφαλίδας HTTP.
- Πρέπει να είναι μοναδικά ανεξάρτητα από τη χρήση κεφαλαίων ή πεζών.
Τιμές κεφαλίδων:
- Είναι υποχρεωτικές.
- Μπορούν να περιέχουν έως 2.000 χαρακτήρες.
- Δεν μπορούν να περιέχουν αλλαγές γραμμής.
Τα ακόλουθα ονόματα είναι δεσμευμένα και δεν μπορούν να αντικατασταθούν από προσαρμοσμένη κεφαλίδα:
Content-TypeContent-LengthHostUser-Agent- Οποιοδήποτε όνομα αρχίζει με
X-Maildroppa-
Αυτό αποτρέπει την αντικατάσταση των κεφαλίδων παράδοσης και υπογραφής του Maildroppa από προσαρμοσμένη τιμή.
Πώς αποθηκεύονται τα μυστικά των κεφαλίδων
Το Maildroppa κρυπτογραφεί τις τιμές των προσαρμοσμένων κεφαλίδων πριν τις αποθηκεύσει. Οι αποθηκευμένες τιμές δεν επιστρέφονται στο browser σε αναγνώσιμη μορφή.
Όταν επεξεργάζεστε αργότερα το endpoint, το πεδίο τιμής εμφανίζει «Stored value kept». Αφήστε το κενό όταν το υπάρχον μυστικό πρέπει να παραμείνει αμετάβλητο. Εισαγάγετε νέα τιμή για να το αντικαταστήσετε.
Αν αλλάξετε το όνομα της κεφαλίδας, εισαγάγετε ξανά την τιμή. Το Maildroppa διατηρεί ένα αποθηκευμένο μυστικό μόνο όσο το αρχικό όνομα κεφαλίδας παραμένει αμετάβλητο.
Η αφαίρεση μιας γραμμής κεφαλίδας αφαιρεί αυτήν την κεφαλίδα από τις μελλοντικές παραδόσεις μετά την αποθήκευση του endpoint.
Οι τιμές των προσαρμοσμένων κεφαλίδων αντιμετωπίζονται ως ευαίσθητες στις αποθηκευμένες πληροφορίες αιτημάτων. Καλύπτονται αντί να εμφανίζονται στο Delivery history.
Ορισμός του endpoint ως ενεργού ή ανενεργού
Αφήστε το «Active» επιλεγμένο όταν το endpoint είναι έτοιμο να λαμβάνει συμβάντα αμέσως.
Αποεπιλέξτε το όταν θέλετε να αποθηκεύσετε τη διαμόρφωση χωρίς να ξεκινήσουν παραδόσεις. Μπορείτε να ενεργοποιήσετε το endpoint αργότερα από τη λίστα endpoints.
Ένα ανενεργό endpoint:
- Δεν λαμβάνει νέα συμβάντα.
- Δεν μπορεί να στείλει Test webhook.
- Παραμένει ορατό και επεξεργάσιμο.
- Διατηρεί διαθέσιμο το υπάρχον Delivery history.
Η ενεργοποίηση ενός endpoint δεν συμπληρώνει εκ των υστέρων τα συμβάντα που συνέβησαν όσο ήταν ανενεργό.
Κάντε κλικ στο «Save» όταν το URL, η επιλογή συμβάντων, οι κεφαλίδες και η κατάσταση είναι σωστά.
Κατανόηση της λίστας endpoints
Κάθε γραμμή endpoint εμφανίζει:
- Το URL προορισμού.
- Ένα σήμα Active ή Inactive.
- Τους τύπους συμβάντων στους οποίους είναι εγγεγραμμένο.
- Τον αριθμό προσαρμοσμένων κεφαλίδων.
- Την ώρα τελευταίας ενημέρωσης του endpoint.
Οι διαθέσιμες ενέργειες είναι:
- On/Off — Ενεργοποιεί ή απενεργοποιεί το endpoint.
- Test — Στέλνει ένα άμεσο δοκιμαστικό αίτημα σε ενεργό endpoint.
- Edit — Αλλάζει το URL, τα συμβάντα, τις κεφαλίδες ή την ενεργή κατάσταση.
- Delete — Αφαιρεί οριστικά τη διαμόρφωση του endpoint μετά από επιβεβαίωση.
Επιλέξτε το κύριο μέρος μιας γραμμής για να ανοίξετε το Delivery history αυτού του endpoint κάτω από τη λίστα.
Πώς επηρεάζουν οι αποθηκευμένες αλλαγές τις υπάρχουσες παραδόσεις
Ένα συμβάν λογαριασμού δημιουργεί μια παράδοση με στιγμιότυπο του URL endpoint, του payload και των προσαρμοσμένων κεφαλίδων εκείνη τη στιγμή.
Η επεξεργασία του URL ή των προσαρμοσμένων κεφαλίδων επηρεάζει τις νεοδημιουργούμενες παραδόσεις. Μια παράδοση που έχει ήδη μπει στην ουρά διατηρεί τον αρχικό προορισμό και την αποθηκευμένη διαμόρφωση κεφαλίδων.
Η αλλαγή των επιλεγμένων συμβάντων επηρεάζει επίσης μόνο τα συμβάντα που θα συμβούν στη συνέχεια. Το Maildroppa δεν δημιουργεί αναδρομικά παραδόσεις για τύπους συμβάντων που δεν είχαν επιλεγεί όταν συνέβη το συμβάν.
Το Signing secret διαφέρει: διαβάζεται όταν προετοιμάζεται το αίτημα HTTP. Επομένως, μια εκκρεμής παράδοση ή επανάληψη μπορεί να χρησιμοποιήσει ένα νέο Signing secret που έχει αλλάξει, ακόμη κι όταν το payload και το στιγμιότυπο endpoint δημιουργήθηκαν νωρίτερα.
Δοκιμή endpoint
Κάντε κλικ στο «Test» σε ένα ενεργό endpoint αφού ο παραλήπτης και το Signing secret είναι έτοιμα.
Το Maildroppa στέλνει αμέσως ένα υπογεγραμμένο αίτημα χρησιμοποιώντας το αποθηκευμένο URL endpoint και τις αποθηκευμένες προσαρμοσμένες κεφαλίδες. Οι μη αποθηκευμένες αλλαγές σε έναν ανοιχτό επεξεργαστή δεν περιλαμβάνονται στη δοκιμή.
Το payload δοκιμής χρησιμοποιεί τον τύπο συμβάντος webhook.test και ορίζει το livemode σε false:
{
"id": "evt_test_example",
"type": "webhook.test",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": false,
"data": {
"message": "This is a test webhook from Maildroppa."
}
}
Τα IDs και η χρονική σήμανση που δημιουργούνται διαφέρουν σε κάθε πραγματική δοκιμή.
Μια δοκιμή πραγματοποιεί ακριβώς μία προσπάθεια HTTP. Οι δοκιμαστικές παραδόσεις δεν τοποθετούνται στο πρόγραμμα επαναλήψεων παραγωγής και δεν μπορούν να επαναληφθούν.
Μετά την ολοκλήρωση του αιτήματος, το πλαίσιο αποτελέσματος εμφανίζει:
- Test success ή Test failed
- Event ID
- Κατάσταση HTTP, όταν λήφθηκε απόκριση
- Διάρκεια
- Delivery ID
- Πληροφορίες σφάλματος, όταν είναι διαθέσιμες
- Απόσπασμα απόκρισης, όταν ο παραλήπτης επέστρεψε σώμα
Η δοκιμή εμφανίζεται επίσης στο Delivery history με σήμα Test. Χρησιμοποιήστε το φίλτρο «Test» για να εμφανίσετε μόνο δοκιμαστικά αιτήματα.
Κατανόηση του payload παραγωγής
Τα συμβάντα λογαριασμού παραγωγής χρησιμοποιούν ένα κοινό περίβλημα JSON:
{
"id": "evt_example",
"type": "subscriber.created",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {}
}
Οι ιδιότητες ανώτατου επιπέδου σημαίνουν:
id— Το Event ID. Ταιριάζει με τοX-Maildroppa-Event-Id.type— Το κλειδί συμβάντος που επιλέχθηκε στον επεξεργαστή endpoint.schema_version— Η έκδοση του σχήματος payload. Χρησιμοποιήστε την όταν αποφασίζετε πώς θα αναλύσετε το συμβάν.created_at— Η ώρα δημιουργίας του payload συμβάντος, σε UTC.livemode—trueγια συμβάντα παραγωγής καιfalseγια δοκιμαστικά συμβάντα.data— Το περιεχόμενο που αφορά το συγκεκριμένο συμβάν.
Δρομολογήστε τα συμβάντα με βάση την ακριβή τιμή type. Αγνοήστε πρόσθετες ιδιότητες που δεν χρειάζεται η ενσωμάτωσή σας, ώστε οι συμβατές προσθήκες στο payload να μην προκαλούν βλάβη στον παραλήπτη.
Payload συμβάντος συνδρομητή
Τα συμβάντα συνδρομητή περιέχουν την τρέχουσα αναπαράσταση του συνδρομητή μέσα στο data.subscriber:
{
"id": "evt_example",
"type": "subscriber.updated",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {
"subscriber": {
"id": "7f49d0e9-77d6-4c24-8b90-12c9d53d82cc",
"email": "alex@example.com",
"first_name": "Alex",
"status": "active",
"registered_at": "2026-07-15T08:15:00Z",
"fields": [
{
"id": "b6594e58-0c4b-4138-9ad8-fc4747e076eb",
"personalization_tag_name": "company",
"value": "Example Ltd."
}
],
"tags": [
{
"id": "c69af5de-39d3-42a4-8f55-ddf86d10a51c",
"name": "Customers"
}
]
}
}
}
Τα fields και tags είναι πίνακες. Μπορούν να είναι κενοί. Μια ιδιότητα συνδρομητή μπορεί επίσης να είναι null όταν δεν υπάρχει τιμή, επομένως ο παραλήπτης σας πρέπει να ακολουθεί το σχήμα payload αντί να θεωρεί ότι κάθε προαιρετική τιμή προφίλ υπάρχει.
Payload συμβάντος ετικέτας
Τα συμβάντα ετικέτας περιέχουν τόσο τον συνδρομητή όσο και την ετικέτα που προκάλεσε το συμβάν:
{
"id": "evt_example",
"type": "subscriber.tag_added",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {
"subscriber": {
"id": "7f49d0e9-77d6-4c24-8b90-12c9d53d82cc",
"email": "alex@example.com",
"first_name": "Alex",
"status": "active",
"registered_at": "2026-07-15T08:15:00Z",
"fields": [],
"tags": []
},
"tag": {
"id": "c69af5de-39d3-42a4-8f55-ddf86d10a51c",
"name": "Customers"
}
}
}
Για το subscriber.tag_removed, το data.tag εξακολουθεί να προσδιορίζει την αφαιρεθείσα ετικέτα, παρότι ο τρέχων πίνακας tags του συνδρομητή δεν την περιέχει πλέον.
Event IDs, Delivery IDs και idempotency
Το Event ID και το Delivery ID εξυπηρετούν διαφορετικούς σκοπούς.
Event ID
Το Event ID προσδιορίζει το επιχειρηματικό συμβάν. Εμφανίζεται στα εξής:
- Στην ιδιότητα ανώτατου επιπέδου
idτου payload. - Στην κεφαλίδα αιτήματος
X-Maildroppa-Event-Id. - Στο Delivery history.
Το ίδιο συμβάν μπορεί να σταλεί σε πολλά εγγεγραμμένα endpoints. Αυτές οι παραδόσεις μοιράζονται το Event ID.
Οι επαναλήψεις και οι χειροκίνητες αναπαραγωγές διατηρούν επίσης το αρχικό Event ID. Αποθηκεύστε τα επεξεργασμένα Event IDs και κάντε την επιχειρηματική ενέργεια idempotent, ώστε ένα επαναλαμβανόμενο αίτημα να μην δημιουργεί διπλές επαφές, να μην επαναλαμβάνει μη αναστρέψιμη ενέργεια ή να μην εφαρμόζει την ίδια αλλαγή δύο φορές.
Delivery ID
Το Delivery ID προσδιορίζει μία εγγραφή παράδοσης. Εμφανίζεται στα εξής:
- Στην κεφαλίδα αιτήματος
X-Maildroppa-Delivery-Id. - Στο Delivery history.
Κάθε παράδοση endpoint έχει το δικό της Delivery ID. Μια χειροκίνητη επανάληψη δημιουργεί νέο Delivery ID διατηρώντας το αρχικό Event ID.
Χρησιμοποιήστε το Delivery ID για τεχνική παρακολούθηση και υποστήριξη. Χρησιμοποιήστε το Event ID για αποδιπλοποίηση σε επιχειρηματικό επίπεδο.
Επιστροφή της σωστής απόκρισης HTTP
Το Maildroppa ταξινομεί τις αποκρίσεις ως εξής:
- Οποιαδήποτε απόκριση
2xxσηματοδοτεί επιτυχία της παράδοσης. - Οι αποκρίσεις
408 Request Timeout,429 Too Many Requestsκαι5xxείναι προσωρινές αποτυχίες και μπορούν να επαναληφθούν. - Οι αποτυχίες δικτύου που μπορεί να είναι προσωρινές επαναλαμβάνονται.
- Οι ανακατευθύνσεις και άλλες αποκρίσεις
3xxδεν ακολουθούνται και αντιμετωπίζονται ως οριστικές αποτυχίες. - Άλλες αποκρίσεις
4xxαντιμετωπίζονται ως οριστικές αποτυχίες και δεν επαναλαμβάνονται.
Επιστρέψτε 200, 202 ή 204 μόνο όταν το συμβάν έχει γίνει με ασφάλεια αποδεκτό. Αν η επεξεργασία απαιτεί χρόνο, αποθηκεύστε πρώτα το συμβάν και επιστρέψτε επιτυχή απόκριση πριν εκτελέσετε την πιο αργή εργασία ασύγχρονα.
Μην επιστρέφετε ανακατεύθυνση σε άλλο URL webhook. Διαμορφώστε το τελικό URL στο Maildroppa.
Αυτόματο πρόγραμμα επαναλήψεων
Οι παραδόσεις παραγωγής μπορούν να πραγματοποιήσουν έως επτά προσπάθειες HTTP.
Μετά από αποτυχία που επιδέχεται επανάληψη, το Maildroppa προγραμματίζει την επόμενη προσπάθεια με τις εξής καθυστερήσεις:
- Μετά την προσπάθεια 1: 1 λεπτό
- Μετά την προσπάθεια 2: 5 λεπτά
- Μετά την προσπάθεια 3: 30 λεπτά
- Μετά την προσπάθεια 4: 2 ώρες
- Μετά την προσπάθεια 5: 12 ώρες
- Μετά την προσπάθεια 6: 24 ώρες
Αν η προσπάθεια 7 εξακολουθεί να λαμβάνει αποτυχία που επιδέχεται επανάληψη, η παράδοση γίνεται Dead και δεν προγραμματίζεται άλλη αυτόματη προσπάθεια.
Το πρόγραμμα μετράται από τις επιμέρους αποτυχημένες προσπάθειες. Ο πραγματικός χρόνος παράδοσης μπορεί να είναι ελαφρώς μεταγενέστερος, επειδή οι παραδόσεις επεξεργάζονται ασύγχρονα και υπόκεινται επίσης σε όρια προστασίας συστήματος.
Διορθώστε το προσωρινό πρόβλημα του παραλήπτη πριν από την εμφανιζόμενη ώρα «Next retry», όπου είναι δυνατό. Αν οι αυτόματες προσπάθειες έχουν ολοκληρωθεί, χρησιμοποιήστε Replay αφού ο παραλήπτης λειτουργεί ξανά σωστά.
Κατανόηση του Delivery history
Το Delivery history ανήκει στο τρέχον επιλεγμένο endpoint. Το URL endpoint εμφανίζεται στην κεφαλίδα της ενότητας, ώστε να επιβεβαιώνετε ποιο ιστορικό βλέπετε.
Χρησιμοποιήστε τα εξής φίλτρα:
- All — Εμφανίζει παραδόσεις παραγωγής και δοκιμών.
- Production — Εμφανίζει μόνο παραδόσεις ζωντανών συμβάντων.
- Test — Εμφανίζει μόνο χειροκίνητες δοκιμές.
Κάντε κλικ στο «Refresh» για να ανακτήσετε την πιο πρόσφατη κατάσταση. Δεν χρειάζεται να αφήσετε το ιστορικό ανοιχτό όσο το Maildroppa στέλνει ή επαναλαμβάνει μια παράδοση.
Η σελίδα εμφανίζει τις τελευταίες 50 παραδόσεις που αντιστοιχούν στο επιλεγμένο φίλτρο.
Στήλες παραδόσεων
Κάθε γραμμή περιέχει:
- Created — Πότε δημιουργήθηκε η εγγραφή παράδοσης.
- State — Pending, Success, Failed ή Dead.
- HTTP — Κατάσταση απόκρισης, αριθμός προσπαθειών, διάρκεια και ώρα επόμενης επανάληψης, όπου ισχύει.
- Subscriber — Το email του συνδρομητή όταν το συμβάν συνδέεται με συνδρομητή.
- Delivery — Τύπος συμβάντος, Event ID και Delivery ID.
- Actions — Replay όταν η παράδοση είναι επιλέξιμη.
Αν δεν πραγματοποιήθηκε αίτημα HTTP, η στήλη HTTP εμφανίζει «No HTTP attempt». Αυτό μπορεί να συμβεί όταν το Maildroppa απορρίψει το αίτημα πριν από την αποστολή, για παράδειγμα επειδή λείπει το Signing secret ή ο αποθηκευμένος προορισμός δεν μπορεί πλέον να χρησιμοποιηθεί με ασφάλεια.
Όταν είναι διαθέσιμα, η γραμμή εμφανίζει επίσης ένα Error και ένα Response excerpt που επέστρεψε ο παραλήπτης. Μην επιστρέφετε μυστικά ή ευαίσθητα προσωπικά δεδομένα στο σώμα απόκρισης webhook, επειδή μέρος αυτής της απόκρισης μπορεί να εμφανιστεί στο αρχείο καταγραφής παραδόσεων του λογαριασμού.
Καταστάσεις παράδοσης
Pending σημαίνει ότι η παράδοση περιμένει την πρώτη προσπάθεια ή μια προγραμματισμένη επανάληψη. Η ένδειξη «Next retry» εμφανίζεται όταν έχει προγραμματιστεί άλλη προσπάθεια.
Success σημαίνει ότι ο παραλήπτης επέστρεψε απόκριση 2xx. Δεν απαιτείται άλλη αυτόματη προσπάθεια.
Failed σημαίνει ότι η παράδοση ολοκληρώθηκε με μη επαναλήψιμο πρόβλημα, απορρίφθηκε πριν από προσπάθεια HTTP ή σταμάτησε πριν σταλεί.
Dead σημαίνει ότι χρησιμοποιήθηκαν όλες οι αυτόματες προσπάθειες για πρόβλημα που επιδέχεται επανάληψη χωρίς να ληφθεί επιτυχής απόκριση.
Διατήρηση ιστορικού
Οι εγγραφές παραδόσεων διατηρούνται για περιορισμένο χρονικό διάστημα:
- Επιτυχείς παραδόσεις παραγωγής: 30 ημέρες
- Αποτυχημένες παραδόσεις παραγωγής: 90 ημέρες
- Dead παραδόσεις παραγωγής: 90 ημέρες
- Δοκιμαστικές παραδόσεις: 30 ημέρες
Διατηρήστε τα δικά σας αρχεία καταγραφής ενσωμάτωσης όταν χρειάζεστε μεγαλύτερο ιστορικό ελέγχου. Αποθηκεύστε Event IDs και Delivery IDs, αλλά αποφύγετε την περιττή αποθήκευση μυστικών.
Επανάληψη παράδοσης
Κάντε κλικ στο «Replay» όταν μια ολοκληρωμένη παράδοση παραγωγής πρέπει να επιχειρηθεί ξανά.
Το Replay είναι διαθέσιμο για παραδόσεις παραγωγής σε κατάσταση Success, Failed ή Dead. Δεν είναι διαθέσιμο όσο μια παράδοση είναι Pending και οι δοκιμαστικές παραδόσεις δεν μπορούν να επαναληφθούν.
Μια επανάληψη:
- Δημιουργεί νέα παράδοση Pending.
- Δημιουργεί νέο Delivery ID.
- Διατηρεί το αρχικό Event ID.
- Διατηρεί τον αρχικό τύπο συμβάντος και το payload JSON.
- Χρησιμοποιεί το αρχικό αποθηκευμένο URL-στόχο και το στιγμιότυπο προσαρμοσμένων κεφαλίδων.
- Χρησιμοποιεί το τρέχον Signing secret όταν προετοιμάζεται το νέο αίτημα.
Το Replay δεν αναδημιουργεί το payload από τα τρέχοντα δεδομένα του συνδρομητή. Επαναστέλνει το αρχικό στιγμιότυπο συμβάντος. Αυτό καθιστά την επανάληψη ελέγξιμη και αποτρέπει τη σιωπηλή αλλαγή του νοήματος ενός ιστορικού συμβάντος.
Μόνο μία επανάληψη της ίδιας παράδοσης-πηγής μπορεί να είναι Pending κάθε φορά. Περιμένετε να ολοκληρωθεί η επανάληψη πριν ζητήσετε άλλη.
Βεβαιωθείτε ότι το endpoint είναι Active πριν από την επανάληψη. Αν το endpoint είναι ανενεργό, η επανάληψη που βρίσκεται στην ουρά δεν μπορεί να παραδοθεί με επιτυχία.
Επειδή ένας παραλήπτης μπορεί να έχει ολοκληρώσει την επιχειρηματική ενέργεια ακόμη κι αν το Maildroppa δεν έλαβε την επιτυχή απόκρισή του, η επανάληψη μπορεί να δημιουργήσει διπλό αίτημα. Η αποδιπλοποίηση με Event ID προστατεύει το συνδεδεμένο σύστημα από την επανάληψη της ενέργειας.
Επεξεργασία endpoint
Κάντε κλικ στο «Edit» για να αλλάξετε το URL, την επιλογή συμβάντων, τις προσαρμοσμένες κεφαλίδες ή την ενεργή κατάσταση.
Πριν από την αποθήκευση:
- Επιβεβαιώστε ότι το νέο URL είναι ήδη διαθέσιμο.
- Αφήστε κενές τις αποθηκευμένες τιμές κεφαλίδων όταν πρέπει να παραμείνουν αμετάβλητες.
- Εισαγάγετε νέα τιμή για κάθε μετονομασμένη κεφαλίδα.
- Ελέγξτε την επιλογή συμβάντων ώστε να μην αφαιρεθούν κατά λάθος απαιτούμενες ειδοποιήσεις.
- Αποθηκεύστε και στείλτε νέο Test webhook.
Να θυμάστε ότι οι παραδόσεις που βρίσκονται στην ουρά διατηρούν το υπάρχον URL και το υπάρχον στιγμιότυπο προσαρμοσμένων κεφαλίδων. Δοκιμάστε τη νέα διαμόρφωση για μελλοντικές παραδόσεις αντί να υποθέσετε ότι αλλάζει ένα παλαιότερο αίτημα που βρίσκεται στην ουρά.
Απενεργοποίηση endpoint
Χρησιμοποιήστε τον διακόπτη On/Off όταν θέλετε να θέσετε σε παύση μια ενσωμάτωση χωρίς να διαγράψετε τη διαμόρφωση και το ιστορικό της.
Όταν ένα endpoint απενεργοποιείται:
- Τα νέα συμβάντα δεν μπαίνουν πλέον στην ουρά για αυτό.
- Οι εκκρεμείς παραδόσεις που δεν έχουν ήδη δεσμευτεί για αποστολή σημειώνονται ως Failed.
- Το Test απενεργοποιείται.
- Το endpoint παραμένει διαθέσιμο για επεξεργασία και μελλοντική ενεργοποίηση.
Ένα αίτημα που βρίσκεται ήδη σε εξέλιξη τη στιγμή της απενεργοποίησης μπορεί να ολοκληρωθεί. Ελέγξτε το Delivery history μετά την απενεργοποίηση αν αυτή η διάκριση είναι σημαντική για την ενσωμάτωσή σας.
Τα συμβάντα που χάθηκαν όσο το endpoint ήταν ανενεργό δεν συμπληρώνονται εκ των υστέρων όταν το ενεργοποιήσετε ξανά.
Διαγραφή endpoint
Κάντε κλικ στο «Delete» και επιβεβαιώστε την προειδοποίηση όταν το endpoint δεν πρέπει πλέον να υπάρχει.
Η διαγραφή αφαιρεί το endpoint από τη σελίδα, σταματά τις μελλοντικές παραδόσεις συμβάντων και αποτυγχάνει τις εκκρεμείς παραδόσεις που δεν είχαν ήδη δεσμευτεί για αποστολή.
Το Delete δεν είναι τρόπος προσωρινής παύσης. Χρησιμοποιήστε τον διακόπτη On/Off όταν μπορεί να χρειαστείτε ξανά τη διαμόρφωση ή το ορατό ιστορικό της.
Πριν από τη διαγραφή, καταγράψτε τυχόν Event IDs ή Delivery IDs που εξακολουθείτε να χρειάζεστε για τον έλεγχο της ενσωμάτωσής σας.
Αντιμετώπιση προβλημάτων
Δεν είναι δυνατή η αποθήκευση του endpoint
Ελέγξτε ότι:
- Το URL αρχίζει με
https://. - Το URL χρησιμοποιεί δημόσιο hostname και θύρα 443.
- Το URL δεν περιέχει μεταβλητές, στοιχεία σύνδεσης ή τμήμα.
- Έχει επιλεγεί τουλάχιστον ένα συμβάν.
- Κάθε Custom header έχει μοναδικό όνομα και τιμή.
- Δεν χρησιμοποιούνται δεσμευμένες κεφαλίδες Maildroppa και HTTP ως προσαρμοσμένα ονόματα.
Το Test είναι απενεργοποιημένο
Το Test είναι διαθέσιμο μόνο για Active endpoint. Ενεργοποιήστε το endpoint ή επεξεργαστείτε το και επιλέξτε «Active», στη συνέχεια αποθηκεύστε πριν από τη δοκιμή.
Το Test δεν εμφανίζει προσπάθεια HTTP
Δημιουργήστε Signing secret αν η κατάσταση είναι Missing. Ελέγξτε επίσης αν το hostname προορισμού είναι δημόσιο και εξακολουθεί να επιλύεται σωστά.
Ένα αίτημα μπορεί να απορριφθεί πριν από την αποστολή όταν το μυστικό, το URL, οι προσαρμοσμένες κεφαλίδες ή ο έλεγχος ασφάλειας προορισμού δεν είναι έγκυρα.
Ο παραλήπτης επιστρέφει 401 ή 403
Ελέγξτε το αποθηκευμένο όνομα Custom header και τα διαπιστευτήρια. Επεξεργαστείτε το endpoint και εισαγάγετε ξανά την τιμή αν έχει αλλάξει.
Επαληθεύστε επίσης ότι ο παραλήπτης δεν συγχέει τα δικά του διαπιστευτήρια API με την υπογραφή Maildroppa. Μια προσαρμοσμένη κεφαλίδα εξουσιοδότησης και το X-Maildroppa-Signature εξυπηρετούν διαφορετικούς σκοπούς και μπορούν να ελέγχονται ανεξάρτητα.
Ο παραλήπτης επιστρέφει ανακατεύθυνση
Το Maildroppa δεν ακολουθεί ανακατευθύνσεις. Αντικαταστήστε το URL endpoint με το τελικό δημόσιο URL HTTPS και δοκιμάστε ξανά.
Η υπογραφή δεν ταιριάζει
Επιβεβαιώστε ότι ο παραλήπτης:
- Χρησιμοποιεί το τρέχον Signing secret.
- Χρησιμοποιεί την ακριβή τιμή του
X-Maildroppa-Timestamp. - Υπογράφει το
<timestamp>.<raw request body>. - Χρησιμοποιεί HMAC-SHA256 και έξοδο σε δεκαεξαδική μορφή με πεζά γράμματα.
- Συγκρίνει ολόκληρη την τιμή, συμπεριλαμβανομένου του
v1=. - Εκτελεί τη σύγκριση πριν από την αλλαγή του σώματος λόγω ανάλυσης JSON.
Το ίδιο συμβάν φτάνει περισσότερες από μία φορές
Αυτό μπορεί να συμβεί μετά από διακοπή δικτύου, επανάληψη ή χειροκίνητη αναπαραγωγή. Είναι φυσιολογικό τα συστήματα παράδοσης webhook να παρέχουν παράδοση τουλάχιστον μία φορά αντί για ακριβώς μία φορά.
Χρησιμοποιήστε το Event ID ως κλειδί idempotency. Επιστρέψτε απόκριση 2xx όταν λαμβάνεται ξανά ένα Event ID που έχει ήδη υποβληθεί σε επεξεργασία και δεν απαιτείται πρόσθετη ενέργεια.
Μια παράδοση είναι Pending
Ελέγξτε το «Next retry» στη στήλη HTTP. Μια επαναλήψιμη αποτυχία 408, 429, 5xx ή προσωρινή αποτυχία δικτύου παραμένει Pending μέχρι την επόμενη προγραμματισμένη προσπάθεια.
Κάντε κλικ στο «Refresh» μετά την ώρα επανάληψης για να φορτώσετε την πιο πρόσφατη κατάσταση.
Μια παράδοση είναι Dead
Χρησιμοποιήθηκαν όλες οι αυτόματες προσπάθειες. Διορθώστε πρώτα τον παραλήπτη, βεβαιωθείτε ότι το endpoint είναι Active, στείλτε ένα Test webhook και στη συνέχεια χρησιμοποιήστε Replay στην παράδοση παραγωγής.
Συνιστώμενη λίστα ελέγχου παραγωγής
Πριν βασιστείτε σε ένα endpoint στην παραγωγή, επιβεβαιώστε όλα τα παρακάτω:
- Ο παραλήπτης χρησιμοποιεί σταθερό δημόσιο URL HTTPS με έγκυρο πιστοποιητικό.
- Το Signing secret αποθηκεύεται εκτός του πηγαίου κώδικα.
- Η υπογραφή ελέγχεται με βάση το μη τροποποιημένο ακατέργαστο σώμα.
- Οι παλιές χρονικές σημάνσεις απορρίπτονται σύμφωνα με τεκμηριωμένο όριο ανοχής.
- Ο παραλήπτης αποθηκεύει και αποδιπλοποιεί τα Event IDs.
- Ο παραλήπτης καταγράφει Event IDs και Delivery IDs για παρακολούθηση.
- Η αργή επεξεργασία πραγματοποιείται αφού το συμβάν γίνει με ασφάλεια αποδεκτό.
- Επιστρέφεται απόκριση
2xxμόνο για αποδεκτά συμβάντα. - Τα προσαρμοσμένα διαπιστευτήρια αποθηκεύονται σε κεφαλίδες και όχι στο URL.
- Επιλέγονται μόνο οι απαιτούμενοι τύποι συμβάντων.
- Ένα Test webhook ολοκληρώνεται με επιτυχία και εμφανίζεται σωστά στο Delivery history.
- Η παρακολούθηση σας ειδοποιεί όταν οι παραδόσεις παραγωγής αρχίζουν να επιστρέφουν σφάλματα.
Με αυτές τις δικλίδες ασφαλείας, η σελίδα Webhooks παρέχει και τις δύο πλευρές μιας αξιόπιστης ενσωμάτωσης: ασφαλή παράδοση συμβάντων στην εφαρμογή σας και σαφές λειτουργικό ιστορικό μέσα στο Maildroppa.
Ready to Send Better Emails?
Stop juggling bloated tools or overpriced plans. Maildroppa offers personal support, GDPR-level privacy, and powerful email marketing - starting free forever.
No credit card required. No time limit.