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

POST/v3/lnp/project/{uniqueid}/addnumbers

Προσθήκη αριθμών σε υπάρχον έργο φορητότητας

Προσθέστε εγγραφές αριθμών και κατόπιν αντιπαραβάλετε την κατάσταση του έργου με τα ζητούμενα πριν επαναλάβετε ένα αίτημα με αβέβαιο αποτέλεσμα.

Σε αυτή τη σελίδα
  1. Πρόσβαση στον λογαριασμό και στο έργο
  2. Προετοιμασία της προσθήκης
  3. Αίτημα POST
  4. Αναφερόμενο αποτέλεσμα
  5. Αντιπαραβολή των αποτελεσμάτων με τα ζητούμενα πριν από την επανάληψη
  6. Σφάλματα του παλαιού συστήματος
  7. Πεδίο εφαρμογής χρέωσης και μεταφοράς

Πρόσβαση στον λογαριασμό και στο έργο

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

Προετοιμασία της προσθήκης

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

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

Αίτημα POST

Δημιουργήστε ένα τοπικό αρχείο numbers.json με την ακόλουθη δομή. Οι αριθμοί είναι φανταστικοί· αντικαταστήστε τους με αριθμούς για τους οποίους υπάρχει εξουσιοδότηση στο επιλεγμένο έργο.

{
  "numbers": [
    "12025550123",
    "12025550124"
  ],
  "isocode": "US"
}
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header "Content-Type: application/json" \
  --data-binary @numbers.json \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"
Πεδία αιτήματος προσθήκης αριθμών
ΠεδίοΣημασία
numbersΥποχρεωτικός μη κενός πίνακας αριθμών σε μορφή συμβολοσειρών ή μία συμβολοσειρά με έναν αριθμό ανά γραμμή. Οι κενές καταχωρίσεις απορρίπτονται και τα αρχικά και τελικά κενά αφαιρούνται. Το κείμενο με διαχωριστικά κόμματα δεν διασπάται σε ξεχωριστούς αριθμούς.
isocodeΠροαιρετικός κωδικός χώρας για τις εγγραφές που προστίθενται. Αν παραλειφθεί ή είναι κενός, χρησιμοποιείται η τοποθεσία του έργου. Ο χειριστής αφαιρεί τα αρχικά και τελικά κενά από την παρεχόμενη τιμή, αλλά δεν τη μετατρέπει σε κεφαλαία ούτε την επικυρώνει. Δώστε εσείς τον σωστό κωδικό χώρας με κεφαλαία γράμματα.

Για αυτό το παράδειγμα χρησιμοποιήστε POST με application/json. Διαβάζονται επίσης δεδομένα φόρμας που αποστέλλονται μέσω POST. Η μέθοδος δεν ορίζει κλειδί ιδιοδυναμίας ούτε εγγύηση ασφαλούς μεγέθους παρτίδας ειδικά για αυτό το τελικό σημείο· αντιπαραβάλετε τα αποτελέσματα διαχειρίσιμων παρτίδων με τα ζητούμενα αντί να βασίζεστε σε ένα υποθετικό όριο.

Αναφερόμενο αποτέλεσμα

Παράδειγμα φανταστικής απόκρισης.

{
  "status": {
    "code": 200,
    "msg": "Success add numbers"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "count": 2,
    "numbers": [
      {
        "id": 21,
        "number": "12025550123",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      },
      {
        "id": 22,
        "number": "12025550124",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      }
    ]
  }
}

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

Αντιπαραβολή των αποτελεσμάτων με τα ζητούμενα πριν από την επανάληψη

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

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

Σφάλματα του παλαιού συστήματος

Μια μέθοδος διαφορετική από POST επιστρέφει τον κωδικό API 403. Ένα έργο που δεν υπάρχει, έχει διαγραφεί ή δεν ανήκει στον λογαριασμό επιστρέφει τον κωδικό API 404. Η κενή είσοδος αριθμών επιστρέφει επίσης τον κωδικό API 404. Ισχύουν ο έλεγχος ταυτότητας και οι περιορισμοί στη διεύθυνση IP προέλευσης. Αυτοί οι κωδικοί του παλαιού συστήματος δεν αποδεικνύουν ότι δεν είχε ήδη πραγματοποιηθεί κάποια εισαγωγή μετά την έναρξη της επεξεργασίας.

Πεδίο εφαρμογής χρέωσης και μεταφοράς

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