Juurdepääs kontole ja projektile
Kasutage lubatud IP-aadressilt aktiveeritud API kontot ja HTTPS ühendust. Projekt peab kuuluma sellele kontole ega tohi olla kustutatud. Kasutage numbrite teisaldamise tellimuse töövoost saadud projekti kordumatut ID-d, mitte selle arvulist andmebaasi ID-d ega telefoninumbrit. Päringu koostamisel kodeerige projekti ID URL-i jaoks.
Lisamise ettevalmistamine
See toiming muudab olemasolevat numbrite teisaldamise projekti. Kinnitage esmalt numbrid ja kliendi volitus oma numbrite teisaldamise tellimuse töövoos. Esitage iga number täielikul rahvusvahelisel kujul ainult numbritena, eemaldage ise duplikaadid ja kontrollige projekti olemasolevat numbriloendit. Ärge kasutage seda lõpp-punkti suvaliste numbrite katsetamiseks.
Praegune portaal kontrollib ja normaliseerib numbrid enne selle marsruudi väljakutsumist. Otse kasutatav pärandsüsteemi lõpp-punkt ei paku samu kaitsemeetmeid: see eemaldab sisendi algus- ja lõputühikud, kuid ei kontrolli telefoninumbri vormingut, riigikoodi, duplikaate ega projekti töövoo olekut.
POST päring
Looge kohalik fail numbers.json järgmise struktuuriga. Numbrid on väljamõeldud; asendage need numbritega, mille kasutamiseks valitud projektis on volitus.
{
"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"| Väli | Tähendus |
|---|---|
| numbers | Kohustuslik mittetühi massiiv numbritest sõnedena või sõne, milles iga number on eraldi real. Tühjad kirjed jäetakse kõrvale ning algus- ja lõputühikud eemaldatakse. Komadega eraldatud teksti ei jagata eraldi numbriteks. |
| isocode | Valikuline riigikood lisatavatele ridadele. Kui see puudub või on tühi, kasutatakse projekti asukohta. Töötleja eemaldab esitatud väärtuse algus- ja lõputühikud, kuid ei teisenda seda suurtähtedeks ega kontrolli selle kehtivust. Sisestage ise õige riigikood suurtähtedega. |
Kasutage selles näites meetodit POST sisutüübiga application/json. Loetakse ka vormi kaudu saadetud POST sisendit. Meetod ei määra idempotentsusvõtit ega selle lõpp-punkti jaoks tagatud ohutut paketi suurust; võrrelge andmeid hallatava suurusega pakettide kaupa, selle asemel et tugineda oletatavale piirangule.
Teatatud tulemus
Väljamõeldud vastuse näide.
{
"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"
}
]
}
}Vastuses märgitakse lisamiskatsed olekuga Pending. Enne tulemuse teatamist ei kontrollita iga andmebaasi lisamise tulemust. Seetõttu ei tõenda ainuüksi arv või tagastatud ID, et kõik read salvestati püsivalt. Lisamine olekuga Pending ei tähenda operaatori heakskiitu, ajastatud teisaldamist ega lõpetatud aktiveerimist.
Võrrelge andmeid enne korduskatset
- Lugege enne numbrite lisamist projekti numbriloend ja säilitage kavandatud lisandus oma päringute arvestuses.
- Saatke lisamispäring üks kord.
- Lugege projekti numbriloend uuesti ja võrrelge kõiki kavandatud numbreid. Kontrollige duplikaate ja iga numbri olekut.
- Kui päring aegub, tagastab vea või teatab ebaselge tulemuse, lugege andmed enne korduskatset uuesti. Mõned lisandused võivad juba olemas olla.
- Lahendage puuduvate või dubleeritud ridade probleem numbrite teisaldamise tellimuse töövoo või kasutajatoe kaudu, selle asemel et kogu päringut pimesi korrata.
Töötleja lisab kirjed ükshaaval ilma tehingu ja duplikaadikaitseta. Katkestuse korral võivad varasemad kirjutused alles jääda; ebaõnnestunud lisamine, mis tagastab false, võidakse siiski teatatud arvu hulka lugeda. Päringu kordamine võib lisada dubleeritud ridu. Töötleja ise ei kirjuta sündmust ega vii lõpule numbrite teisaldamist operaatori juures.
Pärandsüsteemi vead
Muu meetod kui POST tagastab API koodi 403. Kui projekt puudub, on kustutatud või ei kuulu kontole, tagastatakse API kood 404. Ka tühi numbrisisend tagastab API koodi 404. Kehtivad autentimise ja lähte-IP-aadressi piirangud. Need pärandsüsteemi koodid ei tõenda, et pärast töötlemise algust pole varem ühtegi lisamist toimunud.
Arveldus ja teisaldamise ulatus
Üle vaadatud töötleja lisab projekti numbriridu ega sisalda otsest kontolt raha debiteerimist või operaatorile esitamist. See ei muuda kogu numbrite teisaldamise teenust tasuta teenuseks ega tühista kokkulepitud teisaldamistasusid. Enne teisaldamise ootamist täitke projekti volituse, dokumentide ja ülevaatuse nõuded.