Porositni nga një prefiks
Përdoreni këtë veprim kur katalogu i prefikseve ju udhëzon të porositni një sasi nga një prefiks në vend që të zgjidhni numra individualë të disponueshëm. Filloni me vendet, zonat ose shtetet federale dhe prefikset. Ruani identifikuesin e prefiksit dhe planin tarifor nga i njëjti rezultat i sapomarrë. Për një numër të caktuar të zgjedhur nga një listë numrash të disponueshëm, përdorni Blini një numër telefoni të zgjedhur.
Kjo kërkesë mund të blejë numra dhe të shkaktojë tarifa. Ajo nuk është ofertë çmimi, rezervim apo provë pa ekzekutim real. Shqyrtoni tarifat e konfigurimit dhe ato mujore, tarifat për minutat hyrëse, minutat e përfshira, kanalet, kërkesat e regjistrimit dhe kufijtë e blerjes së llogarisë përpara dërgimit. Një rezultat katalogu nuk rezervon inventar dhe as nuk i fikson çmimet. Kontrollet e financimit të llogarisë mund të kryhen përpara përmbushjes së porosisë; një gabim nuk provon në vetvete se nuk është kryer asnjë blerje apo financim i llogarisë.
Dërgoni kërkesën e blerjes
Përdorni një llogari API të aktivizuar përmes HTTPS nga një adresë IP burimore e lejuar. Vendosni variablat sipas përzgjedhjes suaj aktuale në katalog dhe konfigurimit tuaj të miratuar të dërgimit. Komanda e mëposhtme blen një numër.
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"Më sipër paraqitet një kërkesë POST me formular. Koordinatori lexon gjithashtu një objekt JSON kur Content-Type është application/json. Fushat JSON kanë përparësi ndaj fushave përkatëse të formularit/kërkesës. Përdorni në mënyrë të njëtrajtshme një kodim të vetëm; mos dërgoni vlera që bien ndesh midis parametrave të URL-së dhe trupit të kërkesës.
| Parametri | Kuptimi |
|---|---|
| identifikuesi i prefiksit në shteg | UUID-ja e prefiksit e kthyer nga katalogu. Një identifikues vendi, zone, çmimi ose numri individual nuk mund ta zëvendësojë atë. |
| quantity | Dërgoni një numër të plotë nga 1 deri në 100. Vlera e parazgjedhur është 1. Vlerat nën 1 shndërrohen detyrimisht në 1; kjo nuk është një kërkesë vetëm për validim. Vlerat mbi 100 shkaktojnë një përjashtim përpara trajtimit normal të përgjigjes nga ky koordinator, prandaj mos u mbështetni te struktura e tij e zakonshme JSON për atë hyrje të pavlefshme. |
| price_id | Identifikuesi publik i çmimit të planit të zgjedhur. priceid është një emër alternativ i trashëguar. Një identifikues që nuk përputhet mund të çojë në përdorimin e një plani tjetër pa njoftim; kjo fushë nuk e fikson rreptësisht çmimin. Konfirmoni kufijtë maksimalë të çmimeve të llogarisë përpara blerjes dhe kontrolloni më pas çmimin e kthyer. |
| channels | Numri i kanaleve nga plani i zgjedhur. Kur nuk përdoret një përputhje e saktë e çmimit, një numër përkatës kanalesh mund të ndikojë në përzgjedhjen e planit zëvendësues. Ai nuk garanton më vete që të blihet një plan i caktuar. |
| reference | Etiketa juaj për blerjen ose grupin e blerjeve. Përdorni një vlerë të shkurtër ASCII, jo më shumë se 255 bajte; vlerat më të gjata shkurtohen. Ajo ruhet me blerjet e suksesshme dhe përfshihet në njoftimet kthyese kur jepet. Porosi të veçanta mund të kenë të njëjtën referencë. Ajo nuk është çelës idempotence: dërgimi përsëri i këtij veprimi mund të blejë numra shtesë dhe t'ju faturojë për ta, edhe me të njëjtën referencë dhe fusha identike. |
| webhook_url | URL opsionale për njoftimin kthyes. Përdorni një pikë fundore HTTPS që e kontrolloni ju. URL-të HTTP dhe HTTPS kalojnë validuesin bazë aktual; një URL e pavlefshme shpërfillet në vend që të refuzohet blerja. Një njoftim kthyes është njoftim shtesë, jo provë se një kërkesë mund të përsëritet në mënyrë të sigurt. |
Cilësimet e dërgimit dhe të rinovimit
Zgjidhni të njëjtat cilësime dërgimi që do të përdornit për numrin në portal. Këto janë vlera të konfigurimit të avancuar, jo udhëzime për të krijuar një central PBX të hostuar ose një trunk për origjinimin e thirrjeve. Ripërdorni një konfigurim llogarie që dihet se funksionon dhe verifikoni numrin e ruajtur pas blerjes. Vetëm pranimi i një blerjeje nuk verifikon që dërgimi i thirrjeve zanore ose i SMS-ve funksionon.
| Fusha | Përdorimi dhe përputhshmëria |
|---|---|
| uri, uri2, uri3 | Destinacionet kryesore dhe shtesë për thirrjet zanore. Jepni destinacione të përshtatshme për mënyrat e zgjedhura të përcjelljes dhe të ziles. |
| forward_destination | Mënyra e përcjelljes së thirrjeve zanore. forwarding_destination dhe type janë emra alternativë të trashëguar. Kur lihet pa dhënë, përdoret vlera e parazgjedhur e rrjedhës së përfundimit të blerjes; një fushë bosh nuk është mënyrë e besueshme për të hequr një preferencë ekzistuese. |
| ring_type | Mënyra e ziles për thirrjet zanore; ringtype është emër alternativ. Përdorni një vlerë të mbështetur nga konfigurimi i numrave të llogarisë suaj. |
| sms_forward_destination, sms_uri | Mënyra dhe destinacioni i dërgimit të SMS-ve. Emrat alternativë të trashëguar janë smsringtype dhe smsuri. Disa rrjedha të përfundimit të blerjes zbatojnë destinacionin e parazgjedhur të SMS-ve të llogarisë kur kjo është bosh. Disponueshmëria e SMS-ve varet nga numri i zgjedhur dhe aktivizimi/regjistrimi i tij. |
| overflow | Cilësimi i kërkuar për tejmbushjen. Disponueshmëria e planit dhe rrjedha e përfundimit të blerjes ndikojnë në faktin nëse ai mbështetet. |
| force_codec, force_dtmf | Cilësimet e kërkuara për kodekun dhe DTMF. Emrat alternativë të trashëguar janë forcecodec dhe forcedtmf. Verifikoni konfigurimin e ruajtur për inventarin e zgjedhur. |
| origination_trunk_id | Identifikuesi i një konfigurimi ekzistues të trunk-ut, aty ku zbatohet. Kjo nuk krijon një trunk. Kur lihet pa dhënë, përdoret vlera e parazgjedhur e përfundimit të blerjes. |
| autorenew | Cilësimi i kërkuar i rinovimit. Mos supozoni se 0 çaktivizon rinovimin: disa rrjedha të përfundimit të blerjes e trajtojnë një vlerë të ngjashme me boshllëkun, përfshirë 0, si cilësimin e parazgjedhur të aktivizuar. Kontrolloni dhe, kur nevojitet, ndryshoni rinovimin për numrin e blerë në portal. |
Këto fusha normalizohen dhe i kalohen procesit të përfundimit të blerjes, por ruajtja e tyre ndryshon sipas rrjedhave të inventarit. Rruga aktuale e porosisë nuk i ofron fushat e rrepta të kufirit maksimal të çmimit të ofertuar, të përshkruara në udhëzuesin e blerjes së një numri të zgjedhur, si masa mbrojtëse të barasvlershme. Përdorni lejet e blerjes dhe kufijtë e çmimeve të llogarisë dhe kontrolloni konfigurimin përfundimtar të numrit.
Lexoni rezultatin e plotë
Analizoni trupin JSON dhe kontrolloni status.code dhe status.msg edhe kur kërkesa HTTP përfundon me sukses. Kjo rrugë shkruan përgjigjen e vet JSON dhe as funksioni i përbashkët ndihmës i përgjigjeve nuk e lidh domosdoshmërisht kodin e aplikacionit me statusin HTTP. Kodet e aplikacionit mund të jenë numra JSON ose vargje karakteresh numerike. Mos kërkoni praninë e status.results; ajo nuk është e pranishme në rezultatin normal të porosisë.
{
"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
}
}Identifikuesi, numri dhe çmimet e mësipërme janë të sajuara. Trajtojeni ID-në e porosisë si një vlerë opake, pa interpretuar strukturën e saj. numbers rendit numrat që kjo përgjigje raporton si të blerë; krahasoni gjatësinë e listës me sasinë që kërkuat. Shumat e çmimeve janë vargje karakteresh dhe kjo përgjigje i rrumbullakos tarifat monetare në dy shifra pas presjes dhjetore, përfshirë per_minute; përdorni katalogun e sapomarrë për saktësinë origjinale të tarifave. Minutat e përfshira dhe kanalet mund të mbërrijnë si vlera numerike ose vargje karakteresh numerike.
Blloku i çmimit përshkruan planin e zgjedhur që është përdorur për të ndërtuar përgjigjen, jo një faturë të hollësishme për çdo numër ose totalin e porosisë. Kandidatë të ndryshëm të inventarit mund të kenë plane të ndryshme. Rakordoni numrat individualë të blerë dhe transaksionet e llogarisë në vend që të shumëzoni vlerat e këtij blloku dhe të supozoni se ai provon totalin përfundimtar.
Blerjet e pjesshme dhe rezultatet e pasigurta
Një kod aplikacioni 200 mund të shoqërohet me një paralajmërim dhe me më pak numra sesa janë kërkuar. Një dështim i mëvonshëm nuk i zhbën blerjet e numrave të blerë tashmë. Ruani ID-në e kthyer të porosisë, numrat dhe mesazhin. Rakordoni këta numra në inventarin tuaj dhe në transaksionet e llogarisë përpara se të vendosni nëse do të porositni sasinë e mbetur.
Skadimi i kohës së pritjes, ndërprerja e lidhjes së kërkesës, një përgjigje e formuar gabimisht ose një gabim pas dërgimit nuk janë provë se nuk ka ndodhur asgjë. Mos dërgoni automatikisht një blerje tjetër, edhe me të njëjtën referencë. Ruani kërkesën origjinale, referencën dhe çdo ID porosie të kthyer, kontrolloni inventarin dhe transaksionet e llogarisë dhe kontaktoni mbështetjen kur rezultati mbetet i pasigurt.
Një porosi e pakonfirmuar mund të kthejë kodin e aplikacionit 400 me një mesazh që thotë se ajo është ende në proces konfirmimi. Ruani ID-në e kthyer të porosisë dhe rakordoni atë blerje; ky nuk është udhëzim për ta dërguar përsëri. Rikuperimi i porosive të regjistruara e gjurmon brenda sistemit porosinë origjinale. Një kërkesë e re për këtë veprim krijon një përpjekje të veçantë blerjeje në vend që të rifillojë një porosi sipas referencës suaj, prandaj mund të blejë më shumë numra dhe t'ju faturojë për ta. Mos përdorni kërkesa të përsëritura blerjeje për të kontrolluar statusin ose për të kërkuar në inventar.
Regjistrimi dhe aktivizimi
Një numër i blerë ose i caktuar mund të ketë ende nevojë për regjistrim ose aktivizim. Nëse needs_registration është 1, kontrolloni restrictions dhe registration_requirements. Kjo e fundit mund të identifikojë v3/get_requirements me vlerat e country dhe number_type. Përfundoni procesin përkatës të identitetit/adresës dhe konfirmoni statusin e numrit përpara se të mbështeteni te thirrjet hyrëse ose mesazhet.
features përshkruan aftësitë e reklamuara; nuk verifikon drejtimin real të trafikut, miratimin e fushatës, dërgimin e SMS-ve ose marrjen e fakseve. Kontrolloni cilësimet e ruajtura të dërgimit dhe kryeni testin e përshtatshëm të shërbimit kur numri të jetë aktiv.
Njoftimet kthyese të porosisë
Njoftimet kthyese dërgojnë me POST të dhëna JSON që përmbajnë statusin dhe përgjigjen e porosisë, me referencën tuaj të shtuar kur ajo është dhënë. Ato dërgohen për blerjet e raportuara, përfshirë rezultatet e pjesshme. Një njoftim kthyes i dështuar nuk e zhbën blerjen. Dërgimi mund të riprovohet, prandaj trajtojini dublikatat sipas ID-së së porosisë dhe rakordoni numrat në vend që të nisni një blerje tjetër.
Kjo rrugë nuk shton një nënshkrim kriptografik për njoftimet kthyese. Trajtojeni një njoftim kthyes si njoftim për t'u rakorduar me inventarin tuaj të aksesuar me autentikim, jo si autorizim të pavarur për të faturuar, për të aktivizuar shërbime ose për të dhënë akses. Mos vendosni kredenciale API në URL-në e njoftimit kthyes. Dërgimi i një blerjeje tjetër me një URL tjetër njoftimi kthyes nuk e përditëson porosinë origjinale; ai krijon një përpjekje të veçantë blerjeje. Ruani ID-në e porosisë origjinale kur i kërkoni mbështetjes të hetojë njoftimin e saj kthyes.
Dështimet që duhen trajtuar
| Rezultati | Çfarë të bëni |
|---|---|
| 400 dhe mesazh për prefiks të pavlefshëm | Lexoni përsëri katalogun e prefikseve dhe përdorni identifikuesin e tij aktual. Dallojeni këtë nga mesazhi që thotë se një porosi origjinale është ende në proces konfirmimi. |
| 403 ose dështim lidhur me politikën/saldon e llogarisë | Shqyrtoni lejen e blerjes, kufijtë maksimalë të çmimeve të llogarisë, kufijtë e sasisë dhe financimin. Nga këto kontrolle mund të përcillen kode të tjera aplikacioni; ruani mesazhin e marrë realisht. |
| 404 ose mungesë inventari të disponueshëm | Rifreskoni informacionin e disponueshmërisë. Mos kryeni blerje të përsëritura nga një prefiks me inventar të shteruar. |
| 409 dhe mesazh për konfirmim blerjeje, refuzim nga ofruesi ose porosi të anuluar | Ruani ID-në e kthyer të porosisë dhe mesazhin e marrë realisht. Rakordoni kërkesën me inventarin, transaksionet e llogarisë dhe mbështetjen përpara se të dërgoni një blerje tjetër. Ripërdorimi i së njëjtës referencë nuk e bën të sigurt një kërkesë tjetër. |
| 200 me paralajmërime ose më pak numra | Disa numra janë blerë. Rakordoni caktimin e kthyer dhe transaksionet përpara se të porositni më shumë. |
| Dështim i serverit/transportit ose përgjigje e palexueshme | Trajtojeni rezultatin si potencialisht të pasigurt derisa inventari dhe transaksionet të përcaktojnë çfarë ka ndodhur. |