Επιστροφή στα νέα

Αξιόπιστα outbound webhooks: σαφής κατάσταση παράδοσης για κάθε διασύνδεση

Pavel NOVOTNÝ
Blog
Αξιόπιστα outbound webhooks: σαφής κατάσταση παράδοσης για κάθε διασύνδεση

Η ενσωμάτωση αποθήκης, ERP ή πύλης μεταφοράς δεν προορίζεται για έλεγχο κάθε λίγα δευτερόλεπτα για να διαπιστωθεί εάν κάτι έχει αλλάξει στον έλεγχο χρονοθυρίδας. Τα εξερχόμενα webhook προωθούν ένα συμβάν καθώς συμβαίνει, διατηρώντας παράλληλα ένα σαφές αποτέλεσμα κάθε προσπάθειας παράδοσης.

Από την εκδήλωση στην παράδοση χωρίς ψηφοφορία

Όταν αλλάζει μια κράτηση ή παραγγελία, το TSC δημιουργεί ένα συμβάν και επιλέγει τις ενεργές συνδρομές webhook που παρακολουθούν αυτόν τον τύπο. Κάθε συνδρομή λαμβάνει ένα JSON με έκδοση μέσω HTTP POST στη διεύθυνση προορισμού της.

  1. Το TSC εντοπίζει την αλλαγή και δημιουργεί ένα μοναδικό συμβάν.
  2. Οι ενεργές συνδρομές συγκρίνονται με τον τύπο του.
  3. Θα δημιουργηθεί ξεχωριστή παράδοση για κάθε αντίστοιχη παραγγελία.
  4. Η απόκριση του συστήματος προορισμού καθορίζει την κατάσταση που προκύπτει ή την επόμενη προσπάθεια.

Η επεξεργασία βασίζεται σε συμβάντα και πραγματοποιείται ασύγχρονα. Το συνδεδεμένο σύστημα δεν χρειάζεται να επιβαρύνει το API με συχνά ερωτήματα δημοσκόπησης και μπορεί να απαντήσει λίγο μετά την πραγματική αλλαγή.

Ροή παράδοσης outbound webhook από συμβάν TSC μέσω υπογεγραμμένου HTTP POST έως Delivered, Failed ή DeadLetter και χειροκίνητο Resend

Το αρχείο καταγραφής παράδοσης αντικαθιστά τις εικασίες

Ο διαχειριστής μπορεί να δει την παράδοση σε ένα σημείο και μπορεί να τις φιλτράρει τόσο κατά συνδρομή webhook όσο και κατά κατάσταση. Για κάθε εγγραφή, υπάρχει ένας τύπος συμβάντος, ο αριθμός των προσπαθειών, η τελευταία κατάσταση HTTP, ο χρόνος τελευταίας προσπάθειας και σύντομες πληροφορίες σφάλματος.

ΚατάστασηΤι σημαίνει
PendingΗ παράδοση περιμένει στην ουρά για την πρώτη ή την επόμενη προσπάθεια.
DeliveredΤο σύστημα προορισμού επέστρεψε μια επιτυχημένη απόκριση HTTP.
FailedΗ τελευταία προσπάθεια κατέληξε σε προσωρινό σφάλμα και θα επαναληφθεί.
DeadLetterΟι αυτόματες προσπάθειες έχουν λήξει ή η απάντηση δεν πρέπει να επαναλαμβάνεται αυτόματα.

Τι συμβαίνει όταν το σύστημα προορισμού δεν είναι διαθέσιμο

Τα σφάλματα δικτύου, οι αποκρίσεις HTTP 429 και τα σφάλματα διακομιστή 5xx επαναλαμβάνονται με αυξανόμενα διαστήματα, σε πέντε προσπάθειες το πολύ. Τα κοινά σφάλματα πελάτη 4xx εκτός από το 429 θα πάνε κατευθείαν στην κατάσταση DeadLetter, επειδή η επόμενη αυτόματη προσπάθεια συνήθως θα κατέληγε η ίδια.

Μετά την επισκευή του συστήματος λήψης, ο εξουσιοδοτημένος χρήστης μπορεί να χρησιμοποιήσει την Resend. Το TSC επαναφέρει τον αριθμό των προσπαθειών, αφαιρεί το τελευταίο σφάλμα και επιστρέφει την παράδοση στην ουρά. Επομένως, δεν χρειάζεται να ανακαλέσετε το αρχικό επιχειρηματικό συμβάν.

Συμβάντα που αντιστοιχούν στην πραγματική επισκεψιμότητα

Ο κατάλογος δεν τελειώνει με τη γενική δημιουργία, τροποποίηση και διαγραφή. Μια ενσωμάτωση μπορεί επίσης να αφαιρέσει συγκεκριμένα σημεία στον κύκλο ζωής της κράτησης και της παραγγελίας, όπως reservation.pendingΚράτηση, Α ή order.confirmedΑreservation.markedasarrivalreservation.processingstartedreservation.vehicle.platechangedreservation.approval.approvedreservation.markedasdeparted.

Η συνδρομή επιλέγει μόνο τα συμβάντα που χρειάζεται. Το σύστημα-στόχος δεν χρειάζεται να αντλήσει αναδρομικά από τη γενική αλλαγή τι πραγματικά συνέβη στην επιχείρηση.

Υπογεγραμμένα μηνύματα και ασφαλής επεξεργασία

Η διεύθυνση webhook χρησιμοποιεί HTTPS. Το TSC στέλνει ένα περιτύλιγμα JSON με schemaVersionπεδίαeventtenantIdoccurredAteventId και data. Το σώμα της αίτησης υπογράφεται με HMAC-SHA256 και ο παραλήπτης λαμβάνει μια υπογραφή στην X-TSC-Signature κεφαλίδα μαζί με μια χρονική σήμανση.X-TSC-Timestamp

Το σύστημα λήψης θα πρέπει να επικυρώσει την υπογραφή και τη χρονική σήμανση, να τα επεξεργαστεί eventId ανεπαρκώς και να επιστρέψει μια επιτυχημένη κατάσταση 2xx μόνο αφού λάβει με ασφάλεια το μήνυμα. Το μυστικό μπορεί να περιστραφεί όταν αλλάξει η ασφάλεια.

Τι προσφέρει στις λειτουργίες ολοκλήρωσης

  • Λιγότερα ερωτήματα δημοσκοπήσεων και λιγότερη επιβάρυνση και στις δύο πλευρές της ενσωμάτωσης.
  • αναγνώσιμη κατάσταση κάθε παράδοσης χωρίς αναζήτηση σε διάφορα εργαλεία καταγραφής,
  • Αυτόματη ανάκτηση από προσωρινά σφάλματα
  • Ελεγχόμενη χειροκίνητη επανάληψη μετά την επισκευή του συστήματος προορισμού.
  • επαληθεύσιμη προέλευση και ακεραιότητα κάθε μηνύματος.

Το αποτέλεσμα δεν είναι μόνο ταχύτερη μετάδοση γεγονότων, αλλά και λειτουργικά προβλέψιμη ολοκλήρωση: η ομάδα μπορεί να δει τι έχει παραδοθεί, τι περιμένει την επόμενη προσπάθεια και τι απαιτεί παρέμβαση.

Θέλετε να συνδέσετε το TSC σε ένα ERP, WMS ή τη δική σας πλατφόρμα ενσωμάτωσης; Περιηγηθείτε στις επιλογές ενσωμάτωσης ή περιγράψτε μας το σενάριό σας.