Προγραμματιστές

POST/v3/rentnumber/{number_id}/{price_id}

Αγορά επιλεγμένου τηλεφωνικού αριθμού

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

Σε αυτή τη σελίδα
  1. Επιλέξτε μαζί τον αριθμό και την τιμή
  2. Υποβάλετε με POST ένα αίτημα αγοράς με ελέγχους προστασίας
  3. Καταχώριση και ενεργοποίηση
  4. Αποφύγετε την αντικατάσταση προγράμματος χωρίς ειδοποίηση
  5. Ρυθμίσεις για προχωρημένους: προεπιλογές δρομολόγησης λογαριασμού
  6. Απόκριση
  7. Σφάλματα και αβέβαια αποτελέσματα
  8. Διασταυρώστε την κατάσταση πριν επαναλάβετε την προσπάθεια

Επιλέξτε μαζί τον αριθμό και την τιμή

Αγοράστε έναν συγκεκριμένο αριθμό που επιλέξατε από μια νέα αναζήτηση διαθέσιμων αριθμών. Χρησιμοποιήστε το πεδίο της επιλεγμένης καταχώρισης info.uuid ως αναγνωριστικό αριθμού και μία από τις τιμές του πεδίου της ίδιας καταχώρισης price[].uuid ως αναγνωριστικό τιμής. Η διαδρομή δέχεται επίσης τον πλήρη αποθηκευμένο αριθμό, αλλά ένα αναγνωριστικό χώρας, περιοχής ή προθέματος δεν υποκαθιστά την επιλογή αριθμού.

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

Υποβάλετε με POST ένα αίτημα αγοράς με ελέγχους προστασίας

Χρησιμοποιήστε έναν ενεργοποιημένο λογαριασμό API μέσω HTTPS από επιτρεπόμενη διεύθυνση IP προέλευσης. Η ακόλουθη εντολή πραγματοποιεί αγορά, δεν ζητά προσφορά ούτε εκτελεί δοκιμαστική προσομοίωση. Ορίστε κάθε μεταβλητή από την ίδια νέα επιλογή αριθμού και τιμής. Τα πεδία ανώτατων ορίων διατηρούν το παλαιό πρόθεμα restore_quote_· η τρέχουσα πύλη τα χρησιμοποιεί επίσης για αγορές συγκεκριμένων αριθμών με ελέγχους προστασίας.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode "restore_quote_price_id=$PRICE_ID" \
  --data-urlencode "restore_quote_setup=$SETUP_PRICE" \
  --data-urlencode "restore_quote_monthly=$MONTHLY_PRICE" \
  --data-urlencode "restore_quote_per_minute=$PER_MINUTE_PRICE" \
  --data-urlencode "restore_quote_channels=$CHANNELS" \
  "https://api.multitel.net/v3/rentnumber/$NUMBER_ID/$PRICE_ID"

Χρησιμοποιήστε POST με δεδομένα φόρμας, όπως φαίνεται. Η βοηθητική λειτουργία διαθέτει επίσης ανάλυση JSON και περιβλήματος επιλογών, αλλά η παρούσα εξέταση δεν τεκμηριώνει πλήρη ισοδυναμία για όλες τις διαδρομές προσφορών και παρόχων. Μη χρησιμοποιείτε GET για αγορές, παρότι αυτός ο παλαιός συντονιστής δεν διαθέτει ρητό έλεγχο προστασίας της μεθόδου.

