Numerį ir kainą pasirinkite kartu
Įsigykite vieną konkretų numerį, pasirinktą iš naujos laisvų numerių paieškos rezultatų. Pasirinkto įrašo info.uuid naudokite kaip numerio ID, o vieną iš to paties įrašo price[].uuid reikšmių – kaip kainos ID. Maršrutas taip pat priima visą išsaugotą numerį, tačiau šalies, regiono ar prefikso ID negali pakeisti pasirinkto numerio.
Paieška ar išsaugotų kainų peržiūra numerio nerezervuoja ir jo kainos neužfiksuoja. Patvirtinkite pasirinktą prijungimo mokestį, mėnesio mokestį, įeinančio skambučio minutės tarifą, įtrauktas minutes ir kanalus, taip pat paskyros pirkimo teises ir registracijos reikalavimus. Peržiūrėtoje pagalbinėje funkcijoje pradinė bazinė suma yra prijungimo ir mėnesio mokesčių suma; būtina patvirtinti visus konkretaus teikėjo mokesčius ir pasirinkto plano sąlygas.
Siųskite pirkimo užklausą su apsaugos sąlygomis naudodami POST
Naudokite įjungtą API paskyrą ir junkitės per HTTPS iš leidžiamo šaltinio IP adreso. Toliau pateikta komanda atlieka pirkimą, o ne pateikia kainos pasiūlymą ar vykdo bandomąją operaciją. Visų kintamųjų reikšmes nustatykite pagal tą patį naujai pasirinktą numerį ir kainą. Ribų laukuose išlaikomas senasis restore_quote_ prefiksas; dabartinis portalas juos taip pat naudoja konkretiems numeriams pirkti su apsaugos sąlygomis.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode "restore_quote_price_id=$PRICE_ID" \
--data-urlencode "restore_quote_setup=$SETUP_PRICE" \
--data-urlencode "restore_quote_monthly=$MONTHLY_PRICE" \
--data-urlencode "restore_quote_per_minute=$PER_MINUTE_PRICE" \
--data-urlencode "restore_quote_channels=$CHANNELS" \
"https://api.multitel.net/v3/rentnumber/$NUMBER_ID/$PRICE_ID"Naudokite formos POST užklausą, kaip parodyta. Pagalbinė funkcija taip pat gali analizuoti JSON ir parinkčių apvalkalą, tačiau šios peržiūros metu nenustatyta, ar visose kainos pasiūlymų ir teikėjų vykdymo šakose jie veikia visiškai vienodai. Pirkimui nenaudokite GET, nors šiame senajame koordinatoriuje nėra aiškios metodo patikros.
| Laukas | Reikšmė |
|---|---|
| NUMBER_ID | Paieškoje pasirinkto numerio UUID arba visas išsaugotas numeris. Vienoje užklausoje – vienas numeris. |
| PRICE_ID | Kainos UUID, susietas su tuo pasirinktu numeriu ir jūsų paskyra. Visada jį nurodykite aiškiai. |
| restore_quote_price_id | Turi sutapti su nustatytu kainos ID. Pateikus šį lauką įjungiamos kainos pasiūlymo patikros; tai nėra idempotentiškumo raktas. |
| restore_quote_setup | Didžiausias priimtinas prijungimo mokestis, nurodytas baigtine neneigiama skaitine reikšme. |
| restore_quote_monthly | Didžiausias priimtinas mėnesio mokestis, nurodytas baigtine neneigiama skaitine reikšme. |
| restore_quote_per_minute | Didžiausias priimtinas įeinančio skambučio minutės tarifas, nurodytas baigtine neneigiama skaitine reikšme. |
| restore_quote_channels | Tikslus pasirinkto kainos varianto kanalų skaičius, išreikštas sveikuoju skaičiumi, o ne prašymas suteikti kitą kanalų planą. |
Kai pateikiate kainos pasiūlymo kainos ID, pateikite ir visus skaitinius kainos pasiūlymo laukus. Pasikeitus ID, kainai viršijus ribą, nesant ribos ar jai esant netinkamai, pasikeitus kanalų skaičiui arba esant užimtam kainos pasiūlymo užraktui, API kodas 409 grąžinamas prieš perduodant vykdymą pasirinktam numerio nuomos teikėjui. Lyginant leidžiama nedidelė slankiojo kablelio paklaida; naudokite tikrąsias rodomas plano reikšmes, o ne rankiniu būdu suapvalintą kainą.
Dėl šių apsaugos sąlygų visas procesas netampa bandomąja operacija ar transakcija. Registracijos duomenų paieška, tapatybės sukūrimas ar kiti pagalbinės funkcijos veiksmai gali būti atlikti prieš šias patikras. Šios sąlygos taip pat neužfiksuoja išorinių numerių atsargų ir nepakeičia paskyrai taikomų pirkimo apribojimų.
Registracija ir aktyvavimas
Kai to reikalaujama, pridėkite RegistrationID formos lauką su klientui priklausančio registracijos profilio UUID. Tai nėra įkelto patvirtinamojo dokumento, tiekėjo adreso ar atskiro tapatybės objekto ID. Pagalbinė funkcija suranda profilį pagal autentifikuotą paskyrą ir atmeta nesamus arba nepasiekiamus profilius.
Kai kuriuos palaikomus numerius galima įsigyti dar neužbaigus registracijos; kitiems numeriams profilis būtinas prieš perkant. Vis tiek gali reikėti konkrečiam operatoriui būdingos patikros ar paslaugos parengimo. Sėkmingo pirkimo ar neatliktos išankstinės patikros nelaikykite atleidimu nuo registracijos arba nedelsiamu aktyvavimu.
Jei atsakyme yra laukas registration_requirements, jis nurodo struktūrizuotą reikalavimų paiešką pagal šalį ir numerio tipą. Taikomus reikalavimus įvykdykite naudodamiesi registracijos katalogu ir patvirtinamųjų dokumentų pateikimo procesu. Grąžintas tekstas ir metaduomenys patys savaime profilio nepatvirtina.
Venkite nepastebimo plano pakeitimo
Senasis koordinatorius gali nustatyti nenurodytą kainą iš podėlyje saugomų numerio duomenų. Kai aiškiai pateikto kainos ID nebėra, jis taip pat gali pasirinkti naujausią paskyros kainą podėlyje saugomam prefiksui ir atnaujinti podėlyje saugomą leidžiamos kainos pasirinkimą. Nesikliaukite šiais atsarginiais pasirinkimo būdais rinkdamiesi kliento patvirtintą planą.
Aiškiai pateikite pasirinktą kainą ir atitinkamus kainos pasiūlymo apsaugos laukus. Kainos pasiūlymo ID patikra atmeta atsarginį kito ID pasirinkimą prieš perduodant nuomos užsakymą. Kilus konfliktui dėl pasenusios kainos, atnaujinkite paiešką ir gaukite naujo pasirinkimo patvirtinimą, o ne pašalinkite apsaugos sąlygas, kad priverstinai įvykdytumėte pirkimą.
Nėra garantuoto rezervavimo laikotarpio ar visose vykdymo šakose vienodai taikomo podėlio galiojimo laiko. Proceso metu pakartotinai tikrinamas numerio prieinamumas, paskyros kainų ribos ir pirkimo taisyklės, tačiau visas konkretiems teikėjams būdingas veikimas dar peržiūrimas.
Išplėstiniai nustatymai: paskyros numatytasis maršrutizavimas
Perkant gali būti perimtos esamos paskyros balso skambučių paskirties vietos, atsarginės paskirties vietos, SMS paskirties vieta ir pageidaujama origination magistralė. Prieš užsakydami peržiūrėkite šiuos numatytuosius nustatymus; nepateikus maršrutizavimo parinkčių negarantuojama, kad numeris bus nesukonfigūruotas. Peržiūrėta pagalbinė funkcija pagal numatytąjį nustatymą įjungia automatinį pratęsimą.
| Parinktis | Reikšmės nustatymo elgsena |
|---|---|
| uri, uri2, uri3 | Nepateiktos reikšmės perimamos iš atitinkamų paskyros numatytųjų nustatymų. Aiškiai pateiktos tuščios reikšmės išvalo pagalbinės funkcijos reikšmę, užuot ją perėmusios. Naudokite pasirinktam maršrutizavimo režimui tinkamas galiojančias paskirties vietas. |
| smsuri | Nepateikus reikšmės perimama paskyros SMS paskirties vieta; aiškiai pateikta tuščia reikšmė ją išvalo pagalbinėje funkcijoje. |
| origintrunk | Atpažintas aiškiai pateiktas magistralės ID turi pirmenybę. Jei reikšmės nepavyksta nustatyti, vietoj klaidos gali būti panaudota paskyroje pageidaujama arba senoji numatytoji reikšmė. |
| forward_destination, forwarding_destination, type | Netušti maršrutizavimo režimo alternatyvūs pavadinimai, išvardyti pirmenybės tvarka. Naudokite palaikomas paskyros maršrutizavimo konfigūracijos reikšmes, o ne spėjamą skaitinį režimą. |
| RegistrationID | Registracijos profilio paieška, apribota konkretaus kliento duomenimis; ji atskira nuo maršrutizavimo paskirties vietų. |
| autorenew | Numatytoji reikšmė yra 1. Pagalbinė funkcija tikrina, ar reikšmė netuščia, todėl 0 patikimai neišjungia pratęsimo per šį pirkimo lauką. Naudokite palaikomas paskyros pratęsimo valdymo priemones ir patikrinkite išsaugotą nustatymą. |
Taip veikia bendroji pagalbinė funkcija, tačiau tai negarantuoja, kad kiekvienas tiekėjas vienodai išsaugo visus neprivalomus nustatymus. Yra ir kitų senųjų balso skambučių, balso pašto, fakso ir SMS laukų, tačiau juos dar reikia išsamiai peržiūrėti kiekvieno teikėjo atžvilgiu. Prieš pasikliaudami skambučiais ar žinutėmis, patikrinkite išsaugotą įsigyto numerio konfigūraciją naudodamiesi paskyros valdymo procesu.
Atsakymas
Išgalvotas nesudėtingo pirkimo pavyzdys; reikšmės ir funkcijos priklauso nuo pasirinkto plano.
{
"status": {
"code": 200,
"msg": ""
},
"response": {
"number": "12025550123",
"price": {
"per_minute": "0.0100",
"free_minutes": "100",
"setup_price": "2.00",
"monthly_price": "4.00",
"channels": "2",
"overflow": "0"
},
"features": [
"voice"
],
"needs_registration": 0,
"registration_requirements": null
}
}Koordinatorius naudoja savo status.code/status.msg ir response apvalkalą, kuriame negarantuojamas status.results laukas. Klaidos atveju atsakymo sąrašas paprastai būna tuščias. Jei operacija sėkminga, patikrinkite grąžintą numerį ir kainą, tada sutikrinkite paskyros numerių sąrašą ir registracijos būseną. Teikėjo patvirtinimas nėra tikras balso skambučių, SMS ar fakso veikimo bandymas.
Klaidos ir neaiškūs rezultatai
| API kodas | Reikšmė |
|---|---|
| 403 | Apdorojimą gali blokuoti paskyros kainų ar pirkimo apribojimai, neprieinamas kainos pasirinkimas arba nepasiekiamas registracijos profilis. |
| 404 | Nepateiktas arba neprieinamas numerio, kainos ar prefikso pasirinkimas. |
| 409 | Numeris jau aktyvus, kainos pasiūlymo apsaugos sąlyga nebeatitinka arba užraktą laiko kita operacija su apsaugos sąlygomis. |
| 422 | Registracijos informacija būtina, ji neišsami arba jos negalima parengti peržiūrėtose registracijos vykdymo šakose. |
| 500 ir kiti teikėjo ar paskyros kodai | Teikėjo, vietinio apdorojimo arba taisyklių taikymo klaida. Šie kodai ne visais atvejais įrodo, kad pirkimas neįvyko ar mokestis nebuvo pritaikytas. |
Perskaitykite faktinį API atsakymo turinį ir HTTP būseną. Išorinis teikėjas gali priimti nuomos užsakymą dar prieš įvykstant vietinio pranešimo, registracijos ar kito apdorojimo klaidai. Kai kuriems numeriams iš vietinių atsargų priskirti naudojamos duomenų bazės transakcijos, tačiau nėra visuotinio išorinių teikėjų užsakymų atšaukimo mechanizmo. Šis koordinatorius neturi kliento idempotentiškumo rakto.
Prieš bandydami dar kartą sutikrinkite būseną
- Prieš vieną kartą pateikdami užklausą, programos užsakymo įraše išsaugokite patvirtintą numerį, kainą ir kainos pasiūlymo ribas.
- Po užklausos peržiūrėkite tos pačios paskyros įsigytų numerių sąrašą ir numerio duomenis, taip pat ir pasibaigus laukimo laikui arba įvykus klaidai.
- Jei numeris yra paskyroje, užuot pateikę kitą pirkimo užklausą, patikrinkite jo kainą, pratęsimą, maršrutizavimą ir registracijos būseną.
- Jei rezultatas vis dar neaiškus, prieš bandydami dar kartą paprašykite pagalbos tarnybos sutikrinti teikėjo užsakymą ir paskyrai priskaičiuotus mokesčius. Vien klaidos pranešimo ar senojo žurnalo sėkmės žymos nepakanka kaip įrodymo.
- Patvirtinę, kad numeris priklauso paskyrai ir yra aktyvuotas, atlikite įprastas paskyros maršrutizavimo patikras ir paslaugų bandymus.