Pasūtīšana pēc prefiksa
Izmantojiet šo darbību, ja prefiksu katalogs norāda pasūtīt noteiktu numuru daudzumu pēc prefiksa, nevis izvēlēties atsevišķus pieejamos numurus. Sāciet ar valstu, reģionu vai štatu un prefiksu katalogu. Saglabājiet prefiksa identifikatoru un tarifu plānu no viena un tā paša svaigi iegūtā rezultāta. Lai iegādātos konkrētu numuru, kas izvēlēts pieejamo numuru sarakstā, izmantojiet Izvēlēta tālruņa numura iegāde.
Šis pieprasījums var iegādāties numurus un radīt izmaksas. Tas nav cenas piedāvājums, rezervācija vai izmēģinājuma izpilde. Pirms iesniegšanas pārskatiet pieslēgšanas un ikmēneša maksas, ienākošo zvanu minūšu tarifus, iekļautās minūtes, kanālus, reģistrācijas prasības un konta pirkumu ierobežojumus. Kataloga rezultāts nerezervē numuru krājumus un nefiksē cenas. Konta līdzekļu papildināšanas pārbaudes var notikt pirms pasūtījuma izpildes; kļūda pati par sevi nepierāda, ka nav noticis pirkums vai konta līdzekļu papildināšana.
Pirkuma iesniegšana
Izmantojiet iespējotu API kontu, veidojot HTTPS savienojumu no atļautas avota IP adreses. Iestatiet mainīgos atbilstoši pašreizējai izvēlei katalogā un apstiprinātajai zvanu un ziņojumu piegādes konfigurācijai. Tālāk norādītā komanda iegādājas vienu numuru.
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"Iepriekš parādīts formas POST pieprasījums. Koordinators nolasa arī JSON objektu, ja Content-Type ir application/json. JSON lauki aizstāj atbilstošo formas vai pieprasījuma lauku vērtības. Konsekventi izmantojiet vienu kodējumu; nesūtiet savstarpēji pretrunīgas vaicājuma un pamatdaļas vērtības.
| Parametrs | Nozīme |
|---|---|
| prefiksa identifikators ceļā | Kataloga atgrieztais prefiksa UUID. To nevar aizstāt ar valsts, reģiona, cenas vai atsevišķa numura identifikatoru. |
| quantity | Nosūtiet veselu skaitli no 1 līdz 100. Noklusējuma vērtība ir 1. Vērtības, kas mazākas par 1, tiek piespiedu kārtā pārveidotas par 1; šis nav pieprasījums tikai validācijai. Vērtības virs 100 izraisa izņēmumu, pirms sākas šī koordinatora parastā atbildes apstrāde, tāpēc šādas nederīgas ievades gadījumā nepaļaujieties uz tā ierasto JSON struktūru. |
| price_id | Izvēlētā plāna publiskais cenas identifikators. priceid ir agrāk lietots aizstājējnosaukums. Neatbilstoša identifikatora gadījumā var tikt izvēlēts cits plāns bez brīdinājuma; šis lauks nenodrošina stingru cenas fiksēšanu. Pirms pirkuma pārliecinieties par konta cenu griestiem un pēc tam pārbaudiet atgriezto cenu. |
| channels | Izvēlētā plāna kanālu skaits. Ja netiek izmantota precīza cenas atbilstība, atbilstošs kanālu skaits var ietekmēt rezerves plāna izvēli. Tas pats par sevi negarantē konkrēta plāna iegādi. |
| reference | Jūsu pirkuma vai pirkumu grupas apzīmējums. Izmantojiet īsu ASCII vērtību, kas nepārsniedz 255 baitus; garākas vērtības tiek apgrieztas. Ja šī vērtība ir norādīta, tā tiek saglabāta kopā ar veiksmīgajiem pirkumiem un iekļauta atzvanes paziņojumos. Atsevišķiem pasūtījumiem var būt viena un tā pati atsauce. Tā nav idempotences atslēga: atkārtoti iesniedzot šo darbību, var tikt iegādāti papildu numuri un iekasēta maksa par tiem, pat ja atsauce un lauku vērtības ir identiskas. |
| webhook_url | Neobligāts atzvanes URL. Izmantojiet HTTPS galapunktu, kuru kontrolējat. Pašreizējā pamata validācijas pārbaude pieņem HTTP un HTTPS vietrāžus URL; nederīgs URL tiek ignorēts, nevis izraisa pirkuma noraidīšanu. Atzvanes paziņojums ir papildu informācija, nevis pierādījums tam, ka pieprasījumu var droši atkārtot. |
Piegādes un atjaunošanas iestatījumi
Izvēlieties tādus pašus piegādes iestatījumus, kādus izmantotu šim numuram portālā. Tās ir papildu konfigurācijas vērtības, nevis norādījumi izveidot mitinātu PBX vai ienākošo zvanu maģistrāli. Atkārtoti izmantojiet konta konfigurāciju, par kuru zināms, ka tā darbojas, un pēc pirkuma pārbaudiet saglabāto numuru. Pirkuma pieņemšana vien neapstiprina, ka balss zvanu vai SMS piegāde darbojas.
| Lauks | Lietojums un saderība |
|---|---|
| uri, uri2, uri3 | Primārais un papildu balss zvanu galamērķi. Norādiet galamērķus, kas atbilst izvēlētajiem pāradresācijas un zvanīšanas režīmiem. |
| forward_destination | Balss zvanu pāradresācijas režīms. forwarding_destination un type ir agrāk lietoti aizstājējnosaukumi. Ja lauks nav norādīts, tiek izmantota attiecīgā pirkuma noformēšanas procesa noklusējuma vērtība; tukšs lauks nav uzticams veids, kā notīrīt esošu izvēli. |
| ring_type | Balss zvanu zvanīšanas režīms; ringtype ir aizstājējnosaukums. Izmantojiet atbalstītu vērtību no sava konta numura konfigurācijas. |
| sms_forward_destination, sms_uri | SMS piegādes režīms un galamērķis. Agrāk lietotie aizstājējnosaukumi ir smsringtype un smsuri. Dažos pirkuma noformēšanas procesos, ja šī vērtība ir tukša, tiek izmantots konta noklusējuma SMS galamērķis. SMS pieejamība ir atkarīga no izvēlētā numura un tā aktivizācijas vai reģistrācijas. |
| overflow | Pieprasītais pārpildes iestatījums. Tā atbalsts ir atkarīgs no plāna pieejamības un pirkuma noformēšanas procesa. |
| force_codec, force_dtmf | Pieprasītie kodeka un DTMF iestatījumi. Agrāk lietotie aizstājējnosaukumi ir forcecodec un forcedtmf. Pārbaudiet saglabāto konfigurāciju izvēlētā krājuma numuriem. |
| origination_trunk_id | Esošas maģistrāles konfigurācijas identifikators, ja tas ir piemērojams. Tas neizveido maģistrāli. Ja lauks nav norādīts, tiek izmantota pirkuma noformēšanas noklusējuma vērtība. |
| autorenew | Pieprasītais atjaunošanas iestatījums. Nepieņemiet, ka 0 atspējo atjaunošanu: daži pirkuma noformēšanas procesi tukšai vērtībai līdzīgu vērtību, tostarp 0, interpretē kā noklusējuma iespējoto iestatījumu. Portālā pārbaudiet iegādātā numura atjaunošanu un, ja nepieciešams, mainiet to. |
Šie lauki tiek normalizēti un nodoti pirkuma noformēšanai, taču to saglabāšana dažādos numuru krājumu apstrādes procesos atšķiras. Pašreizējais pasūtīšanas maršruts nepiedāvā izvēlēta numura iegādes ceļvedī aprakstītos stingros cenas piedāvājuma griestu laukus kā līdzvērtīgus aizsardzības mehānismus. Izmantojiet konta pirkšanas atļaujas un cenu ierobežojumus un pārbaudiet iegūto numura konfigurāciju.
Pilna rezultāta izskatīšana
Parsējiet JSON pamatdaļu un pārbaudiet status.code un status.msg arī tad, ja HTTP pieprasījums ir veiksmīgs. Šis maršruts veido savu JSON atbildi, un arī koplietotā atbilžu palīgfunkcija ne vienmēr piesaista lietojumprogrammas kodu HTTP statusam. Lietojumprogrammas kodi var būt JSON skaitļi vai skaitliskas virknes. Neprasiet, lai būtu pieejams status.results; parastā pasūtījuma rezultātā tā nav.
{
"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
}
}Iepriekš norādītais identifikators, numurs un cenas ir izdomāti. Uztveriet pasūtījuma ID kā neinterpretējamu identifikatoru. numbers uzskaita numurus, kas šajā atbildē norādīti kā iegādāti; salīdziniet šī saraksta garumu ar pieprasīto daudzumu. Cenu summas ir virknes, un šajā atbildē naudas tarifi tiek noapaļoti līdz divām zīmēm aiz komata, tostarp per_minute; sākotnējo tarifa precizitāti skatiet svaigi iegūtajā katalogā. Iekļautās minūtes un kanāli var tikt saņemti kā skaitliskas vērtības vai skaitliskas virknes.
Cenas bloks apraksta izvēlēto plānu, kas izmantots atbildes izveidei, nevis detalizētu rēķinu par katru numuru vai pasūtījuma kopsummu. Dažādiem pieejamo numuru kandidātiem var būt atšķirīgi plāni. Salīdziniet katru iegādāto numuru un konta darījumus, nevis reiziniet šī bloka vērtības un pieņemiet, ka tas pierāda galīgo kopsummu.
Daļēji pirkumi un neskaidri iznākumi
Lietojumprogrammas kods 200 var tikt saņemts kopā ar brīdinājumu un mazāku numuru skaitu, nekā pieprasīts. Vēlāka kļūme neatceļ jau iegādātos numurus. Saglabājiet atgriezto pasūtījuma ID, numurus un ziņojumu. Pirms izlemjat, vai pasūtīt atlikušo daudzumu, salīdziniet šos numurus ar sava konta numuru sarakstu un konta darījumiem.
Taimauts, pārtraukts pieprasījuma savienojums, nepareizi veidota atbilde vai kļūda pēc iesniegšanas nepierāda, ka nekas nav noticis. Neiesniedziet automātiski citu pirkumu pat ar to pašu atsauci. Saglabājiet sākotnējo pieprasījumu, atsauci un jebkuru atgriezto pasūtījuma ID, pārbaudiet konta numuru sarakstu un konta darījumus un sazinieties ar atbalsta dienestu, ja iznākums joprojām ir neskaidrs.
Neapstiprināts pasūtījums var atgriezt lietojumprogrammas kodu 400 ar ziņojumu, ka tā apstiprināšana vēl turpinās. Saglabājiet atgriezto pasūtījuma ID un salīdziniet šo pirkumu ar konta datiem; tas nav norādījums iesniegt to vēlreiz. Reģistrēta pasūtījuma atkopšanas process iekšēji izseko sākotnējo pasūtījumu. Jauns šīs darbības pieprasījums izveido atsevišķu pirkuma mēģinājumu, nevis atsāk pasūtījumu pēc jūsu atsauces, tāpēc tas var iegādāties vēl citus numurus un iekasēt maksu par tiem. Neizmantojiet atkārtotus pirkuma pieprasījumus statusa pārbaudei vai numuru krājumu meklēšanai.
Reģistrācija un aktivizācija
Iegādātam vai piešķirtam numuram joprojām var būt nepieciešama reģistrācija vai aktivizācija. Ja needs_registration ir 1, pārbaudiet restrictions un registration_requirements. Pēdējais no šiem laukiem var norādīt v3/get_requirements ar country un number_type vērtībām. Pabeidziet attiecīgo identitātes vai adreses pārbaudes procesu un pārliecinieties par numura statusu, pirms paļaujaties uz ienākošajiem zvaniem vai ziņapmaiņu.
features apraksta deklarētās iespējas; tas neapstiprina maršrutēšanas darbību reālajā vidē, kampaņas apstiprinājumu, SMS piegādi vai faksu saņemšanu. Pārbaudiet saglabātos piegādes iestatījumus un, kad numurs ir aktīvs, veiciet atbilstošu pakalpojuma pārbaudi.
Pasūtījumu atzvanes paziņojumi
Atzvanes paziņojumi ar POST nosūta JSON, kas satur pasūtījuma statusu un atbildi; ja esat norādījis atsauci, tā tiek pievienota. Tie tiek sūtīti par paziņotajiem pirkumiem, tostarp daļējiem rezultātiem. Neveiksmīgs atzvanes paziņojums neatceļ pirkumu. Piegāde var tikt mēģināta atkārtoti, tāpēc apstrādājiet dublikātus pēc pasūtījuma ID un salīdziniet numurus ar konta datiem, nevis veiciet vēl vienu pirkumu.
Šis maršruts nepievieno atzvanes paziņojumam kriptogrāfisku parakstu. Uztveriet atzvanes paziņojumu kā aicinājumu salīdzināt informāciju ar numuru sarakstu, kam piekļūstat pēc autentifikācijas, nevis kā neatkarīgu atļauju iekasēt maksu, nodrošināt pakalpojumu vai piešķirt piekļuvi. Neiekļaujiet API akreditācijas datus atzvanes URL. Iesniedzot citu pirkumu ar atšķirīgu atzvanes URL, sākotnējais pasūtījums netiek atjaunināts; tiek izveidots atsevišķs pirkuma mēģinājums. Saglabājiet sākotnējā pasūtījuma ID, kad lūdzat atbalsta dienestam izmeklēt tā atzvanes paziņojumu.
Apstrādājamās kļūmes
| Iznākums | Kā rīkoties |
|---|---|
| 400 un ziņojums par nederīgu prefiksu | Vēlreiz nolasiet prefiksu katalogu un izmantojiet tajā norādīto pašreizējo identifikatoru. Atšķiriet šo gadījumu no ziņojuma, ka sākotnējā pasūtījuma apstiprināšana vēl turpinās. |
| 403 vai kļūme saistībā ar konta politiku vai atlikumu | Pārskatiet pirkšanas atļauju, konta cenu griestus, daudzuma ierobežojumus un konta līdzekļu nodrošinājumu. Šīs pārbaudes var pārsūtīt arī citus lietojumprogrammas kodus; saglabājiet faktiski saņemto ziņojumu. |
| 404 vai nav pieejamu numuru krājumā | Atjauniniet pieejamības informāciju. Neveiciet atkārtotus pirkuma pieprasījumus prefiksam, kura numuru krājumi ir izsmelti. |
| 409 un ziņojums par pirkuma apstiprināšanu, pakalpojuma sniedzēja atteikumu vai atceltu pasūtījumu | Saglabājiet atgriezto pasūtījuma ID un faktiski saņemto ziņojumu. Pirms cita pirkuma iesniegšanas salīdziniet pieprasījumu ar konta numuru sarakstu un konta darījumiem un noskaidrojiet situāciju ar atbalsta dienestu. Tās pašas atsauces atkārtota izmantošana nepadara citu pieprasījumu drošu. |
| 200 ar brīdinājumiem vai mazāku numuru skaitu | Daži numuri ir iegādāti. Pirms papildu numuru pasūtīšanas salīdziniet atgriezto numuru piešķīrumu ar konta datiem un darījumiem. |
| Servera vai datu pārraides kļūme vai nenolasāma atbilde | Uzskatiet rezultātu par iespējami neskaidru, līdz konta numuru saraksts un darījumi ļauj noteikt, kas ir noticis. |