Συγχωνευμένες Κλήσεις SoftOne API

Συνδυάστε πολλαπλές κλήσεις SoftOne API σε ένα request όταν το OpenCart χρειάζεται δομή και δεδομένα μαζί, μειώνοντας τα ξεχωριστά round trips.

Εισαγωγή στις Συγχωνευμένες Κλήσεις API

Οι συγχωνευμένες κλήσεις API είναι μια προηγμένη δυνατότητα της γέφυρας OpenCart - SoftOne που σας επιτρέπει να συνδυάζετε πολλαπλές κλήσεις API σε ένα ενιαίο αίτημα. Αντί να εκτελείτε ξεχωριστές κλήσεις για διαφορετικές πληροφορίες, μπορείτε να τις συγχωνεύσετε για καλύτερη απόδοση και ενοποιημένη διαχείριση δεδομένων.

Τι Είναι οι Συγχωνευμένες Κλήσεις

Οι συγχωνευμένες κλήσεις λειτουργούν συνδυάζοντας:

  • Πολλαπλές Κλήσεις API: Διαφορετικές κλήσεις που θα έκαναν ξεχωριστά
  • Ενοποιημένη Απάντηση: Ένα JSON που περιέχει όλα τα δεδομένα
  • Συγχρονισμένη Εκτέλεση: Όλες οι κλήσεις εκτελούνται ταυτόχρονα

Η γέφυρα διαχειρίζεται αυτόματα τη συγχώνευση και επιστρέφει ένα ενοποιημένο JSON που περιλαμβάνει:

  • Τα δεδομένα πεδίων (Fields) από όλες τις κλήσεις
  • Τις τιμές δεδομένων (Data Values) από όλες τις κλήσεις
  • Πληροφορίες κατάστασης για κάθε κλήση

Πλεονεκτήματα

Βελτιωμένη Απόδοση

Μείωση του συνολικού χρόνου απόκρισης εκτελώντας πολλαπλές κλήσεις παράλληλα

Λιγότερες Κλήσεις

Μείωση του network overhead με λιγότερες HTTP κλήσεις

Ενοποιημένα Δεδομένα

Λήψη συσχετισμένων δεδομένων σε ένα ενιαίο JSON response

Συγχρονισμός

Εξασφάλιση ότι όλα τα δεδομένα είναι από την ίδια χρονική στιγμή

Διαδικασία Ρύθμισης

Για να ρυθμίσετε συγχωνευμένες κλήσεις API, ακολουθήστε τα παρακάτω βήματα:

  1. Εντοπισμός Κλήσεων προς Συγχώνευση

    Προσδιορίστε ποιες κλήσεις API θέλετε να συγχωνεύσετε. Καλές επιλογές είναι κλήσεις που:

    • Χρησιμοποιούνται συχνά μαζί
    • Αφορούν συσχετισμένα δεδομένα
    • Έχουν παρόμοιους χρόνους εκτέλεσης
  2. Δημιουργία Συγχωνευμένης Κλήσης

    Στο διαχειριστικό περιβάλλον της γέφυρας:

    • Μεταβείτε στην ενότητα "Προσαρμοσμένες Κλήσεις API"
    • Επιλέξτε "Δημιουργία Συγχωνευμένης Κλήσης"
    • Ορίστε τις κλήσεις που θέλετε να συγχωνεύσετε
  3. Διαμόρφωση Παραμέτρων

    Για κάθε κλήση που συμμετέχει στη συγχώνευση:

    • Ορίστε το URL endpoint
    • Καθορίστε τις παραμέτρους
    • Ρυθμίστε τις headers αν χρειάζεται
  4. Ρύθμιση Response Mapping

    Καθορίστε πώς θα συγχωνευτούν οι απαντήσεις στο τελικό JSON

Παραδείγματα Χρήσης

Παράδειγμα 1: Συγχώνευση getBrowserInfo και getBrowserData (Πρακτικό Παράδειγμα)

