mountzou Δημοσ. 2 Δεκεμβρίου 2023 Δημοσ. 2 Δεκεμβρίου 2023 Δουλεύω με το Exchange API v2 του Crypto.com σε Python για να τραβήξω κάποια δεδομένα από το portfolio μου. Ενώ τα request γίνονται authenticated και επιστρέφουν κανονικά δεδομένα για το endpoint /get-order-history, όταν αλλάζω το endpoint σε /user-balance με τις ίδιες ακριβώς παραμέτρους επιστρέφει σφάλμα 'BAD_REQUEST' με κωδικό [10004]. def get_order_history(): req = { "id": 2, "method": "private/get-order-history", "api_key": API_KEY, "params": { }, "nonce": int(time.time() * 1000) } paramString = "" if "params" in req: for key in req['params']: paramString += key paramString += str(req['params'][key]) sigPayload = req['method'] + str(req['id']) + req['api_key'] + str(req['nonce']) req['sig'] = hmac.new( bytes(str(SECRET_KEY), 'utf-8'), msg=bytes(sigPayload, 'utf-8'), digestmod=hashlib.sha256 ).hexdigest() order_history = requests.post(BASE_URL + 'private/get-order-history', json=req, headers={'Content-Type': 'application/json'}) return json.loads(order_history.text) order_history = get_order_history() Ο κώδικας που έχω παραθέσει παραπάνω με το HTTP POST request δουλεύει κανονικά, επιστρέφει τόσο 200 success όσο και δεδομένα. Ωστόσο, όταν αλλάζω την μέθοδο σε private/user-balance, αρνείται πεισματικά να παίξει. Επικοινώνησα με support μπας και, δεν πήρα καμία απάντηση, με παρέπεμψαν στο documentation, το οποίο με την σειρά του δεν λέει και κάτι παραπάνω από αυτό που έχω υλοποιήσει. Έχει καταφέρει κανείς να συνδεθεί επιτυχώς με το συγκεκριμένο API ;
archer100 Δημοσ. 2 Δεκεμβρίου 2023 Δημοσ. 2 Δεκεμβρίου 2023 Μηπως θελει διαφορετικο structure το συγκεκριμενο endpoint? Συνηθως δεν ειναι ιδια
mountzou Δημοσ. 2 Δεκεμβρίου 2023 Μέλος Δημοσ. 2 Δεκεμβρίου 2023 Δοκίμασα να κάνω αλλαγές μήπως και φταίει κάτι τέτοιο, αλλά δεν λειτούργησε. Και από το documentation πάντως δεν προκύπτει κάτι διαφορετικό στο structure, δηλαδή το params είναι κενό, όπως και στο private/get-order-history.
Moderators Kercyn Δημοσ. 3 Δεκεμβρίου 2023 Moderators Δημοσ. 3 Δεκεμβρίου 2023 Βάζεις στο Postman το παράδειγμα που έχουν, κάνεις export request-response (μαζί με headers) και τους το στέλνεις, κάνοντάς τους ξεκάθαρο τουλάχιστον 2 φορές ότι το request που στέλνεις είναι από τα docs τους και δε δουλεύει. Έτσι, ή θα σε στείλουνε πάλι στα docs, όπου σε αυτήν την περίπτωση είσαι πια βέβαιος ότι έχεις να κάνεις με κλόουν και δυστυχώς θα πρέπει να κάνεις δοκιμές στα τυφλά ελπίζοντας κάτι να δουλέψει, ή θα σου πούνε πώς να χτίσεις σωστά το request.
mountzou Δημοσ. 3 Δεκεμβρίου 2023 Μέλος Δημοσ. 3 Δεκεμβρίου 2023 14 ώρες πριν, Kercyn είπε Βάζεις στο Postman το παράδειγμα που έχουν, κάνεις export request-response (μαζί με headers) και τους το στέλνεις, κάνοντάς τους ξεκάθαρο τουλάχιστον 2 φορές ότι το request που στέλνεις είναι από τα docs τους και δε δουλεύει. Έτσι, ή θα σε στείλουνε πάλι στα docs, όπου σε αυτήν την περίπτωση είσαι πια βέβαιος ότι έχεις να κάνεις με κλόουν και δυστυχώς θα πρέπει να κάνεις δοκιμές στα τυφλά ελπίζοντας κάτι να δουλέψει, ή θα σου πούνε πώς να χτίσεις σωστά το request. Στο reddit και στο Stackoverflow που το έψαξα, προτείνουν workarounds (!!) πάνω στα διάφορα private endpoints του API για παρόμοια προβλήματα που έχουν με το API και τα requests του. Δηλαδή μιλάμε για ένα API που πρέπει να εκτός από γνώσεις να έχεις και φαντασία για να πάρεις απάντηση χαχα. Αν βρώ κάποια άκρη θα ενημερώσω και εδώ το thread, μπας και βοηθήσω και κανέναν άλλο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα