Programeri

POST/v3/order/{prefix_id}

Naručivanje telefonskih brojeva iz prefiksa

Kupite određenu količinu brojeva iz trenutačne ponude prefiksa, sačuvajte reference narudžbi te provjerite i uskladite cijene, djelomične dodjele i aktivaciju.

Na ovoj stranici
  1. Naručivanje iz prefiksa
  2. Slanje zahtjeva za kupnju
  3. Postavke isporuke i obnove
  4. Čitanje cjelovitog rezultata
  5. Djelomične kupnje i neizvjesni ishodi
  6. Registracija i aktivacija
  7. Povratne obavijesti o narudžbi
  8. Neuspjesi koje treba obraditi

Naručivanje iz prefiksa

Upotrijebite ovu operaciju kada vas katalog prefiksa upućuje na naručivanje određene količine brojeva iz prefiksa umjesto odabira pojedinačnih dostupnih brojeva. Krenite od popisa zemalja, područja ili saveznih država te popisa prefiksa. Sačuvajte identifikator prefiksa i cjenovni plan iz istog svježeg rezultata. Za određeni broj odabran s popisa dostupnih brojeva upotrijebite Kupnja odabranog telefonskog broja.

Ovim se zahtjevom mogu kupiti brojevi i prouzročiti troškovi. To nije ponuda cijene, rezervacija ni probno izvršavanje. Prije slanja pregledajte naknade za uspostavu i mjesečne naknade, cijene dolaznih minuta, uključene minute, kanale, zahtjeve za registraciju i ograničenja kupnje na računu. Rezultat iz kataloga ne rezervira raspoložive brojeve niti fiksira cijene. Provjere financiranja računa mogu se provesti prije izvršenja narudžbe; pogreška sama po sebi ne dokazuje da nije došlo do kupnje ili financiranja računa.

Slanje zahtjeva za kupnju

Koristite omogućen API račun putem HTTPS-a s dopuštene izvorne IP adrese. Postavite varijable prema svojem trenutačnom odabiru iz kataloga i odobrenoj konfiguraciji isporuke. Sljedeća naredba kupuje jedan broj.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'quantity=1' \
  --data-urlencode "price_id=$PRICE_ID" \
  --data-urlencode "channels=$CHANNELS" \
  --data-urlencode "reference=$ORDER_REFERENCE" \
  --data-urlencode "uri=$VOICE_URI" \
  "https://api.multitel.net/v3/order/$PREFIX_ID"

Gore je prikazan POST s podacima obrasca. Koordinator također čita JSON objekt kada je Content-Type postavljen na application/json. JSON polja imaju prednost pred odgovarajućim poljima obrasca/zahtjeva. Dosljedno koristite jedno kodiranje; nemojte slati proturječne vrijednosti u parametrima upita i tijelu zahtjeva.

Parametri odabira narudžbe i obavijesti
ParametarZnačenje
identifikator prefiksa u putanjiUUID prefiksa koji vraća katalog. Identifikator zemlje, područja, cijene ili pojedinačnog broja nije zamjena za njega.
quantityPošaljite cijeli broj od 1 do 100. Zadana je vrijednost 1. Vrijednosti manje od 1 prisilno se pretvaraju u 1; ovaj zahtjev ne služi samo za validaciju. Vrijednosti veće od 100 izazivaju iznimku prije uobičajene obrade odgovora ovog koordinatora, stoga se za takav nevaljan unos nemojte oslanjati na njegov uobičajeni JSON oblik.
price_idJavni identifikator cijene odabranog plana. priceid je naslijeđeni zamjenski naziv. Ako se identifikator ne podudara, može se bez obavijesti odabrati drugi plan kao zamjena; ovo polje ne jamči strogo fiksiranje cijene. Prije kupnje provjerite gornje granice cijena na računu, a nakon kupnje pregledajte vraćenu cijenu.
channelsBroj kanala iz odabranog plana. Kada se ne koristi točno podudaranje cijene, podudarni broj kanala može utjecati na odabir zamjenskog plana. Sam po sebi ne jamči kupnju određenog plana.
referenceVaša oznaka kupnje ili skupine. Upotrijebite kratku ASCII vrijednost, najviše 255 bajtova; dulje se vrijednosti skraćuju. Ako je navedena, zadržava se uz uspješne kupnje i uključuje u povratne obavijesti. Zasebne narudžbe mogu imati istu referencu. To nije ključ idempotentnosti: ponovnim slanjem ove operacije mogu se kupiti i naplatiti dodatni brojevi, čak i uz istu referencu i identična polja.
webhook_urlNeobavezni URL za povratne obavijesti. Upotrijebite HTTPS krajnju točku kojom upravljate. HTTP i HTTPS URL-ovi prolaze trenutačnu osnovnu validaciju; nevaljani URL zanemaruje se umjesto da se kupnja odbije. Povratna obavijest dodatna je obavijest, a ne dokaz da se zahtjev može sigurno ponoviti.

Postavke isporuke i obnove

