Програмери

POST/v3/order/{prefix_id}

Naručivanje telefonskih brojeva iz prefiksa

Kupite određenu količinu brojeva iz trenutno raspoloživog fonda za prefiks, sačuvajte reference narudžbina i usaglasite cene, delimične dodele i aktivaciju.

На овој страници
  1. Naručivanje iz prefiksa
  2. Slanje zahteva za kupovinu
  3. Podešavanja isporuke i obnove
  4. Čitanje celog rezultata
  5. Delimične kupovine i neizvesni ishodi
  6. Registracija i aktivacija
  7. Povratna obaveštenja o narudžbini
  8. Greške koje treba obraditi

Naručivanje iz prefiksa

Koristite ovu operaciju kada vas katalog prefiksa upućuje da naručite određenu količinu brojeva iz prefiksa umesto da birate pojedinačne dostupne brojeve. Počnite od zemalja, oblasti ili saveznih država i prefiksa. Sačuvajte identifikator prefiksa i tarifni plan iz istog svežeg rezultata. Za konkretan broj izabran sa liste dostupnih brojeva koristite Kupovina izabranog telefonskog broja.

Ovaj zahtev može dovesti do kupovine brojeva i nastanka troškova. On nije ponuda cene, rezervacija niti probno izvršavanje. Pre slanja proverite naknade za uspostavljanje usluge i mesečne naknade, cene minuta dolaznih poziva, uključene minute, kanale, zahteve za registraciju i ograničenja kupovine na nalogu. Rezultat kataloga ne rezerviše brojeve niti garantuje nepromenljivost cena. Provere dopune sredstava na nalogu mogu se obaviti pre realizacije; sama greška ne dokazuje da nije došlo do kupovine ili dopune sredstava na nalogu.

Slanje zahteva za kupovinu

Koristite omogućen API nalog preko HTTPS veze sa dozvoljene izvorne IP adrese. Podesite promenljive prema trenutnom izboru iz kataloga i odobrenoj konfiguraciji isporuke. Sledeća komanda 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"

Iznad je prikazan POST zahtev sa podacima obrasca. Koordinator takođe čita JSON objekat kada je Content-Type postavljen na application/json. JSON polja imaju prednost nad odgovarajućim poljima obrasca/zahteva. Dosledno koristite jedno kodiranje; ne šaljite neusaglašene vrednosti u parametrima upita i telu zahteva.

Parametri za izbor pri naručivanju i obaveštavanje
ParametarZnačenje
identifikator prefiksa u putanjiUUID prefiksa koji vraća katalog. Identifikator zemlje, oblasti, cene ili pojedinačnog broja ne može da ga zameni.
quantityPošaljite ceo broj od 1 do 100. Podrazumevana vrednost je 1. Vrednosti manje od 1 svode se na 1; ovo nije zahtev koji služi samo za validaciju. Vrednosti veće od 100 izazivaju izuzetak pre uobičajene obrade odgovora ovog koordinatora, pa se za takav nevažeći unos nemojte oslanjati na njegov uobičajeni JSON format.
price_idJavni identifikator cene izabranog plana. priceid je stariji alternativni naziv. Identifikator koji se ne podudara može bez upozorenja dovesti do izbora drugog plana; ovo polje ne garantuje strogo fiksiranje cene. Pre kupovine potvrdite gornje granice cena na nalogu, a nakon kupovine proverite vraćenu cenu.
channelsBroj kanala iz izabranog plana. Kada se ne koristi tačno podudaranje cene, podudaranje broja kanala može uticati na izbor zamenskog plana. Ono samo po sebi ne garantuje kupovinu određenog plana.
referenceVaša oznaka kupovine ili grupe kupovina. Koristite kratku ASCII vrednost, najviše 255 bajtova; duže vrednosti se skraćuju. Čuva se uz uspešne kupovine i uključuje u povratna obaveštenja kada je navedena. Zasebne narudžbine mogu imati istu referencu. Ona nije ključ idempotentnosti: ponovnim slanjem ove operacije mogu se kupiti i naplatiti dodatni brojevi, čak i uz istu referencu i identična polja.
webhook_urlOpciona URL adresa za povratna obaveštenja. Koristite HTTPS krajnju tačku koju kontrolišete. HTTP i HTTPS URL adrese prolaze trenutnu osnovnu validaciju; nevažeća URL adresa se zanemaruje umesto da kupovina bude odbijena. Povratno obaveštenje je dodatno obaveštenje, a ne dokaz da se zahtev može bezbedno ponoviti.

Podešavanja isporuke i obnove

