Programeri

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

Kupite odabrani telefonski broj

Pošaljite jedan odobreni broj i cijenu uz zaštitne provjere ponude, a zatim prije ponovnog pokušaja uskladite podatke o vlasništvu i aktivaciji.

Na ovoj stranici
  1. Odaberite broj i cijenu zajedno
  2. Pošaljite zahtjev za kupnju sa zaštitnim provjerama metodom POST
  3. Registracija i aktivacija
  4. Izbjegnite neprimjetnu zamjenu tarifnog plana
  5. Napredno: zadane postavke usmjeravanja računa
  6. Odgovor
  7. Pogreške i neizvjesni rezultati
  8. Uskladite podatke prije ponovnog pokušaja

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.

Putanja kupnje i polja ponude
PoljeZnačenje
NUMBER_IDUUID odabranog broja iz pretrage ili cijeli pohranjeni broj. Jedan broj po zahtjevu.
PRICE_IDUUID cijene povezane s tim odabranim brojem i vašim računom. Uvijek ga izričito navedite.
restore_quote_price_idMora odgovarati razriješenom ID-u cijene. Navođenje ovog polja omogućuje provjere ponude; to nije ključ idempotentnosti.
restore_quote_setupNajviša prihvatljiva cijena uspostave, izražena kao konačna nenegativna brojčana vrijednost.
restore_quote_monthlyNajviša prihvatljiva mjesečna cijena, izražena kao konačna nenegativna brojčana vrijednost.
restore_quote_per_minuteNajviša prihvatljiva cijena minute dolaznog poziva, izražena kao konačna nenegativna brojčana vrijednost.
restore_quote_channelsToč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.

Prepoznate opcije usmjeravanja u zajedničkoj pomoćnoj komponenti
OpcijaPonašanje pri razrješavanju
uri, uri2, uri3Izostavljene 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.
smsuriIzostavljena vrijednost nasljeđuje SMS odredište računa; izričito prazna vrijednost briše ga u pomoćnoj komponenti.
origintrunkPrepoznati 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, typeNeprazni 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.
RegistrationIDPretraživanje registracijskog profila ograničeno na korisnika; odvojeno je od odredišta usmjeravanja.
autorenewZadana 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

Glavni kodovi rezultata koordinatora
API kodZnačenje
403Cjenovna ograničenja ili ograničenja kupnje na računu, nedostupan odabir cijene ili registracijski profil kojem se ne može pristupiti mogu blokirati obradu.
404Odabir broja, cijene ili prefiksa nedostaje ili nije dostupan.
409Broj je već aktivan, zaštitna provjera ponude više se ne podudara ili druga operacija sa zaštitnim provjerama drži zaključavanje.
422Registracijski podaci obvezni su, nepotpuni ili ih nije moguće uspostaviti u pregledanim putanjama obrade registracije.
500 i drugi kodovi pružatelja usluge ili računaNeuspjeh 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

  1. Prije jednokratnog slanja zahtjeva pohranite odobreni broj, cijenu i gornje granice ponude u zapis narudžbe u svojoj aplikaciji.
  2. 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.
  3. Ako broj postoji, provjerite njegovu cijenu, obnovu, usmjeravanje i stanje registracije umjesto slanja novog zahtjeva za kupnju.
  4. 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.
  5. Nakon što se potvrde vlasništvo i aktivacija, provedite uobičajene provjere usmjeravanja i testove usluge za račun.