Prieiga prie paskyros ir projekto
Naudokite įgalintą API paskyrą ir junkitės per HTTPS iš leidžiamo IP adreso. Projektas turi priklausyti tai paskyrai ir negali būti ištrintas. Naudokite unikalų projekto identifikatorių iš numerių perkėlimo užsakymo proceso, o ne skaitinį duomenų bazės identifikatorių ar telefono numerį. Sudarydami užklausą, projekto identifikatoriui taikykite URL kodavimą.
Pasiruošimas pridėti numerius
Ši operacija pakeičia esamą numerių perkėlimo projektą. Pirmiausia patvirtinkite numerius ir kliento suteiktą leidimą pagal savo numerių perkėlimo užsakymo procesą. Kiekvieną numerį pateikite visais tarptautinio numerio skaitmenimis, patys pašalinkite dublikatus ir patikrinkite esamą projekto numerių sąrašą. Nenaudokite šio galinio taško savavališkai pasirinktiems numeriams tikrinti.
Dabartinis portalas patikrina ir normalizuoja numerius prieš iškviesdamas šį maršrutą. Tiesiogiai naudojamas senasis galinis taškas nesuteikia tokių pačių apsaugos priemonių: jis pašalina tarpus įvesties pradžioje ir pabaigoje, tačiau netikrina telefono numerio formato, šalies kodo, dublikatų ar projekto būsenos darbo procese.
POST užklausa
Sukurkite vietinį failą numbers.json su toliau pateikta struktūra. Numeriai išgalvoti; pakeiskite juos pasirinkto projekto numeriais, kuriuos turite leidimą naudoti.
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| Laukas | Reikšmė |
|---|---|
| numbers | Privalomas netuščias numerių eilučių masyvas arba eilutė, kurioje kiekvienas numeris pateikiamas naujoje eilutėje. Tušti įrašai atmetami, o tarpai pradžioje ir pabaigoje pašalinami. Kableliais atskirtas tekstas neskaidomas į atskirus numerius. |
| isocode | Neprivalomas pridedamų įrašų šalies kodas. Jei jis nepateiktas arba tuščias, naudojama projekto vietovė. Apdorojimo funkcija pašalina pateiktos reikšmės tarpus pradžioje ir pabaigoje, bet nekeičia raidžių į didžiąsias ir reikšmės netikrina. Patys pateikite teisingą šalies kodą didžiosiomis raidėmis. |
Šiame pavyzdyje naudokite POST su application/json. Taip pat nuskaitoma POST formos įvestis. Šis metodas neapibrėžia nei idempotentiškumo rakto, nei šiam galiniam taškui garantuojamo saugaus paketo dydžio; siųskite ir sutikrinkite valdomo dydžio paketus, užuot pasikliovę spėjama riba.
Pranešamas rezultatas
Išgalvotas atsakymo pavyzdys.
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}Atsakyme bandyti pridėti įrašai pažymimi būsena Pending. Prieš pranešant rezultatą netikrinamas kiekvieno įterpimo į duomenų bazę rezultatas. Todėl vien įrašų skaičius ar grąžintas identifikatorius neįrodo, kad kiekvienas įrašas buvo išsaugotas. Pridėtas įrašas, kurio būsena Pending, nereiškia operatoriaus patvirtinimo, suplanuoto perkėlimo ar užbaigto aktyvinimo.
Prieš kartodami sutikrinkite duomenis
- Prieš pridėdami numerius nuskaitykite projekto numerių sąrašą ir savo užklausų apskaitoje išsaugokite, kokius numerius ketinate pridėti.
- Pridėjimo užklausą išsiųskite vieną kartą.
- Dar kartą nuskaitykite projekto numerių sąrašą ir palyginkite kiekvieną numatytą numerį. Patikrinkite dublikatus ir kiekvieno numerio būseną.
- Jei baigiasi užklausos laukimo laikas, grąžinama klaida arba pranešamas neaiškus rezultatas, prieš kartodami užklausą iš naujo nuskaitykite duomenis. Kai kurie įrašai jau gali būti pridėti.
- Trūkstamų ar pasikartojančių įrašų problemas spręskite pagal numerių perkėlimo užsakymo procesą arba kreipkitės į pagalbos tarnybą, užuot aklai kartoję visą užklausą.
Apdorojimo funkcija įterpia įrašus po vieną, nenaudodama transakcijos ar apsaugos nuo dublikatų. Nutrūkus vykdymui, anksčiau įrašyti duomenys gali likti; nepavykęs įterpimas, grąžinęs false, vis tiek gali būti įtrauktas į pranešamą skaičių. Pakartojus užklausą gali būti pridėta pasikartojančių įrašų. Pati apdorojimo funkcija neįrašo įvykio ir neužbaigia numerio perkėlimo pas operatorių.
Senosios sąsajos klaidos
Naudojant kitą metodą nei POST, grąžinamas API kodas 403. Jei projektas neegzistuoja, yra ištrintas arba nepriklauso paskyrai, grąžinamas API kodas 404. Pateikus tuščią numerių įvestį taip pat grąžinamas API kodas 404. Taikomi autentifikavimo ir šaltinio IP adreso apribojimai. Šie senosios sąsajos kodai neįrodo, kad pradėjus apdorojimą prieš tai nebuvo atlikta jokių įterpimų.
Apmokestinimo ir perkėlimo apimtis
Peržiūrėta apdorojimo funkcija įterpia projekto numerių įrašus ir tiesiogiai nenurašo lėšų iš paskyros bei nepateikia užsakymo operatoriui. Tai nereiškia, kad visa numerių perkėlimo paslauga yra nemokama, ir nepanaikina sutartų perkėlimo mokesčių. Prieš tikėdamiesi perkėlimo įvykdykite projekto leidimų, dokumentų ir peržiūros reikalavimus.