Izaberite ista podešavanja isporuke koja biste koristili za broj na portalu. To su napredne konfiguracione vrednosti, a ne uputstva za kreiranje hostovane PBX centrale ili tranka za dolazne pozive. Ponovo koristite konfiguraciju naloga za koju znate da radi i proverite sačuvani broj nakon kupovine. Samo prihvatanje kupovine ne potvrđuje da isporuka glasovnih poziva ili SMS poruka radi.

Dodatna polja narudžbine
PoljeUpotreba i kompatibilnost
uri, uri2, uri3Primarno i dodatna odredišta za glasovne pozive. Navedite odredišta koja odgovaraju izabranim režimima prosleđivanja i zvonjenja.
forward_destinationRežim prosleđivanja glasovnih poziva. forwarding_destination i type su stariji alternativni nazivi. Ako se polje izostavi, koristi se podrazumevana vrednost odgovarajućeg toka kupovine; prazno polje nije pouzdan način da se ukloni postojeće podešavanje.
ring_typeRežim zvonjenja za glasovne pozive; ringtype je alternativni naziv. Koristite podržanu vrednost iz konfiguracije broja na svom nalogu.
sms_forward_destination, sms_uriRežim i odredište isporuke SMS poruka. Stariji alternativni nazivi su smsringtype i smsuri. Neki tokovi kupovine primenjuju podrazumevano SMS odredište naloga kada je ovo prazno. Dostupnost SMS usluge zavisi od izabranog broja i njegove aktivacije/registracije.
overflowZahtevano podešavanje prelivanja poziva. Dostupnost plana i tok kupovine utiču na to da li je ono podržano.
force_codec, force_dtmfZahtevana podešavanja kodeka i DTMF signalizacije. Stariji alternativni nazivi su forcecodec i forcedtmf. Proverite sačuvanu konfiguraciju za izabrani fond brojeva.
origination_trunk_idIdentifikator postojeće konfiguracije tranka, gde je primenljivo. Ovo ne kreira trank. Ako se izostavi, koristi se podrazumevana vrednost toka kupovine.
autorenewZahtevano podešavanje obnove. Nemojte pretpostavljati da 0 isključuje obnovu: neki tokovi kupovine vrednost koja se smatra praznom, uključujući 0, tumače kao podrazumevano uključeno podešavanje. Proverite i, po potrebi, promenite obnovu za kupljeni broj na portalu.

Ova polja se normalizuju i prosleđuju procesu kupovine, ali se njihovo trajno čuvanje razlikuje u zavisnosti od toka obrade fonda brojeva. Trenutna ruta za naručivanje ne pruža polja za strogo ograničenje ponuđene cene iz vodiča za kupovinu izabranog broja kao ekvivalentne zaštitne mehanizme. Koristite dozvole za kupovinu i ograničenja cena na nalogu i proverite dobijenu konfiguraciju broja.

Čitanje celog rezultata

Parsiranjem obradite JSON telo i proverite status.code i status.msg čak i kada HTTP zahtev uspe. Ova ruta sama formira svoj JSON odgovor, a ni zajednička pomoćna funkcija za odgovore ne preslikava nužno aplikacioni kod u HTTP status. Aplikacioni kodovi mogu biti JSON brojevi ili numerički stringovi. Nemojte zahtevati status.results; to polje nije prisutno u uobičajenom rezultatu naručivanja.

{
  "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
  }
}

Gore navedeni identifikator, broj i cene su izmišljeni. Tretirajte ID narudžbine kao neproziran identifikator, bez tumačenja njegove strukture. numbers navodi brojeve koje ovaj odgovor prijavljuje kao kupljene; uporedite dužinu te liste sa traženom količinom. Iznosi cena su stringovi, a ovaj odgovor zaokružuje novčane tarife na dva decimalna mesta, uključujući per_minute; za izvornu preciznost tarifa koristite svež katalog. Uključeni minuti i kanali mogu stići kao numeričke vrednosti ili numerički stringovi.

Blok sa cenom opisuje izabrani plan korišćen za formiranje odgovora, a ne detaljan račun za svaki broj niti ukupan iznos narudžbine. Različiti kandidati iz fonda brojeva mogu imati različite planove. Usaglasite pojedinačne kupljene brojeve i transakcije na nalogu umesto da množite iznose iz ovog bloka i pretpostavljate da time potvrđujete konačan ukupan iznos.

Delimične kupovine i neizvesni ishodi

Aplikacioni kod 200 može biti praćen upozorenjem i manjim brojem brojeva od traženog. Naknadni neuspeh ne poništava kupovinu već kupljenih brojeva. Sačuvajte vraćeni ID narudžbine, brojeve i poruku. Usaglasite te brojeve sa svojim fondom brojeva i transakcijama na nalogu pre nego što odlučite da li ćete naručiti preostalu količinu.

