Προς το περιεχόμενο

Κατασκευή API γίνεται;


takis3

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια χαρά.Θέλω να φτιάξω ένα API που θα εγκατασταθεί σε ένα site και θα κάνει το εξής:

Θα λαμβάνει στοιχεία μιας πληρωμής που έγινε στο paypal (απλό αρχείο με πληροφορίες όπως το όνομα του πελάτη κλπ) και στη συνέχεια αυτόματα θα επικοινωνεί με ένα άλλο ΑΡΙ σε άλλο σερβερ μεσω http.Επειδή το άλλο ΑΡΙ επικοκοινωνεί μεσω http δηλαδη μπορείς να στείλεις συγκεκριμένες εντολές σε αυτό απο τον browser πληκρολογώντας πχ http://xxx.yyy.zzz υποθέτω οτι το ΑΡΙ που θέλω να φτιάξω θα δημιουργεί αυτόματα ένα τέτοιο λίνκ και θα επικοινωνεί με αυτό.

Όμως θέλω αυτό το λινκ να μην είναι σταθερό αλλά να περιέχει μεταβλητές με τιμές που θα προέρχονται απο τα στοιχεία της πληρωμής που έλαβε απο το paypal.Δηλαδή πχ το yyy θα αλλάζει πέρνοντας απο το αρχείο που έλαβε απο το paypal το όνομα του πελάτη και αντικαθιστώντας το στο λινκ.Για παράδειγμα στο αρχείο που στέλνει το paypal υπάρχει το "payer_name = xxxxx" πρέπει όπου "yyy" στο λινκ να βάλει το όνομα που υπάρχει στο "payer name" μετά το ίσον φυσικά (=) στο http link.

Δεν γνωρίζω απο ΑΡΙ και ισως να μην είναι τα πράγματα όπως τα φαντάζομαι παντως η επικοινωνία με το υπάρχων ΑΡΙ γίνεται μεσω browser χειροκίνητα και κάπως θα γίνεται αυτό το λινκ να ενεργοποιείται με κάποιο δικό μου ΑΡΙ αυτόματα απο το σερβερ μου.

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

Ευχαριστώ για το ενδιαφέρον σας.

ΥΓ. Το site είναι σε IIS σερβερ και είναι html.

Δημοσ.

Γίνεται...

Μία εύκολη λύση είναι να χρησιμοποιήσεις forms και POST ώστε να μεταφέρεις στοιχεία από την μία σελίδα στην άλλη.

 

 

Θα χρειαστείς asp ή php για να επεξεργαστής τα δεδομένα....

 

ψάξτο λίγο δες πώς δουλέυει η ASP με forms και ρωτά ότι απορείες έχεις...

Δημοσ.

Για να κάνεις δύο servers να "μιλήσουν" μέσω http θα μπορούσες να φτιάξεις web services. Εφόσον είσαι σε IIS, φαντάζομαι θα έχεις κ asp.net. Με το visual studio θα μπορέσεις να φτιάξεις στον ένα server μία web application που θα έχει τα web services που θα δέχεται requests από τον server που κάνει host το site.

 

Μία πιο απλή λύση είναι να φτιάξεις διάφορα scripts π.χ. ένα αρχείο task1.aspx και να το καλείς με τις παραμέτρους που θέλει π.χ. http://xxx.yyy.zzz/task1.aspx?customerid=33&orderid=6543.

 

Τα scripts και τα web services μπορούν φυσικά να είναι σε οποιαδήποτε γλώσσα. Αν έχεις γνώση από asp.net θα σου είναι αρκετά εύκολο να φτιάξεις web services με το visual studio.

 

Γενικά ένα θέμα που θα πρέπει να σε προβληματίσει είναι να βάλεις έστω κ μία βασική λειτουργία ταυτοποίησης για να μην κάνει χρήση κάποιος τρίτος τα scripts ή τα web services σου.

Δημοσ.

Σας ευχαριστώ πολύ για τη βοήθειά σας.Δεν το εξήγησα καλά συγνώμη.Το ΑΡΙ που θα δέχεται τις εντολές απο το site μου είναι έτοιμο και δεν είναι δικό μου ούτε ειναι σε κάποιο δικό μου σέρβερ.