Διαδρομή αγοράς και πεδία προσφοράς
ΠεδίοΣημασία
NUMBER_IDΤο UUID του επιλεγμένου αριθμού από την αναζήτηση ή ο πλήρης αποθηκευμένος αριθμός. Ένας αριθμός ανά αίτημα.
PRICE_IDΤο UUID της τιμής που συνδέεται με τον συγκεκριμένο επιλεγμένο αριθμό και τον λογαριασμό σας. Να το παρέχετε πάντα ρητά.
restore_quote_price_idΠρέπει να συμφωνεί με το αναγνωριστικό τιμής που προκύπτει από την επίλυση. Η παροχή αυτού του πεδίου ενεργοποιεί τους ελέγχους προσφοράς· δεν αποτελεί κλειδί ιδιοδυναμίας.
restore_quote_setupΜέγιστη αποδεκτή τιμή ενεργοποίησης, ως πεπερασμένη μη αρνητική αριθμητική τιμή.
restore_quote_monthlyΜέγιστη αποδεκτή μηνιαία τιμή, ως πεπερασμένη μη αρνητική αριθμητική τιμή.
restore_quote_per_minuteΜέγιστη αποδεκτή χρέωση ανά λεπτό εισερχόμενων κλήσεων, ως πεπερασμένη μη αρνητική αριθμητική τιμή.
restore_quote_channelsΟ ακριβής ακέραιος αριθμός καναλιών της επιλεγμένης επιλογής τιμολόγησης, όχι αίτημα για διαφορετικό πρόγραμμα καναλιών.

Παρέχετε όλα τα αριθμητικά πεδία προσφοράς όποτε παρέχετε το αναγνωριστικό τιμής της προσφοράς. Ένα αλλαγμένο αναγνωριστικό, μια τιμή πάνω από το ανώτατο όριο, ένα ανώτατο όριο που λείπει ή είναι μη έγκυρο, ένας αλλαγμένος αριθμός καναλιών ή ένα κατειλημμένο κλείδωμα προσφοράς επιστρέφει τον κωδικό API 409 πριν αποσταλεί το αίτημα στον επιλεγμένο πάροχο μίσθωσης. Οι συγκρίσεις επιτρέπουν μια μικρή ανοχή κινητής υποδιαστολής· χρησιμοποιήστε τις πραγματικές εμφανιζόμενες τιμές του προγράμματος αντί για μια τιμή που στρογγυλοποιήσατε χειροκίνητα.

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

Καταχώριση και ενεργοποίηση

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

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

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

Αποφύγετε την αντικατάσταση προγράμματος χωρίς ειδοποίηση

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

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

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

Ρυθμίσεις για προχωρημένους: προεπιλογές δρομολόγησης λογαριασμού

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

Αναγνωριζόμενες επιλογές δρομολόγησης στην κοινή βοηθητική λειτουργία
ΕπιλογήΣυμπεριφορά επίλυσης
uri, uri2, uri3Οι τιμές που παραλείπονται κληρονομούν τις αντίστοιχες προεπιλογές του λογαριασμού. Οι ρητά κενές τιμές εκκαθαρίζουν την τιμή στη βοηθητική λειτουργία αντί να κληρονομούν την προεπιλογή. Χρησιμοποιήστε έγκυρους προορισμούς κατάλληλους για τον επιλεγμένο τρόπο δρομολόγησης.
smsuriΑν η τιμή παραλειφθεί, κληρονομείται ο προορισμός SMS του λογαριασμού· μια ρητά κενή τιμή τον εκκαθαρίζει στη βοηθητική λειτουργία.
origintrunkΈνα αναγνωρισμένο, ρητά παρεχόμενο αναγνωριστικό ζεύξης έχει προτεραιότητα. Αν μια τιμή δεν μπορεί να επιλυθεί, μπορεί να χρησιμοποιηθεί η προτίμηση του λογαριασμού ή η παλαιά προεπιλογή αντί να προκύψει σφάλμα.
forward_destination, forwarding_destination, typeΜη κενά εναλλακτικά ονόματα του τρόπου δρομολόγησης, με αυτή τη σειρά προτεραιότητας. Χρησιμοποιήστε υποστηριζόμενες τιμές από τις ρυθμίσεις δρομολόγησης του λογαριασμού, όχι έναν αριθμητικό τρόπο που επιλέξατε κατ’ εκτίμηση.
RegistrationIDΑναζήτηση προφίλ καταχώρισης, περιορισμένη στον συγκεκριμένο πελάτη· είναι ξεχωριστή από τους προορισμούς δρομολόγησης.
autorenewΗ προεπιλογή είναι 1. Η βοηθητική λειτουργία ελέγχει αν η τιμή είναι μη κενή, επομένως το 0 δεν απενεργοποιεί αξιόπιστα την ανανέωση μέσω αυτού του πεδίου αγοράς. Χρησιμοποιήστε την υποστηριζόμενη διαχείριση ανανέωσης του λογαριασμού και επαληθεύστε την αποθηκευμένη ρύθμιση.

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

