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

POST/v3/campaign

Ανάθεση αριθμού σε καμπάνια ανταλλαγής μηνυμάτων

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

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

Ανάθεση αριθμού αποστολής σε καμπάνια

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

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

Αίτημα

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

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'action=add' \
  --data-urlencode "campaign=$CAMPAIGN_ID" \
  --data-urlencode 'number=12025550123' \
  'https://api.multitel.net/v3/campaign'
Παράμετροι ανάθεσης καμπάνιας
ΠαράμετροςΥποχρεωτικήΣημασία
actionΝαιΧρησιμοποιήστε add για ανάθεση ή delete για αφαίρεση της τρέχουσας συσχέτισης καμπάνιας του αριθμού. Η πεζότητα και τα περιβάλλοντα κενά κανονικοποιούνται.
campaignΓια addΤο campaignId μιας καμπάνιας σε κατάσταση ACTIVE που ανήκει στον αυθεντικοποιημένο λογαριασμό. Η επωνυμία της πρέπει επίσης να ανήκει στον λογαριασμό. Μια καμπάνια ρητά επισημασμένη ως sandbox δεν μπορεί να ανατεθεί σε ενεργούς αριθμούς αποστολής. Παραλείψτε αυτή την παράμετρο για delete· η αφαίρεση χρησιμοποιεί την υπάρχουσα συσχέτιση του αριθμού.
numberΝαιΟ αριθμός αποστολής που σας ανήκει, είναι ενεργός, μη άκυρος και έχει δυνατότητα SMS. Για αριθμό Βόρειας Αμερικής, χρησιμοποιήστε τον κωδικό χώρας 1 ακολουθούμενο από τα δέκα ψηφία του, χωρίς το σύμβολο συν. Ο χειριστής αφαιρεί τους μη αριθμητικούς χαρακτήρες και αναζητά επίσης τα ισοδύναμα με πρόθεμα συν και με δέκα ψηφία. Αυτή η κανονικοποίηση δεν αποτελεί γενικό έλεγχο εγκυρότητας τηλεφωνικού αριθμού.

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

Αφαίρεση της τρέχουσας συσχέτισης

Χρησιμοποιήστε action=delete με τον αριθμό που σας ανήκει. Αυτό αφαιρεί τη συσχέτισή του με την καμπάνια αποστολής και καθαρίζει τα αποθηκευμένα πεδία επωνυμίας/καμπάνιας για τον συγκεκριμένο αριθμό. Δεν διαγράφει την καμπάνια ή την επωνυμία, δεν αποδεσμεύει τον τηλεφωνικό αριθμό, δεν ακυρώνει την υπηρεσία του αριθμού και δεν σταματά την επαναλαμβανόμενη χρέωση της καμπάνιας.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'action=delete' \
  --data-urlencode 'number=12025550123' \
  'https://api.multitel.net/v3/campaign'

Απόκριση και επαλήθευση

Αυτό το πλασματικό παράδειγμα δείχνει το σύνηθες περίβλημα απόκρισης του API και επιλεγμένα πεδία αποτελέσματος. Ο επιστρεφόμενος αριθμός διατηρεί τη μορφή που είναι αποθηκευμένη στον λογαριασμό σας. Τα brandId και campaignId είναι κενές συμβολοσειρές μετά από επιτυχή αφαίρεση.

{
  "status": {"code": 200, "msg": "Campaign assignment updated."},
  "response": {
    "number": "+12025550123",
    "brandId": "BRAND_FROM_ACCOUNT",
    "campaignId": "CAMPAIGN_FROM_ACCOUNT",
    "providerStatus": 200
  }
}

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

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

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

  • 401: κανένας αυθεντικοποιημένος λογαριασμός δεν είναι διαθέσιμος στον χειριστή.
  • 400: το action ή το number λείπει ή είναι μη έγκυρο, ή ένα αίτημα add δεν έχει αναγνωριστικό καμπάνιας.
  • 404: ο αριθμός δεν είναι αριθμός SMS που ανήκει στον λογαριασμό, ενεργός και μη άκυρος.
  • 409: η καμπάνια δεν είναι διαθέσιμη στον λογαριασμό, δεν είναι ACTIVE, είναι ρητά sandbox, ή η επωνυμία της δεν είναι διαθέσιμη στον λογαριασμό.
  • 503: η ενοποίηση ανταλλαγής μηνυμάτων δεν είναι διαθέσιμη. Επικοινωνήστε με την υποστήριξη, αντί να αλλάξετε τα διαπιστευτήρια του λογαριασμού ή να επινοήσετε τιμές ρύθμισης.
  • 502: το αίτημα ανταλλαγής μηνυμάτων απέτυχε, έληξε λόγω χρονικού ορίου ή επέστρεψε κατάσταση HTTP εκτός 2xx. Το providerStatus ενδέχεται να επιστραφεί. Μια λήξη χρονικού ορίου δεν αποδεικνύει ότι ο συνεργάτης δεν έκανε καμία αλλαγή.
  • 500 με partial=true: ο συνεργάτης ανταλλαγής μηνυμάτων επέστρεψε επιτυχή κατάσταση HTTP, αλλά η τοπική συσχέτιση δεν μπόρεσε να επιβεβαιωθεί. Ελέγξτε στην πύλη την κατάσταση του αριθμού και επιλύστε τυχόν ασυμφωνίες ή επικοινωνήστε με την υποστήριξη πριν από νέα προσπάθεια.

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

Εμβέλεια και επιπτώσεις

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

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