el
Πόροι

Τεκμηρίωση API

Ο ιστότοπος πελάτη, το back office και όλες οι μονάδες πλατφόρμας λειτουργούν με αρχεία βάσης δεδομένων μέσω του API και όχι απευθείας. Το API ελέγχει την πρόσβαση, την ακεραιότητα και την ορθότητα των εισερχόμενων δεδομένων.

γενική περιγραφή

Πώς λειτουργεί το API;

API - ο βασικός κόμβος της πλατφόρμας

Αυτή η τεκμηρίωση περιγράφει όλες τις μεθόδους API για τις ακόλουθες ενέργειες:

  • λήψη λιστών αντικειμένων (μέθοδος λίστας)
  • φιλτράρισμα λίστας (μέθοδος λίστας με δεδομένα φίλτρου)
  • λήψη λεπτομερών πληροφοριών για ένα αντικείμενο (μέθοδος εμφάνισης)
  • λήψη δεδομένων για τη φόρμα προσθήκης αντικειμένου (μέθοδος προσθήκης)
  • αποθήκευση δεδομένων ως νέο αντικείμενο (μέθοδος αποθήκευσης)
  • λήψη δεδομένων για τη φόρμα ενημέρωσης αντικειμένου (μέθοδος επεξεργασίας)
  • αποθήκευση των δεδομένων του ενημερωμένου αντικειμένου (μέθοδος ενημέρωσης)

Έλεγχος με διεύθυνση IP

Το API δέχεται αιτήματα μόνο από μια περιορισμένη λίστα διευθύνσεων IP (για παράδειγμα, από ιστότοπο λογαριασμού πελάτη ή ιστότοπο back office).

Οποιοδήποτε αίτημα προς το API από μια διεύθυνση IP που δεν βρίσκεται στην επιτρεπόμενη λίστα θα απορριφθεί.

Αυτό γίνεται για να αποτραπούν επιθέσεις DDoS στο API, προσπάθειες παραποίησης αιτημάτων και πειράματα χάκερ.

Οι χρήστες έχουν πάντα πρόσβαση στον δημόσιο ιστότοπο της πλατφόρμας (γραφείο πελατών ή back office) και αυτός ο ίδιος ο ιστότοπος ζητά τα απαραίτητα δεδομένα από το API της πλατφόρμας. Δεδομένου ότι η διεύθυνση IP του ιστότοπου είναι σταθερή, θα είναι στη λίστα επιτρεπόμενων.

URL και μέθοδος

Όλα τα αιτήματα API γίνονται χρησιμοποιώντας τις ακόλουθες μεθόδους HTTP:

  • GET για λίστα, εμφάνιση, προσθήκη και επεξεργασία
  • POST για κατάστημα
  • PUT για ενημέρωση
  • DELETE για διαγραφή

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

Η μέθοδος αιτήματος HTTP καθορίζεται μπροστά από κάθε διεύθυνση URL.

Αποστολή αιτήματος

Κάθε αίτημα API πρέπει πάντα να περιέχει 4 μεταβλητές:

  1. data (συμβολοσειρά json με πίνακα δεδομένων για API)
  2. user (συμβολοσειρά json με μια σειρά δεδομένων για τον τρέχοντα χρήστη)
  3. time (τρέχουσα ώρα στη ζώνη ώρας UTC)
  4. hash (ψηφιακή υπογραφή με τη μορφή κατακερματισμού για να επαληθευτεί ότι το αίτημα στο API προέρχεται σίγουρα από εξουσιοδοτημένη πηγή)

Λήψη απάντησης από το API

Εάν το αίτημα είναι επιτυχές, το API επιστρέφει πάντα δύο μεταβλητές:

  1. status = true (κατάσταση επιτυχίας)
  2. data (συμβολοσειρά json με πίνακα δεδομένων από το API)

Εάν το αίτημα αποτύχει, το API εμφανίζει τις μεταβλητές:

  1. status = false (κατάσταση σφάλματος)
  2. error (συμβολοσειρά κειμένου που περιγράφει το σφάλμα)

Ψηφιακή υπογραφή

Κάθε αίτημα API πρέπει να περιέχει μια μεταβλητή κατακερματισμού που είναι η ψηφιακή υπογραφή του αιτήματος.

hash = md5($json . $time . $salt)

  • md5, sha256, bcrypt — διαθέσιμους αλγόριθμους κρυπτογράφησης
  • $json — συμβολοσειρά json με δεδομένα αιτήματος
  • $time — ώρα με τη μορφή "ΗΗ.ΜΜ.ΕΕΕΕ ΩΩ:ΜΜ:ΔΔ"
  • $salt — σταθερή μοναδική τιμή ("salt") για το API πλατφόρμας

Πόροι

Η τεκμηρίωση περιέχει παραδείγματα πραγματικών αιτημάτων API