Επομένως ούτε πρόσβαση έχω ούτε γίνεται να τροποποιηθεί αλλά πέρνει συγκεκριμένες εντολές και εκτελεί συγκεκριμένες ενέργειες, και κάθε εντολή είναι και ένα διαφορετικό λινκ στον browser.Για παράδειγμα αν η εντολή για να στείλει το API (όχι το δικό μου ΑΡΙ) ένα ευχαριστήριο μύνημα ή απόδειξη της συναλλαγής στο email του πελάτη είναι http://xxx.yyy.zzz και όπου yyy είναι το όνομα του πελάτη και zzz το email του, τότε το script μου πρέπει να φτιάξει ένα λινκ με το οποιο θα επικοινωνήσει με το API που θα στείλει την απόδειξη και θα αντικαταστήσει το yyy και το zzz με το όνομα και το email του πελάτη που θα διαβάσει απο το αρχείο με τις πληροφορίες που πήρε απο το paypal.Δηλαδή πρέπει με κάποιο τρόπο να δωσω μια εντολή στο script να βάζει όπου yyy αυτό που είναι μετα το ίσον (=) στο "payer_name=" στο αρχείο.

Αν και δεν έχω ασχοληθεί με την κατασκευή παρόμοιου script φαντάζομαι οτι για να λαμβάνει το script τα δεδομένα της πληρωμής απο το paypal θα καταχωρήσω το λινκ που θα είναι αποθηκευμενο το script μου, στις ρυθμίσεις στο paypal ώστε να στέλνει εκεί τα δεδομένα (προβλέπεται αυτό στις ρυθμίσεις για να στέλνει τα δεδομένα αν θέλει ο πωλητής να τα εκμεταλευτεί με δικό του API).

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

Δημοσ.

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

 

Το http://xxx.yyy.zzz είναι domain. Δεν γίνεται τα xxx, yyy και zzz να είναι παράμετροι. Αν πρέπει να είναι η κλήση στο API με αυτή τη μορφή θα φανταζόμουν κάτι σε http://someapiurl/?param1=xxx&param2=yyy.

 

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

Δημοσ.

Ναι συγνωμη δεν το εγραψα σωστα ειναι ακριβως αυτο που λες οι μεταβλητες στο λινκ είναι της μορφης που εγραψες με καθετους αναμεσα και οχι τελειες.

Λοιπον το λινκ γινεται να είναι και σταθερο χωρις μεταβλητες οποτε δε μας προβληματίζει το λινκ, και μεσα απο συγκεκριμενη http address να δεχεται εντολες με xml αρχειο που θα στελνεται απο το σερβερ μου (αν το λεω σωστα).Μεσα στο xml με την εντολή φυσικα θα υπαρχουν και οι μεταβλητες όπως το email του πελατη κλπ.

Το θεμα είναι αν ο σερβερ μου μπορει να αναπαράγει αυτόματα ένα xml αρχείο που θα περιέχει κάποιες μεταβλητές που θα περνουν τιμή απο το POST (αν το λεω σωστα) που ελαβε απο τα στοιχεια πληρωμης του paypal και να το στέλνει αυτόματα ως εντολή στο API.

Το paypal API που στελνει τα στοιχεια της πληρωμής δουλεύει με τον τροπο που γραφει αυτη η σελίδα https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/e_howto_api_nvp_NVPAPIOverview .

Δεν εχω ξανακάνει τέτοιο script που να αναπαράγει και να στέλνει xml αρχειο.Καμια ιδέα για ένα sample πως θα μπορούσα να το φτιάξω ή που να ξεκινήσω να διαβάζω;

Το xml αρχειο είναι μικρο και είναι της μορφής

<API>

<send>

<user>χχχχχ</user>

<password>χχχχχχ</password>

<to>email του πελατη</to>

<text>ενα κειμενο</text>

</send>

</API>

Με ενα τετοιο xml πχ το API στελνει ενα ευχαριστηριο μυνημα στο email του πελατη ή στη θέση του κειμένου μπορεί να μπει αντι για στανταρ μυνημα μια μεταβλητη απο το αρχειο της πληρωμής δηλαδη "η πληρωμή σας με ποσον χχχχχ και αριθμο συναλλαγης χχχχχ παραληφθηκε και προχωράμε στην αποστολή της παραγγελίας σας."

Επομένως το script μου πρέπει να κάνει τα κάτωθι :

1.Να δεχεται τα POST απο το paypal με τον τροπο που περιγράφεται στο λινκ που εδωσα

2.Να διαβάζει τα στοιχεία της πληρωμής απο το paypal ώστε να εντοπίζει τα πεδία των μεταβλητων που θα αντικαταστήσει.

3.Να δημιουργεί xml αρχείο βασισμένο στη φορμα που εγραψα αλλά όπου "email του πελατη" θα αντικαθιστα με το email που θα βρίσκεται στα στοιχεία της πληρωμής μετα το ίσον δηλαδή στο "payer_email=" που υπάρχει στο αρχειο του paypal.Φανταζομαι με τον ίδιο τρόπο θα μπορώ να δίνω και όποιες άλλες μεταβλητές μεσα στο xml εκτος απο το email του πελάτη.

4.Να στελνει το xml σε συγκεκριμένη σταθερή διεύθυνση πχ http://api.sendmail.com/xml .

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...