Ας δούμε ένα πραγματικό παράδειγμα συγχώνευσης δύο κλήσεων για λήψη πληροφοριών προϊόντων από το SoftOne ERP:

Παραδοσιακή Προσέγγιση (2 ξεχωριστές κλήσεις):

1. getBrowserInfo → Λήψη πληροφοριών δομής και πεδίων
2. getBrowserData → Λήψη πραγματικών δεδομένων προϊόντων

Συγχωνευμένη Προσέγγιση (1 κλήση):

GET /csl_softone_merged_requests.php?group_name=0 → Ενοποιημένη λήψη δομής και δεδομένων

Αιτήματα που Συγχωνεύονται:

Αίτημα 1 - getBrowserInfo:

{
  "username": "demo_user",
  "password": "!Demo-P@ss123",
  "appId": "2001",
  "COMPANY": "2000",
  "BRANCH": "2000",
  "REFID": "128",
  "MODULE": "0",
  "service": "getBrowserInfo",
  "clientID": "%clientid%",
  "OBJECT": "ITEM",
  "LIST": "DemoProductList"
}

Αίτημα 2 - getBrowserData:

{
  "service": "getBrowserData",
  "clientID": "%clientid%",
  "AppId": "2001",
  "reqID": "%products_reqid%",
  "LIST": "DemoProductList",
  "LIMIT": 10
}

Ενοποιημένη Απάντηση (συντομευμένη):

{
  "success": "true",
  "authentication_status": "success",
  "requests": [
    {
      "service": "getBrowserInfo",
      "username": "demo_user",
      "appId": "2001",
      "COMPANY": "2000",
      "OBJECT": "ITEM",
      "LIST": "DemoProductList"
    },
    {
      "service": "getBrowserData",
      "AppId": "2001",
      "reqID": "XC901234A5B6C7D8",
      "LIST": "DemoProductList",
      "LIMIT": 10
    }
  ],
  "rows": [
    {
      "FLD-1": "ITEM;12345",
      "ITEM.CODE": "12345",
      "ITEM.NAME": "Demo Product Name",
      "ITEM.WEBPAGE": "Δείγμα Προϊόντος",
      "ITEM.V12": "Vanilla",
      "ITEM.V13": "Κατηγορία Δείγματος",
      "ITEM.SODISCOUNT": "5.00",
      "ITEM.UPDDATE": "2024-01-15 10:30:00"
    },
    {
      "FLD-1": "ITEM;12346",
      "ITEM.CODE": "12346",
      "ITEM.NAME": "Another Demo Product",
      "ITEM.WEBPAGE": "Άλλο Δείγμα Προϊόντος",
      "ITEM.V12": "Chocolate",
      "ITEM.SODISCOUNT": "7.50"
    }
  ],
  "clientID": "Ab1Cd2Ef3Gh4Ij5Kl6Mn7Op8Qr9St0Uv1Wx2Yz3...",
  "message": "Merged requests for group \"0\" executed."
}

Παράδειγμα 2: Δομή Απάντησης

Η βασική δομή μιας συγχωνευμένης απάντησης περιλαμβάνει:

{
  "success": "true",
  "authentication_status": "success",
  "requests": [
    // Εδώ εμφανίζονται οι κλήσεις που εκτελέστηκαν
  ],
  "rows": [
    // Εδώ εμφανίζονται τα δεδομένα
  ],
  "clientID": "...",
  "message": "Merged requests for group \"0\" executed."
}

Μορφή Απάντησης

Οι συγχωνευμένες κλήσεις επιστρέφουν JSON με την παρακάτω δομή:

Πεδίο Περιγραφή Τύπος
success Κατάσταση επιτυχίας της συγχωνευμένης κλήσης string ("true"/"false")
authentication_status Κατάσταση αυθεντικοποίησης string
requests Πίνακας με τις κλήσεις που εκτελέστηκαν array
rows Πίνακας με τα αποτελέσματα δεδομένων array
clientID Το Client ID που χρησιμοποιήθηκε string
message Μήνυμα επιβεβαίωσης εκτέλεσης string

Βέλτιστες Πρακτικές

Επιλογή Κλήσεων

  • Συγχωνεύστε κλήσεις που χρησιμοποιούνται συχνά μαζί
  • Αποφύγετε τη συγχώνευση πολύ αργών κλήσεων με γρήγορες
  • Ομαδοποιήστε κλήσεις με παρόμοια δεδομένα

Απόδοση

  • Μην συγχωνεύετε περισσότερες από 5-7 κλήσεις
  • Χρησιμοποιήστε caching όπου είναι δυνατόν
  • Μονιτοράρετε τους χρόνους απόκρισης

Διαχείριση Σφαλμάτων

  • Ελέγξτε την κατάσταση κάθε μεμονωμένης κλήσης
  • Υλοποιήστε fallback στρατηγικές
  • Καταγράψτε σφάλματα για debugging

Αντιμετώπιση Προβλημάτων

Συχνά Προβλήματα

Μία κλήση αποτυγχάνει

Αίτιο: Πρόβλημα σε συγκεκριμένο API endpoint

Λύση: Ελέγξτε το success και authentication_status για λεπτομέρειες

Αργή απόκριση

Αίτιο: Πολλές ή αργές κλήσεις στη συγχώνευση

Λύση: Μειώστε τον αριθμό κλήσεων ή χωρίστε σε μικρότερες ομάδες

Διαφορετικά δεδομένα

Αίτιο: Οι κλήσεις εκτελούνται σε διαφορετικές χρονικές στιγμές

Λύση: Οι συγχωνευμένες κλήσεις εκτελούνται συγχρονισμένα - ελέγξτε το message για επιβεβαίωση

Debug Tips

  • Ελέγξτε το requests array για να δείτε ποιες κλήσεις εκτελέστηκαν
  • Επιβεβαιώστε ότι το success είναι "true" και το authentication_status είναι "success"
  • Μονιτοράρετε τους χρόνους εκτέλεσης στα logs
  • Δοκιμάστε τις κλήσεις μεμονωμένα πριν τη συγχώνευση
  • Ελέγξτε το message field για πληροφορίες εκτέλεσης
  • Βεβαιωθείτε ότι το clientID είναι το ίδιο σε όλες τις κλήσεις

Σχετικοί οδηγοί

Χρειάζεστε Υποστήριξη;

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

  • Σχεδιασμό της αρχιτεκτονικής συγχώνευσης
  • Βελτιστοποίηση της απόδοσης
  • Αντιμετώπιση προβλημάτων
  • Προσαρμοσμένες υλοποιήσεις

Η ομάδα τεχνικής υποστήριξης είναι στη διάθεσή σας.

Επικοινωνία Υποστήριξης

Επικοινωνήστε με την OpenCart Greece

Για σωστή εκτίμηση χρειαζόμαστε την έκδοση OpenCart, τα SoftOne Cloud Services credentials και μια σύντομη περιγραφή των ροών που θέλετε να συγχρονίζονται.

Στοιχεία Επικοινωνίας

Επωνυμία

Custom Services Limited (OpenCart Greece)

ΑΦΜ

GB-245421426

Διεύθυνση

10 Holloway Lane, OX29 0AU, United Kingdom

Ακολουθήστε μας

Ώρες Λειτουργίας

Δευτέρα - Παρασκευή: 09:00 - 17:00
Σάββατο: Κλειστά
Κυριακή: Κλειστά

Υποστήριξη

Η υποστήριξη γίνεται οργανωμένα μέσα από ticket, ώστε να μένει ιστορικό για API credentials, JSON templates, logs και επανελέγχους.

Βρείτε άμεσες απαντήσεις

Επισκεφθείτε την πλατφόρμα υποστήριξης για οδηγίες εγκατάστασης, ενημερώσεις και τεχνικά αιτήματα.

Επισκεφθείτε το Κέντρο Υποστήριξης
Επικοινωνήστε με την Υποστήριξη