Odaberite iste postavke isporuke koje biste koristili za taj broj na portalu. To su napredne konfiguracijske vrijednosti, a ne upute za stvaranje hostirane PBX centrale ili trunka za dolazne pozive. Ponovno upotrijebite konfiguraciju računa za koju znate da radi i nakon kupnje provjerite spremljeni broj. Sama prihvaćena kupnja ne potvrđuje da isporuka glasovnih poziva ili SMS poruka radi.

Dodatna polja narudžbe
PoljeUpotreba i kompatibilnost
uri, uri2, uri3Primarno i dodatna odredišta glasovnih poziva. Navedite odredišta prikladna za odabrane načine preusmjeravanja i zvonjenja.
forward_destinationNačin preusmjeravanja glasovnih poziva. forwarding_destination i type naslijeđeni su zamjenski nazivi. Ako se polje izostavi, koristi se zadana vrijednost postupka kupnje; prazno polje nije pouzdan način brisanja postojeće postavke.
ring_typeNačin zvonjenja za glasovne pozive; ringtype je zamjenski naziv. Upotrijebite podržanu vrijednost iz konfiguracije broja na svojem računu.
sms_forward_destination, sms_uriNačin i odredište isporuke SMS poruka. Naslijeđeni zamjenski nazivi su smsringtype i smsuri. Neki postupci kupnje primjenjuju zadano SMS odredište računa kada je ovo prazno. Dostupnost SMS-a ovisi o odabranom broju i njegovoj aktivaciji/registraciji.
overflowZatražena postavka preljeva poziva. Dostupnost plana i postupak kupnje utječu na to je li podržana.
force_codec, force_dtmfZatražene postavke kodeka i DTMF-a. Naslijeđeni zamjenski nazivi su forcecodec i forcedtmf. Provjerite spremljenu konfiguraciju za odabranu ponudu brojeva.
origination_trunk_idIdentifikator postojeće konfiguracije trunka, gdje je primjenjivo. Time se ne stvara trunk. Ako se polje izostavi, koristi se zadana vrijednost postupka kupnje.
autorenewZatražena postavka obnove. Nemojte pretpostaviti da 0 onemogućuje obnovu: neki postupci kupnje vrijednost koja se smatra praznom, uključujući 0, tumače kao zadanu omogućenu postavku. Na portalu provjerite obnovu kupljenog broja i po potrebi je promijenite.

Ta se polja normaliziraju i prosljeđuju postupku kupnje, ali njihovo trajno spremanje razlikuje se ovisno o načinu obrade raspoloživih brojeva. Trenutačna ruta za naručivanje ne nudi polja za strogo ograničavanje ponuđene cijene iz vodiča za kupnju odabranog broja kao jednakovrijedne zaštite. Koristite dozvole za kupnju i ograničenja cijena na računu te pregledajte konačnu konfiguraciju broja.

Čitanje cjelovitog rezultata

Raščlanite JSON tijelo i pregledajte status.code i status.msg čak i kada HTTP zahtjev uspije. Ova ruta zapisuje vlastiti JSON odgovor, a ni zajednička pomoćna funkcija za odgovore ne preslikava nužno aplikacijski kôd u HTTP status. Aplikacijski kodovi mogu biti JSON brojevi ili nizovi znakova koji predstavljaju brojeve. Nemojte zahtijevati status.results; to polje nije prisutno u uobičajenom rezultatu narudžbe.

{
  "status": {"code": "200", "msg": ""},
  "response": {
    "id": "o_fictional_example",
    "numbers": ["12025550123"],
    "price": {
      "per_minute": "0.01",
      "free_minutes": 0,
      "setup_price": "1.25",
      "monthly_price": "2.50",
      "channels": 2
    },
    "features": ["voice"],
    "needs_registration": 0,
    "restrictions": "",
    "registration_requirements": null
  }
}

Gornji identifikator, broj i cijene izmišljeni su. ID narudžbe tretirajte kao neprozirnu vrijednost čiju unutarnju strukturu ne tumačite. numbers navodi brojeve koje ovaj odgovor prijavljuje kao kupljene; usporedite duljinu tog popisa sa zatraženom količinom. Iznosi cijena nizovi su znakova, a ovaj odgovor zaokružuje novčane tarife na dva decimalna mjesta, uključujući per_minute; za izvornu preciznost tarifa koristite svježi katalog. Uključene minute i kanali mogu stići kao brojčane vrijednosti ili nizovi znakova koji predstavljaju brojeve.

Blok cijena opisuje odabrani plan upotrijebljen za sastavljanje odgovora, a ne detaljan račun za svaki broj ili ukupan iznos narudžbe. Različiti raspoloživi brojevi koji dolaze u obzir mogu imati različite planove. Provjerite i uskladite pojedinačne kupljene brojeve i transakcije na računu umjesto da množite iznose iz ovog bloka i pretpostavite da time dokazujete konačni ukupni iznos.

Djelomične kupnje i neizvjesni ishodi

