Програмери

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

Kupovina izabranog telefonskog broja

Pošaljite jedan odobreni broj i cenu uz zaštitne provere ponude, a zatim proverite i usaglasite vlasništvo i aktivaciju pre ponovnog pokušaja.

На овој страници
  1. Izaberite broj i cenu zajedno
  2. Pošaljite zahtev za kupovinu metodom POST uz zaštitne provere
  3. Registracija i aktivacija
  4. Izbegnite neprimetnu zamenu paketa
  5. Napredno: podrazumevana podešavanja rutiranja naloga
  6. Odgovor
  7. Greške i neizvesni rezultati
  8. Proverite i usaglasite stanje pre ponovnog pokušaja

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.

Putanja kupovine i polja ponude
PoljeZnačenje
NUMBER_IDUUID izabranog broja iz pretrage ili ceo sačuvani broj. Jedan broj po zahtevu.
PRICE_IDUUID cene povezane sa tim izabranim brojem i vašim nalogom. Uvek ga navedite izričito.
restore_quote_price_idMora 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_setupNajviša prihvatljiva cena uspostavljanja usluge, izražena kao konačna nenegativna numerička vrednost.
restore_quote_monthlyNajviša prihvatljiva mesečna cena, izražena kao konačna nenegativna numerička vrednost.
restore_quote_per_minuteNajviša prihvatljiva cena minuta dolaznog poziva, izražena kao konačna nenegativna numerička vrednost.
restore_quote_channelsTač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.

Prepoznate opcije rutiranja u zajedničkoj pomoćnoj komponenti
OpcijaNačin određivanja vrednosti
uri, uri2, uri3Izostavljene 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.
smsuriIzostavljena vrednost nasleđuje SMS odredište naloga; izričito prazna vrednost briše ga u pomoćnoj komponenti.
origintrunkPrepoznat, 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, typeNeprazni 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.
RegistrationIDPretraga registracionog profila ograničena na korisnika; odvojena je od odredišta rutiranja.
autorenewPodrazumevana 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

Glavni kodovi rezultata koordinatora
API kodZnačenje
403Ograničenja cena ili kupovine na nalogu, nedostupan izbor cene ili nepristupačan registracioni profil mogu da blokiraju obradu.
404Izbor broja, cene ili prefiksa nedostaje ili nije dostupan.
409Broj je već aktivan, zaštitna provera ponude više ne nalazi podudaranje ili druga zaštićena operacija drži zaključavanje.
422Podaci za registraciju su obavezni, nepotpuni ili ih nije moguće uspostaviti u pregledanim putanjama obrade registracije.
500 i drugi kodovi provajdera ili nalogaGreš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

  1. Sačuvajte odobreni broj, cenu i gornje granice ponude u evidenciji narudžbine svoje aplikacije pre nego što zahtev pošaljete jednom.
  2. Posle zahteva pročitajte inventar kupljenih brojeva i detalje broja za isti nalog, uključujući slučajeve isteka vremena čekanja ili greške.
  3. Ako broj postoji, proverite njegovu cenu, obnavljanje, rutiranje i stanje registracije umesto da šaljete još jedan zahtev za kupovinu.
  4. 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.
  5. Kada vlasništvo i aktivacija budu potvrđeni, obavite uobičajene provere rutiranja i testove usluga za nalog.