Απόκριση

Υποθετικό παράδειγμα μιας απλής αγοράς· οι τιμές και οι δυνατότητες διαφέρουν ανάλογα με το επιλεγμένο πρόγραμμα.

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "price": {
      "per_minute": "0.0100",
      "free_minutes": "100",
      "setup_price": "2.00",
      "monthly_price": "4.00",
      "channels": "2",
      "overflow": "0"
    },
    "features": [
      "voice"
    ],
    "needs_registration": 0,
    "registration_requirements": null
  }
}

Ο συντονιστής χρησιμοποιεί τα δικά του πεδία status.code/status.msg και το περίβλημα response, χωρίς να εγγυάται την παρουσία του πεδίου status.results. Ένα σφάλμα συνήθως συνοδεύεται από κενή λίστα απόκρισης. Σε περίπτωση επιτυχίας, εξετάστε τον αριθμό και την τιμή που επιστράφηκαν και κατόπιν διασταυρώστε το απόθεμα του λογαριασμού και την κατάσταση καταχώρισης. Η αποδοχή από τον πάροχο δεν αποτελεί πραγματική δοκιμή φωνής, SMS ή φαξ.

Σφάλματα και αβέβαια αποτελέσματα

Κύριοι κωδικοί αποτελεσμάτων του συντονιστή
Κωδικός APIΣημασία
403Οι περιορισμοί τιμών ή αγορών του λογαριασμού, μια μη διαθέσιμη επιλογή τιμής ή ένα μη προσβάσιμο προφίλ καταχώρισης μπορούν να εμποδίσουν την επεξεργασία.
404Επιλογή αριθμού, τιμής ή προθέματος που λείπει ή δεν είναι διαθέσιμη.
409Ο αριθμός είναι ήδη ενεργός, ένας έλεγχος προστασίας προσφοράς δεν συμφωνεί πλέον ή μια άλλη λειτουργία με ελέγχους προστασίας κατέχει το κλείδωμα.
422Οι πληροφορίες καταχώρισης είναι απαραίτητες, είναι ελλιπείς ή δεν μπορούν να δημιουργηθούν στο σύστημα στις διαδρομές καταχώρισης που εξετάστηκαν.
500 και άλλοι κωδικοί παρόχου ή λογαριασμούΑποτυχία παρόχου, τοπικής επεξεργασίας ή εφαρμογής πολιτικής. Αυτά δεν αποτελούν σε όλες τις περιπτώσεις απόδειξη ότι δεν πραγματοποιήθηκε αγορά ή χρέωση.

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

Διασταυρώστε την κατάσταση πριν επαναλάβετε την προσπάθεια

  1. Αποθηκεύστε τον εγκεκριμένο αριθμό, την τιμή και τα ανώτατα όρια προσφοράς στην εγγραφή παραγγελίας της εφαρμογής σας πριν υποβάλετε το αίτημα μία φορά.
  2. Διαβάστε το απόθεμα αγορασμένων αριθμών και τα στοιχεία του αριθμού για τον ίδιο λογαριασμό μετά το αίτημα, ακόμη και μετά από λήξη χρονικού ορίου ή σφάλμα.
  3. Αν ο αριθμός υπάρχει, επαληθεύστε την τιμή, την ανανέωση, τη δρομολόγηση και την κατάσταση καταχώρισής του αντί να υποβάλετε άλλο αίτημα αγοράς.
  4. Αν το αποτέλεσμα παραμένει αβέβαιο, ζητήστε από την υποστήριξη να διασταυρώσει την παραγγελία στον πάροχο και τη χρέωση του λογαριασμού πριν επαναλάβετε την προσπάθεια. Ένα μήνυμα σφάλματος ή μια παλαιά ένδειξη επιτυχίας στο αρχείο καταγραφής δεν αποτελεί από μόνο του επαρκές αποδεικτικό στοιχείο.
  5. Αφού επιβεβαιωθούν η κυριότητα και η ενεργοποίηση, ολοκληρώστε τους συνήθεις ελέγχους δρομολόγησης και τις δοκιμές υπηρεσιών του λογαριασμού.