Izaberite broj i cenu zajedno
Kupite jedan određeni broj izabran iz nove pretrage dostupnih brojeva. Koristite vrednost info.uuid iz izabrane stavke kao ID broja, a jednu od vrednosti price[].uuid iz te iste stavke kao ID cene. Ruta prihvata i ceo sačuvani broj, ali ID države, oblasti ili prefiksa nije zamena za izbor broja.
Pretraga ili čitanje sačuvanih cena ne rezerviše broj niti fiksira njegovu cenu. Potvrdite izabranu cenu uspostavljanja usluge, mesečnu cenu, cenu minuta dolaznog poziva, uključene minute i kanale, kao i dozvole naloga za kupovinu i zahteve za registraciju. Početni osnovni iznos u pregledanoj pomoćnoj komponenti predstavlja zbir cene uspostavljanja usluge i mesečne cene; za izabrani paket moraju se potvrditi sve naknade i uslovi konkretnog provajdera.
Pošaljite zahtev za kupovinu metodom POST uz zaštitne provere
Koristite omogućen API nalog preko HTTPS-a sa dozvoljene izvorne IP adrese. Sledeća komanda izvršava kupovinu, a ne traženje ponude ili probno izvršavanje. Podesite sve promenljive na osnovu istog novog izbora broja i cene. Polja za gornje granice zadržavaju nasleđeni prefiks restore_quote_; trenutni portal ih takođe koristi za kupovinu određenih brojeva uz zaštitne provere.
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"Koristite POST sa podacima obrasca kao što je prikazano. Pomoćna komponenta takođe podržava parsiranje JSON-a i omotača opcija, ali ovim pregledom nije utvrđena potpuna jednakost ponašanja za sve putanje obrade ponuda i provajdera. Nemojte koristiti GET za kupovinu iako ovaj nasleđeni koordinator nema izričitu proveru metode.
| Polje | Značenje |
|---|---|
| NUMBER_ID | UUID izabranog broja iz pretrage ili ceo sačuvani broj. Jedan broj po zahtevu. |
| PRICE_ID | UUID cene povezane sa tim izabranim brojem i vašim nalogom. Uvek ga navedite izričito. |
| restore_quote_price_id | Mora da se podudara sa ID-jem cene utvrđenim tokom obrade. Navođenje ovog polja uključuje provere ponude; ono nije ključ idempotentnosti. |
| restore_quote_setup | Najviša prihvatljiva cena uspostavljanja usluge, izražena kao konačna nenegativna numerička vrednost. |
| restore_quote_monthly | Najviša prihvatljiva mesečna cena, izražena kao konačna nenegativna numerička vrednost. |
| restore_quote_per_minute | Najviša prihvatljiva cena minuta dolaznog poziva, izražena kao konačna nenegativna numerička vrednost. |
| restore_quote_channels | Tačan celobrojni broj kanala izabrane cenovne opcije, a ne zahtev za drugačiji paket kanala. |
Navedite sva numerička polja ponude svaki put kada navedete ID cene ponude. Promenjen ID, cena iznad gornje granice, nedostajuća ili nevažeća gornja granica, promenjen broj kanala ili zauzeto zaključavanje ponude vraćaju API kod 409 pre slanja zahteva izabranom provajderu zakupa. Poređenja dozvoljavaju malu toleranciju za brojeve sa pokretnim zarezom; koristite stvarne prikazane vrednosti paketa umesto ručno zaokružene cene.
Zaštitne provere ne pretvaraju ceo tok rada u probno izvršavanje ili transakciju. Pre ovih provera mogu se obaviti pretrage registracionih podataka, kreiranje identiteta ili druge radnje pomoćne komponente. One takođe ne fiksiraju raspoloživost spoljnog inventara niti zamenjuju ograničenja kupovine na nivou naloga.
Registracija i aktivacija
Kada je potrebno, dodajte polje obrasca RegistrationID koje sadrži UUID registracionog profila u vlasništvu korisnika. To nije ID otpremljenog dokaza, adrese dobavljača ili zasebnog entiteta identiteta. Pomoćna komponenta pronalazi profil u okviru autentifikovanog naloga i odbija profile koji nedostaju ili nisu dostupni.
Za deo podržanog inventara kupovina je dozvoljena pre završetka registracije; za drugi deo inventara profil je potreban pre kupovine. I dalje mogu biti potrebni validacija ili aktiviranje usluge specifični za operatera. Nemojte tumačiti uspešnu kupovinu ili izostanak prethodne provere kao izuzeće od registracije ili trenutnu aktivaciju.
Kada je prisutno, polje odgovora registration_requirements označava strukturisanu pretragu zahteva prema državi i tipu broja. Koristite katalog registracionih zahteva i tok rada za dostavljanje dokaza da biste ispunili primenljive zahteve. Vraćeni tekst i metapodaci sami po sebi ne odobravaju profil.
Izbegnite neprimetnu zamenu paketa
Nasleđeni koordinator može da izvede izostavljenu cenu iz keširanih podataka o broju. Takođe može da pređe na najnoviju cenu naloga za keširani prefiks kada izričito navedeni ID cene više ne postoji i da ažurira keširani izbor dozvoljene cene. Nemojte se oslanjati na ove rezervne postupke za izbor paketa koji je korisnik odobrio.
Izričito navedite izabranu cenu i odgovarajuća polja zaštitnih provera ponude. Zaštitna provera ID-ja ponude odbija prelazak na drugi ID pre slanja zahteva za zakup. Posle sukoba zbog zastarele cene osvežite pretragu i pribavite novo odobrenje izbora, umesto da uklanjate zaštitne provere kako biste prinudno izvršili kupovinu.
Ne postoji garantovani period rezervacije niti jedinstveno primenjen rok važenja keša za sve putanje obrade. Dostupnost broja, ograničenja cena naloga i pravila kupovine ponovo se proveravaju u toku rada, ali se celokupno ponašanje specifično za provajdera još razmatra.
Napredno: podrazumevana podešavanja rutiranja naloga
Kupovina može da nasledi postojeća odredišta za govorne pozive, rezervna odredišta, SMS odredište i željeni trank za izvorne pozive sa naloga. Pregledajte ta podrazumevana podešavanja pre naručivanja; izostavljanje opcija rutiranja ne garantuje da broj neće biti konfigurisan. Pregledana pomoćna komponenta podrazumevano uključuje automatsko obnavljanje.
| Opcija | Način određivanja vrednosti |
|---|---|
| uri, uri2, uri3 | Izostavljene vrednosti nasleđuju odgovarajuća podrazumevana podešavanja naloga. Izričito prazne vrednosti brišu vrednost u pomoćnoj komponenti umesto da je naslede. Koristite važeća odredišta koja odgovaraju izabranom režimu rutiranja. |
| smsuri | Izostavljena vrednost nasleđuje SMS odredište naloga; izričito prazna vrednost briše ga u pomoćnoj komponenti. |
| origintrunk | Prepoznat, izričito naveden ID tranka ima prednost. Ako vrednost nije moguće razrešiti, može se primeniti željeno podešavanje naloga ili nasleđena podrazumevana vrednost umesto vraćanja greške. |
| forward_destination, forwarding_destination, type | Neprazni alternativni nazivi za režim rutiranja, sa prioritetom prema navedenom redosledu. Koristite podržane vrednosti iz konfiguracije rutiranja naloga, a ne nagađanu numeričku oznaku režima. |
| RegistrationID | Pretraga registracionog profila ograničena na korisnika; odvojena je od odredišta rutiranja. |
| autorenew | Podrazumevana vrednost je 1. Pomoćna komponenta proverava da li vrednost nije prazna, pa 0 ne isključuje pouzdano obnavljanje putem ovog polja za kupovinu. Koristite podržano upravljanje obnavljanjem na nalogu i proverite sačuvano podešavanje. |
Ovo opisuje ponašanje zajedničke pomoćne komponente, a ne garantuje da svaki dobavljač na isti način trajno čuva svako opciono podešavanje. Postoje i druga nasleđena polja za govorne pozive, govornu poštu, faks i SMS, ali je za njih i dalje potreban potpun pregled specifičan za provajdera. Proverite sačuvanu konfiguraciju kupljenog broja kroz tok rada naloga pre nego što se oslonite na pozive ili poruke.
Odgovor
Izmišljeni primer jednostavne kupovine; vrednosti i funkcionalnosti razlikuju se u zavisnosti od izabranog paketa.
{
"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
}
}Koordinator koristi sopstvena polja status.code/status.msg i omotač response, bez garantovanog polja status.results. U slučaju greške lista odgovora je uglavnom prazna. U slučaju uspeha pregledajte vraćeni broj i cenu, a zatim proverite i usaglasite inventar naloga i stanje registracije. Prihvatanje od strane provajdera nije test govornih poziva, SMS-a ili faksa u stvarnom okruženju.
Greške i neizvesni rezultati
| API kod | Značenje |
|---|---|
| 403 | Ograničenja cena ili kupovine na nalogu, nedostupan izbor cene ili nepristupačan registracioni profil mogu da blokiraju obradu. |
| 404 | Izbor broja, cene ili prefiksa nedostaje ili nije dostupan. |
| 409 | Broj je već aktivan, zaštitna provera ponude više ne nalazi podudaranje ili druga zaštićena operacija drži zaključavanje. |
| 422 | Podaci za registraciju su obavezni, nepotpuni ili ih nije moguće uspostaviti u pregledanim putanjama obrade registracije. |
| 500 i drugi kodovi provajdera ili naloga | Greška provajdera, lokalne obrade ili primene pravila. Ovi kodovi nisu univerzalan dokaz da nije došlo do kupovine ili naplate. |
Pročitajte stvarno telo API odgovora, kao i HTTP status. Spoljni provajder može da prihvati zakup pre nego što dođe do greške u lokalnom obaveštavanju, registraciji ili drugoj obradi. Neke dodele iz lokalnog inventara koriste transakcije baze podataka, ali ne postoji univerzalno poništavanje narudžbina kod spoljnih provajdera. Ovaj koordinator nema klijentski ključ idempotentnosti.
Proverite i usaglasite stanje pre ponovnog pokušaja
- Sačuvajte odobreni broj, cenu i gornje granice ponude u evidenciji narudžbine svoje aplikacije pre nego što zahtev pošaljete jednom.
- Posle zahteva pročitajte inventar kupljenih brojeva i detalje broja za isti nalog, uključujući slučajeve isteka vremena čekanja ili greške.
- Ako broj postoji, proverite njegovu cenu, obnavljanje, rutiranje i stanje registracije umesto da šaljete još jedan zahtev za kupovinu.
- Ako je rezultat i dalje neizvestan, zatražite od podrške da proveri i usaglasi narudžbinu kod provajdera i obračun naloga pre ponovnog pokušaja. Sama poruka o grešci ili oznaka uspeha u nasleđenom dnevniku nije dovoljan dokaz.
- Kada vlasništvo i aktivacija budu potvrđeni, obavite uobičajene provere rutiranja i testove usluga za nalog.