Aplikacijski kôd 200 može biti popraćen upozorenjem i manjim brojem brojeva od zatraženog. Naknadni neuspjeh ne poništava kupnju već kupljenih brojeva. Sačuvajte vraćeni ID narudžbe, brojeve i poruku. Provjerite i uskladite te brojeve u svojem inventaru i transakcijama na računu prije nego što odlučite hoćete li naručiti preostalu količinu.

Istek vremena, prekid veze pri zahtjevu, neispravno oblikovan odgovor ili pogreška nakon slanja nisu dokaz da se ništa nije dogodilo. Nemojte automatski slati novi zahtjev za kupnju, čak ni s istom referencom. Sačuvajte izvorni zahtjev, referencu i svaki vraćeni ID narudžbe, provjerite inventar i transakcije na računu te se obratite podršci ako ishod ostane neizvjestan.

Nepotvrđena narudžba može vratiti aplikacijski kôd 400 s porukom da je još u postupku potvrđivanja. Sačuvajte njezin vraćeni ID narudžbe te provjerite i uskladite tu kupnju; to nije uputa da je ponovno pošaljete. Oporavak evidentirane narudžbe interno prati izvornu narudžbu. Novi zahtjev ovoj operaciji stvara zaseban pokušaj kupnje umjesto nastavka narudžbe prema vašoj referenci, pa može kupiti i naplatiti dodatne brojeve. Nemojte ponavljati zahtjeve za kupnju radi provjere statusa ili pretraživanja inventara.

Registracija i aktivacija

Kupljenom ili dodijeljenom broju možda je još potrebna registracija ili aktivacija. Ako je needs_registration postavljen na 1, pregledajte restrictions i registration_requirements. Potonje polje može upućivati na v3/get_requirements s vrijednostima country i number_type. Dovršite primjenjivi postupak provjere identiteta/adrese i potvrdite status broja prije nego što se oslonite na dolazne pozive ili razmjenu poruka.

features opisuje oglašene mogućnosti; ne potvrđuje stvarno usmjeravanje, odobrenje kampanje, isporuku SMS poruka ni primitak faksa. Provjerite spremljene postavke isporuke i provedite odgovarajući test usluge kada broj postane aktivan.

Povratne obavijesti o narudžbi

Povratne obavijesti šalju metodom POST JSON koji sadržava status narudžbe i odgovor, uz dodanu vašu referencu ako ste je naveli. Šalju se za prijavljene kupnje, uključujući djelomične rezultate. Neuspješna povratna obavijest ne poništava kupnju. Isporuka se može ponoviti, stoga duplikate obrađujte prema ID-u narudžbe te provjerite i uskladite brojeve umjesto slanja novog zahtjeva za kupnju.

Ova ruta ne dodaje kriptografski potpis povratnoj obavijesti. Povratnu obavijest tretirajte kao obavijest koju treba provjeriti i uskladiti s inventarom kojem pristupate uz autentifikaciju, a ne kao samostalno ovlaštenje za naplatu, aktiviranje usluga ili odobravanje pristupa. Nemojte stavljati vjerodajnice za API u URL za povratne obavijesti. Slanje novog zahtjeva za kupnju s drukčijim URL-om za povratne obavijesti ne ažurira izvornu narudžbu; stvara zaseban pokušaj kupnje. Zadržite izvorni ID narudžbe kada od podrške tražite da istraži njezinu povratnu obavijest.

Neuspjesi koje treba obraditi

Aplikacijski ishodi
IshodŠto učiniti
400 i poruka o nevaljanom prefiksuPonovno pročitajte katalog prefiksa i upotrijebite njegov trenutačni identifikator. Razlikujte to od poruke da je izvorna narudžba još u postupku potvrđivanja.
403 ili neuspjeh zbog pravila računa ili stanja sredstavaProvjerite dozvolu za kupnju, gornje granice cijena na računu, ograničenja količine i financiranje. Iz tih se provjera mogu proslijediti i drugi aplikacijski kodovi; sačuvajte stvarnu poruku.
404 ili nema raspoloživih brojevaOsvježite podatke o dostupnosti. Nemojte ponavljati kupnju za prefiks čija je ponuda iscrpljena.
409 i poruka o potvrđivanju kupnje, odbijanju pružatelja usluge ili otkazanoj narudžbiSačuvajte vraćeni ID narudžbe i stvarnu poruku. Prije slanja novog zahtjeva za kupnju provjerite i uskladite zahtjev s inventarom i transakcijama na računu te s podrškom. Ponovna upotreba iste reference ne čini novi zahtjev sigurnim.
200 s upozorenjima ili manjim brojem brojevaNeki su brojevi kupljeni. Provjerite i uskladite vraćenu dodjelu i transakcije prije naručivanja dodatnih brojeva.
Pogreška poslužitelja ili prijenosa ili nečitljiv odgovorSmatrajte ishod potencijalno neizvjesnim dok se na temelju inventara i transakcija ne utvrdi što se dogodilo.