Tellimine prefiksi alusel
Kasutage seda toimingut siis, kui prefiksite kataloog suunab teid üksikute saadaolevate numbrite valimise asemel tellima prefiksi alt teatud koguse numbreid. Alustage järgmistest valikutest: riigid, piirkonnad või osariigid ning prefiksid. Säilitage prefiksi tunnus ja hinnapakett samast värskest tulemusest. Saadaolevate numbrite loendist valitud konkreetse numbri jaoks kasutage juhendit Valitud telefoninumbri ostmine.
See päring võib osta numbreid ja tuua kaasa tasusid. See ei ole hinnapakkumine, broneering ega proovikäivitus. Enne esitamist vaadake üle liitumis- ja kuutasud, sissetulevate kõnede minutihinnad, hinnas sisalduvad minutid, kanalid, registreerimisnõuded ja konto ostulimiidid. Kataloogi tulemus ei broneeri numbreid ega fikseeri hindu. Konto rahastamise kontrollid võivad toimuda enne tellimuse täitmist; veateade iseenesest ei tõenda, et ostu ega konto rahastamist ei toimunud.
Ostupäringu esitamine
Kasutage lubatud lähte-IP-aadressilt HTTPS-i kaudu aktiveeritud API-kontot. Määrake muutujad oma praeguse kataloogivaliku ja heakskiidetud edastuskonfiguratsiooni põhjal. Järgmine käsk ostab ühe numbri.
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"Ülal on näidatud vormiandmetega POST-päring. Koordinaator loeb ka JSON-objekti, kui päise Content-Type väärtus on application/json. JSON-väljad kirjutavad vastavad vormi- või päringuväljad üle. Kasutage järjekindlalt üht kodeeringut; ärge saatke päringuparameetrites ja sisus vastuolulisi väärtusi.
| Parameeter | Tähendus |
|---|---|
| prefiksi tunnus URL-i tees | Kataloogist tagastatud prefiksi UUID. Selle asemel ei saa kasutada riigi, piirkonna, hinna ega üksiku numbri tunnust. |
| quantity | Saatke täisarv vahemikus 1 kuni 100. Vaikeväärtus on 1. Väärtused alla 1 teisendatakse väärtuseks 1; see ei ole üksnes valideerimiseks mõeldud päring. Väärtused üle 100 põhjustavad erindi enne selle koordinaatori tavapärast vastusekäsitlust, seega ärge lootke sellise vigase sisendi korral tavapärasele JSON-struktuurile. |
| price_id | Valitud paketi avalik hinnatunnus. priceid on varasem alternatiivne nimi. Mittevastava tunnuse korral võidakse ilma teavituseta valida teine pakett; see väli ei taga hinna ranget fikseerimist. Kontrollige enne ostu konto hinnapiire ja pärast ostu tagastatud hinda. |
| channels | Valitud paketi kanalite arv. Kui täpset hinnavastet ei kasutata, võib vastav kanalite arv mõjutada asendusvalikut. See ei taga iseseisvalt konkreetse paketi ostmist. |
| reference | Teie tähis ostu või partii jaoks. Kasutage lühikest ASCII-väärtust, kuni 255 baiti; pikemad väärtused kärbitakse. Edukate ostude korral see säilitatakse ning lisatakse tagasikutsetesse, kui see on esitatud. Eri tellimustel võib olla sama viide. See ei ole idempotentsusvõti: selle toimingu uuesti esitamine võib osta lisanumbreid ja tuua kaasa nende eest tasusid ka sama viite ning identsete väljade korral. |
| webhook_url | Valikuline tagasikutse URL. Kasutage enda kontrolli all olevat HTTPS-otspunkti. HTTP- ja HTTPS-URL-id läbivad praeguse lihtsa validaatori; vigast URL-i eiratakse, selle asemel et ost tagasi lükata. Tagasikutse on lisateavitus, mitte tõend selle kohta, et päringut saab ohutult korrata. |
Edastuse ja uuendamise seaded
Valige samad edastusseaded, mida kasutaksite selle numbri jaoks portaalis. Need on täpsemad konfiguratsiooniväärtused, mitte juhised hostitud kodukeskjaama või sissetulevate kõnede magistraalühenduse loomiseks. Kasutage uuesti teadaolevalt toimivat konto konfiguratsiooni ja kontrollige pärast ostu salvestatud numbrit. Ainuüksi ostu vastuvõtmine ei kinnita, et kõnede või SMS-ide edastus toimib.
| Väli | Kasutamine ja ühilduvus |
|---|---|
| uri, uri2, uri3 | Peamine ja täiendavad kõnede sihtkohad. Esitage valitud suunamis- ja helinarežiimidele sobivad sihtkohad. |
| forward_destination | Kõnede suunamisrežiim. forwarding_destination ja type on varasemad alternatiivsed nimed. Välja puudumisel kasutatakse ostu vormistamise töövoo vaikeväärtust; tühi väli ei ole usaldusväärne viis olemasoleva eelistuse kustutamiseks. |
| ring_type | Kõnede helinarežiim; ringtype on alternatiivne nimi. Kasutage oma konto numbrikonfiguratsioonis toetatud väärtust. |
| sms_forward_destination, sms_uri | SMS-ide edastusrežiim ja sihtkoht. Varasemad alternatiivsed nimed on smsringtype ja smsuri. Mõned ostu vormistamise töövood rakendavad tühja väärtuse korral konto SMS-ide vaikesihtkohta. SMS-ide saadavus sõltub valitud numbrist ja selle aktiveerimisest või registreerimisest. |
| overflow | Soovitud ülevooluseade. Selle toetamist mõjutavad paketi saadavus ja ostu vormistamise töövoog. |
| force_codec, force_dtmf | Soovitud koodeki- ja DTMF-seaded. Varasemad alternatiivsed nimed on forcecodec ja forcedtmf. Kontrollige valitud numbrivaru jaoks salvestatud konfiguratsiooni. |
| origination_trunk_id | Olemasoleva magistraalühenduse konfiguratsiooni tunnus, kui see on kohaldatav. See ei loo magistraalühendust. Välja puudumisel kasutatakse ostu vormistamise vaikeväärtust. |
| autorenew | Soovitud uuendamisseade. Ärge eeldage, et 0 keelab uuendamise: mõned ostu vormistamise töövood käsitlevad tühjaga samaväärset väärtust, sealhulgas 0, vaikimisi lubatud seadistusena. Kontrollige ostetud numbri uuendamist portaalis ja muutke seda vajaduse korral. |
Need väljad normaliseeritakse ja edastatakse ostu vormistamisele, kuid nende salvestamine erineb numbrivaru töövoogude lõikes. Praegune tellimismarsruut ei paku valitud numbri ostujuhendis kirjeldatud rangeid hinnapakkumise ülempiiri välju samaväärsete kaitsemeetmetena. Kasutage konto ostuõigusi ja hinnapiire ning kontrollige tulemuseks saadud numbri konfiguratsiooni.
Kogu tulemuse lugemine
Parsige JSON-sisu ning kontrollige välju status.code ja status.msg ka siis, kui HTTP-päring õnnestub. See marsruut koostab oma JSON-vastuse ning ka ühine vastuse abifunktsioon ei pruugi rakenduse koodi HTTP-olekuga vastavusse viia. Rakenduse koodid võivad olla JSON-arvud või numbrilised stringid. Ärge nõudke välja status.results olemasolu; tavapärases tellimustulemuses seda ei ole.
{
"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
}
}Ülaltoodud tunnus, number ja hinnad on väljamõeldud. Käsitlege tellimuse ID-d tunnusena, mille sisemist struktuuri ei tõlgendata. numbers loetleb numbrid, mille ostmisest see vastus teatab; võrrelge loendi pikkust küsitud kogusega. Hinnasummad on stringid ning see vastus ümardab rahalised määrad kahe komakohani, sealhulgas välja per_minute; algse hinnatäpsuse saamiseks kasutage värsket kataloogi. Hinnas sisalduvad minutid ja kanalid võivad saabuda arvväärtuste või numbriliste stringidena.
Hinnaplokk kirjeldab vastuse koostamiseks kasutatud valitud paketti, mitte iga numbri üksikasjalikku arvet ega tellimuse kogusummat. Eri saadaolevatel numbrikandidaatidel võivad olla erinevad paketid. Kontrollige üksikute ostetud numbrite ja kontotehingute vastavust, selle asemel et selle ploki summasid korrutada ja eeldada, et see tõendab lõplikku kogusummat.
Osalised ostud ja ebaselged tulemused
Rakenduse koodiga 200 võib kaasneda hoiatus ja küsitust vähem numbreid. Hilisem tõrge ei tühista juba ostetud numbreid. Säilitage tagastatud tellimuse ID, numbrid ja teade. Kontrollige nende numbrite vastavust oma numbrivarus ja kontotehingutes, enne kui otsustate, kas tellida puuduv kogus.
Ajalõpp, päringu ühenduse katkemine, vigase vorminguga vastus või esitamise järel ilmnenud viga ei tõenda, et midagi ei toimunud. Ärge esitage automaatselt uut ostupäringut, isegi sama viitega. Säilitage algne päring, viide ja võimalik tagastatud tellimuse ID, kontrollige numbrivaru ja kontotehinguid ning võtke toega ühendust, kui tulemus jääb ebaselgeks.
Kinnitamata tellimus võib tagastada rakenduse koodi 400 koos teatega, et kinnitamine on veel pooleli. Säilitage tagastatud tellimuse ID ja kontrollige selle ostu vastavust; see ei ole juhis tellimus uuesti esitada. Salvestatud tellimuse taastamine jälgib algset tellimust süsteemisiseselt. Selle toimingu uus päring loob eraldi ostukatse, mitte ei jätka tellimust teie viite alusel, mistõttu võidakse osta rohkem numbreid ja nende eest tasu võtta. Ärge kasutage korduvaid ostupäringuid oleku kontrollimiseks ega numbrivaru otsimiseks.
Registreerimine ja aktiveerimine
Ostetud või eraldatud number võib endiselt vajada registreerimist või aktiveerimist. Kui needs_registration on 1, kontrollige välju restrictions ja registration_requirements. Viimane võib osutada otspunktile v3/get_requirements koos väljade country ja number_type väärtustega. Läbige kohaldatav isiku või aadressi tuvastamise töövoog ja kinnitage numbri olek, enne kui hakkate lootma sissetulevate kõnede või sõnumside toimimisele.
features kirjeldab väljakuulutatud võimalusi; see ei kinnita tegeliku marsruutimise, kampaania heakskiidu, SMS-ide edastuse ega fakside vastuvõtu toimimist. Kontrollige salvestatud edastusseadeid ja tehke asjakohane teenusetest, kui number on aktiivne.
Tellimuse tagasikutsed
Tagasikutsed saadavad meetodiga POST JSON-i, mis sisaldab tellimuse olekut ja vastust ning teie viidet, kui see on esitatud. Need saadetakse ostude kohta, millest teatatakse, sealhulgas osaliste tulemuste korral. Ebaõnnestunud tagasikutse ei tühista ostu. Edastamist võidakse uuesti proovida, seega käsitlege duplikaate tellimuse ID alusel ja kontrollige numbrite vastavust, selle asemel et esitada uus ostupäring.
See marsruut ei lisa tagasikutsele krüptograafilist allkirja. Käsitlege tagasikutset teavitusena, mille andmeid tuleb võrrelda autentitud juurdepääsuga saadud numbrivaruga, mitte iseseisva volitusena tasu võtta, teenust kasutusele võtta või juurdepääsu anda. Ärge lisage tagasikutse URL-i API autentimisandmeid. Uue ostupäringu esitamine teise tagasikutse URL-iga ei uuenda algset tellimust; see loob eraldi ostukatse. Säilitage algse tellimuse ID, kui palute toel selle tagasikutset uurida.
Käsitlemist vajavad tõrked
| Tulemus | Mida teha |
|---|---|
| 400 ja vigasele prefiksile viitav teade | Lugege prefiksite kataloog uuesti läbi ja kasutage selle praegust tunnust. Eristage seda teatest, et algse tellimuse kinnitamine on veel pooleli. |
| 403 või konto reeglite või saldoga seotud tõrge | Vaadake üle ostuõigus, konto hinnapiirid, koguselimiidid ja rahastamine. Nendest kontrollidest võidakse edastada ka muid rakenduse koode; säilitage tegelik teade. |
| 404 või saadaolevate numbrite puudumine | Värskendage saadavusandmeid. Ärge esitage korduvalt ostupäringuid prefiksi jaoks, mille numbrivaru on ammendunud. |
| 409 ja ostu kinnitamisele, teenusepakkuja keeldumisele või tellimuse tühistamisele viitav teade | Säilitage tagastatud tellimuse ID ja tegelik teade. Kontrollige enne uue ostupäringu esitamist päringu vastavust numbrivaru ja kontotehingutega ning selgitage tulemust toe abil. Sama viite uuesti kasutamine ei muuda uut päringut ohutuks. |
| 200 koos hoiatuste või väiksema arvu numbritega | Osa numbreid osteti. Enne lisakoguse tellimist kontrollige tagastatud eralduse ja tehingute vastavust. |
| Serveri- või transporditõrge või loetamatu vastus | Käsitlege tulemust võimaliku ebaselge juhtumina, kuni numbrivaru ja tehingud näitavad, mis toimus. |