Odaberite broj i cijenu zajedno
Kupite jedan određeni broj odabran iz rezultata nove pretrage dostupnih brojeva. Upotrijebite info.uuid odabranog zapisa kao ID broja, a jednu od vrijednosti price[].uuid istog zapisa kao ID cijene. Ruta prihvaća i cijeli pohranjeni broj, ali ID države, područja ili prefiksa nije zamjena za odabir broja.
Pretraživanje ili čitanje spremljenih cijena ne rezervira broj niti fiksira njegovu cijenu. Potvrdite odabranu cijenu uspostave, mjesečnu cijenu, cijenu minute dolaznog poziva, uključene minute i kanale te dopuštenja računa za kupnju i zahtjeve za registraciju. Početni osnovni iznos u pregledanoj pomoćnoj komponenti zbroj je cijene uspostave i mjesečne cijene; za odabrani tarifni plan potrebno je potvrditi sve naknade i uvjete pojedinog pružatelja usluge.
Pošaljite zahtjev za kupnju sa zaštitnim provjerama metodom POST
Upotrijebite omogućen API račun putem HTTPS-a s dopuštene izvorne IP adrese. Sljedeća naredba izvršava kupnju, a ne izrađuje ponudu niti provodi probno izvršavanje. Postavite sve varijable prema istom novom odabiru broja i cijene. Polja gornjih granica zadržavaju naslijeđeni prefiks restore_quote_; trenutačni portal također ih upotrebljava za kupnje određenih brojeva sa zaštitnim provjerama.
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"Upotrijebite POST s podacima obrasca kako je prikazano. Pomoćna komponenta podržava i parsiranje JSON-a i omotača opcija, ali ovim pregledom nije utvrđena potpuna jednakovrijednost za sve putanje obrade ponuda i pružatelja usluge. Nemojte upotrebljavati GET za kupnju iako ovaj naslijeđeni koordinator nema izričitu zaštitnu provjeru metode.
| Polje | Značenje |
|---|---|
| NUMBER_ID | UUID odabranog broja iz pretrage ili cijeli pohranjeni broj. Jedan broj po zahtjevu. |
| PRICE_ID | UUID cijene povezane s tim odabranim brojem i vašim računom. Uvijek ga izričito navedite. |
| restore_quote_price_id | Mora odgovarati razriješenom ID-u cijene. Navođenje ovog polja omogućuje provjere ponude; to nije ključ idempotentnosti. |
| restore_quote_setup | Najviša prihvatljiva cijena uspostave, izražena kao konačna nenegativna brojčana vrijednost. |
| restore_quote_monthly | Najviša prihvatljiva mjesečna cijena, izražena kao konačna nenegativna brojčana vrijednost. |
| restore_quote_per_minute | Najviša prihvatljiva cijena minute dolaznog poziva, izražena kao konačna nenegativna brojčana vrijednost. |
| restore_quote_channels | Točan cjelobrojni broj kanala odabrane cjenovne opcije, a ne zahtjev za drukčiji plan kanala. |
Kad god navedete ID cijene iz ponude, navedite i sva brojčana polja ponude. Promijenjeni ID, cijena iznad gornje granice, nedostajuća ili nevaljana gornja granica, promijenjeni broj kanala ili zauzeto zaključavanje ponude vraćaju API kod 409 prije slanja zahtjeva odabranom pružatelju najma. Usporedbe dopuštaju malu toleranciju brojeva s pomičnim zarezom; upotrijebite stvarne prikazane vrijednosti tarifnog plana umjesto ručno zaokružene cijene.
Zaštitne provjere ne čine cijeli tijek rada probnim izvršavanjem ili transakcijom. Pretraživanja registracijskih podataka, uspostava identiteta ili druge radnje pomoćne komponente mogu se dogoditi prije tih provjera. One također ne zamrzavaju vanjsku zalihu brojeva niti zamjenjuju ograničenja kupnje na razini računa.
Registracija i aktivacija
Kada je potrebno, dodajte polje obrasca RegistrationID koje sadrži UUID registracijskog profila u vlasništvu korisnika. To nije ID prenesenog dokaza, adrese dobavljača ili zasebnog entiteta identiteta. Pomoćna komponenta razrješava profil u okviru autentificiranog računa i odbija profile koji nedostaju ili nisu dostupni.
Dio podržane zalihe brojeva dopušta kupnju prije dovršetka registracije; drugi dio zahtijeva profil prije kupnje. I dalje mogu biti potrebni provjera valjanosti ili aktivacijski postupci specifični za operatora. Uspješnu kupnju ili izostavljenu prethodnu provjeru nemojte tumačiti kao izuzeće od registracije ili trenutačnu aktivaciju.
Ako je prisutno, polje odgovora registration_requirements identificira strukturirani upit za zahtjeve prema državi i vrsti broja. Upotrijebite registracijski katalog i postupak dostave dokaza kako biste ispunili primjenjive zahtjeve. Vraćeni tekst i metapodaci sami po sebi ne odobravaju profil.
Izbjegnite neprimjetnu zamjenu tarifnog plana
Naslijeđeni koordinator može zaključiti izostavljenu cijenu iz podataka o broju u predmemoriji. Također može prijeći na najnoviju cijenu računa za prefiks u predmemoriji kada izričito navedeni ID cijene više ne postoji te ažurirati odabir dopuštene cijene u predmemoriji. Nemojte se oslanjati na te zamjenske postupke pri odabiru tarifnog plana koji je korisnik odobrio.
Izričito navedite odabranu cijenu i odgovarajuća polja zaštitnih provjera ponude. Zaštitna provjera ID-a ponude odbija prelazak na drugi ID prije slanja zahtjeva za najam. Nakon sukoba zbog zastarjele cijene osvježite pretragu i pribavite novi odobreni odabir umjesto da uklanjate zaštitne provjere kako biste prisilno proveli kupnju.
Ne postoji zajamčeno razdoblje rezervacije niti se na svim putanjama obrade univerzalno provodi isti rok valjanosti predmemorije. Dostupnost broja, cjenovna ograničenja računa i pravila kupnje ponovno se provjeravaju tijekom tijeka rada, ali cjelokupno ponašanje specifično za pojedinog pružatelja usluge još je predmet pregleda.
Napredno: zadane postavke usmjeravanja računa
Pri kupnji se mogu naslijediti postojeća odredišta za govorne pozive, pričuvna odredišta, SMS odredište i preferirana spojna linija za polazišne pozive s računa. Pregledajte te zadane postavke prije naručivanja; izostavljanje opcija usmjeravanja ne jamči da broj neće biti konfiguriran. Pregledana pomoćna komponenta prema zadanim postavkama omogućuje automatsku obnovu.
| Opcija | Ponašanje pri razrješavanju |
|---|---|
| uri, uri2, uri3 | Izostavljene vrijednosti nasljeđuju odgovarajuće zadane postavke računa. Izričito prazne vrijednosti brišu vrijednost u pomoćnoj komponenti umjesto da je naslijede. Upotrijebite valjana odredišta prikladna za odabrani način usmjeravanja. |
| smsuri | Izostavljena vrijednost nasljeđuje SMS odredište računa; izričito prazna vrijednost briše ga u pomoćnoj komponenti. |
| origintrunk | Prepoznati izričito navedeni ID spojne linije ima prednost. Nerazriješena vrijednost može dovesti do primjene preferirane postavke računa ili naslijeđene zadane postavke umjesto do pogreške. |
| forward_destination, forwarding_destination, type | Neprazni alternativni nazivi načina usmjeravanja, prema navedenom redoslijedu prvenstva. Upotrijebite podržane vrijednosti iz konfiguracije usmjeravanja računa, a ne nagađanu brojčanu oznaku načina rada. |
| RegistrationID | Pretraživanje registracijskog profila ograničeno na korisnika; odvojeno je od odredišta usmjeravanja. |
| autorenew | Zadana je vrijednost 1. Pomoćna komponenta provjerava je li vrijednost neprazna, pa 0 ne onemogućuje pouzdano obnovu putem ovog polja za kupnju. Upotrijebite podržani način upravljanja obnovom na računu i provjerite spremljenu postavku. |
Ovo opisuje ponašanje zajedničke pomoćne komponente i ne jamči da svaki dobavljač na isti način trajno sprema svaku neobveznu postavku. Postoje i druga naslijeđena polja za govorne pozive, govornu poštu, faks i SMS, ali ona još zahtijevaju potpun pregled za svakog pružatelja usluge. Provjerite spremljenu konfiguraciju kupljenog broja kroz postupak na računu prije nego što se oslonite na pozive ili poruke.
Odgovor
Izmišljeni primjer jednostavne kupnje; vrijednosti i značajke razlikuju se ovisno o odabranom tarifnom planu.
{
"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 upotrebljava vlastita polja status.code/status.msg i omotnicu response, bez zajamčenog polja status.results. U slučaju pogreške popis u odgovoru obično je prazan. U slučaju uspjeha pregledajte vraćeni broj i cijenu, a zatim uskladite podatke o brojevima na računu i stanju registracije. Prihvaćanje od strane pružatelja usluge nije test stvarnih govornih poziva, SMS-a ili faksa.
Pogreške i neizvjesni rezultati
| API kod | Značenje |
|---|---|
| 403 | Cjenovna ograničenja ili ograničenja kupnje na računu, nedostupan odabir cijene ili registracijski profil kojem se ne može pristupiti mogu blokirati obradu. |
| 404 | Odabir broja, cijene ili prefiksa nedostaje ili nije dostupan. |
| 409 | Broj je već aktivan, zaštitna provjera ponude više se ne podudara ili druga operacija sa zaštitnim provjerama drži zaključavanje. |
| 422 | Registracijski podaci obvezni su, nepotpuni ili ih nije moguće uspostaviti u pregledanim putanjama obrade registracije. |
| 500 i drugi kodovi pružatelja usluge ili računa | Neuspjeh kod pružatelja usluge, pri lokalnoj obradi ili zbog pravila. Ti kodovi nisu univerzalan dokaz da nije došlo do kupnje ili naplate. |
Pročitajte stvarno tijelo API odgovora, kao i HTTP status. Vanjski pružatelj usluge može prihvatiti najam prije nego što lokalno obavještavanje, registracija ili druga obrada završi neuspjehom. Neke dodjele brojeva iz lokalne zalihe upotrebljavaju transakcije baze podataka, ali ne postoji univerzalno poništavanje narudžbi kod vanjskih pružatelja usluge. Ovaj koordinator nema klijentski ključ idempotentnosti.
Uskladite podatke prije ponovnog pokušaja
- Prije jednokratnog slanja zahtjeva pohranite odobreni broj, cijenu i gornje granice ponude u zapis narudžbe u svojoj aplikaciji.
- Nakon zahtjeva pročitajte popis kupljenih brojeva i pojedinosti o broju za isti račun, uključujući nakon isteka vremena čekanja ili pogreške.
- Ako broj postoji, provjerite njegovu cijenu, obnovu, usmjeravanje i stanje registracije umjesto slanja novog zahtjeva za kupnju.
- Ako je rezultat i dalje neizvjestan, zatražite od podrške da prije ponovnog pokušaja uskladi narudžbu kod pružatelja usluge i naplatu na računu. Sama poruka o pogrešci ili oznaka uspjeha u naslijeđenom zapisniku nije dovoljan dokaz.
- Nakon što se potvrde vlasništvo i aktivacija, provedite uobičajene provjere usmjeravanja i testove usluge za račun.