Istek vremena, prekid veze tokom zahteva, neispravno formatiran odgovor ili greška nakon slanja nisu dokaz da se ništa nije dogodilo. Nemojte automatski slati novi zahtev za kupovinu, čak ni sa istom referencom. Sačuvajte izvorni zahtev, referencu i svaki vraćeni ID narudžbine, proverite fond brojeva i transakcije na nalogu i obratite se podršci ako ishod ostane neizvestan.

Nepotvrđena narudžbina može vratiti aplikacioni kod 400 uz poruku da je potvrđivanje još u toku. Sačuvajte njen vraćeni ID narudžbine i usaglasite tu kupovinu; to nije uputstvo da je ponovo pošaljete. Mehanizam oporavka evidentirane narudžbine interno prati izvornu narudžbinu. Novi zahtev ovoj operaciji kreira zaseban pokušaj kupovine umesto da nastavlja narudžbinu prema vašoj referenci, pa može kupiti i naplatiti još brojeva. Nemojte koristiti ponovljene zahteve za kupovinu radi provere statusa ili pretraživanja fonda brojeva.

Registracija i aktivacija

Kupljenom ili dodeljenom broju i dalje može biti potrebna registracija ili aktivacija. Ako je needs_registration jednako 1, proverite restrictions i registration_requirements. Poslednje navedeno polje može upućivati na v3/get_requirements sa vrednostima za country i number_type. Završite odgovarajući postupak provere identiteta/adrese i potvrdite status broja pre nego što se oslonite na dolazne pozive ili razmenu poruka.

features opisuje oglašene mogućnosti; ne potvrđuje usmeravanje u stvarnom radu, odobrenje kampanje, isporuku SMS poruka niti prijem faksa. Proverite sačuvana podešavanja isporuke i obavite odgovarajući test usluge kada broj bude aktivan.

Povratna obaveštenja o narudžbini

Povratna obaveštenja šalju se metodom POST u JSON formatu koji sadrži status narudžbine i odgovor, uz vašu referencu ako je navedena. Šalju se za prijavljene kupovine, uključujući delimične rezultate. Neuspelo povratno obaveštenje ne poništava kupovinu. Isporuka se može ponoviti, pa obradite duplikate prema ID-u narudžbine i usaglasite brojeve umesto da šaljete novi zahtev za kupovinu.

Ova ruta ne dodaje kriptografski potpis povratnom obaveštenju. Tretirajte povratno obaveštenje kao obaveštenje koje treba usaglasiti sa fondom brojeva kojem pristupate uz autentifikaciju, a ne kao samostalno ovlašćenje za naplatu, aktiviranje usluga ili dodelu pristupa. Nemojte unositi API pristupne podatke u URL adresu za povratna obaveštenja. Slanje novog zahteva za kupovinu sa drugačijom URL adresom za povratna obaveštenja ne ažurira izvornu narudžbinu; time se kreira zaseban pokušaj kupovine. Sačuvajte izvorni ID narudžbine kada od podrške tražite da ispita njeno povratno obaveštenje.

Greške koje treba obraditi

Aplikacioni ishodi
IshodŠta preduzeti
400 i poruka o nevažećem prefiksuPonovo pročitajte katalog prefiksa i koristite njegov trenutni identifikator. Razlikujte ovo od poruke da je potvrđivanje izvorne narudžbine još u toku.
403 ili neuspeh zbog pravila naloga ili stanja sredstavaProverite dozvolu za kupovinu, gornje granice cena na nalogu, ograničenja količine i obezbeđivanje sredstava. Iz tih provera mogu se proslediti i drugi aplikacioni kodovi; sačuvajte stvarnu poruku.
404 ili nema raspoloživih brojevaOsvežite podatke o dostupnosti. Nemojte ponavljati kupovinu za prefiks čiji je fond brojeva iscrpljen.
409 i poruka o potvrđivanju kupovine, odbijanju od strane pružaoca usluge ili otkazanoj narudžbiniSačuvajte vraćeni ID narudžbine i stvarnu poruku. Usaglasite zahtev sa fondom brojeva, transakcijama na nalogu i podrškom pre slanja novog zahteva za kupovinu. Ponovna upotreba iste reference ne čini novi zahtev bezbednim.
200 uz upozorenja ili manje brojevaNeki brojevi su kupljeni. Usaglasite vraćenu dodelu brojeva i transakcije pre nego što naručite još brojeva.
Greška servera ili prenosa ili nečitljiv odgovorSmatrajte rezultat potencijalno neizvesnim dok se na osnovu fonda brojeva i transakcija ne utvrdi šta se dogodilo.