Tilgang til konto og prosjekt
Bruk en aktivert API-konto over HTTPS fra en tillatt IP-adresse. Prosjektet må tilhøre denne kontoen og må ikke være slettet. Bruk prosjektets unike ID fra arbeidsflyten for porteringsbestillingen, ikke den numeriske database-ID-en eller et telefonnummer. URL-kod prosjekt-ID-en når du bygger en forespørsel.
Forbered tilleggingen
Denne operasjonen endrer et eksisterende porteringsprosjekt. Bekreft først numrene og kundens fullmakt gjennom arbeidsflyten for porteringsbestillingen. Oppgi hvert nummer som en fullstendig sifferrekke i internasjonalt format, fjern duplikater selv og kontroller prosjektets eksisterende nummerliste. Ikke bruk dette endepunktet til å teste vilkårlige numre.
Den nåværende portalen validerer og normaliserer numre før den kaller denne ruten. Det eldre endepunktet gir ikke de samme sikkerhetsmekanismene ved direkte bruk: det fjerner innledende og avsluttende mellomrom i inndata, men validerer ikke telefonnummerformat, landskode, duplikater eller prosjektets status i arbeidsflyten.
POST-forespørsel
Opprett en lokal fil med navnet numbers.json med følgende struktur. Numrene er oppdiktede; erstatt dem med numre du har fullmakt til å bruke i det valgte prosjektet.
{
"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"| Felt | Betydning |
|---|---|
| numbers | Obligatorisk, ikke-tom liste med numre som tekststrenger, eller en tekststreng med ett nummer per linje. Tomme oppføringer forkastes, og innledende og avsluttende mellomrom fjernes. Kommaseparert tekst deles ikke opp i separate numre. |
| isocode | Valgfri landskode for radene som legges til. Hvis den utelates eller er tom, brukes prosjektets lokasjon. Behandlingsrutinen fjerner innledende og avsluttende mellomrom, men gjør ikke en oppgitt verdi om til store bokstaver og validerer den heller ikke. Oppgi selv riktig landskode med store bokstaver. |
Bruk POST med application/json i dette eksemplet. Skjemadata sendt med POST leses også. Metoden definerer verken en idempotensnøkkel eller en garantert trygg partistørrelse for dette endepunktet; avstem håndterbare partier i stedet for å stole på en antatt grense.
Rapportert resultat
Oppdiktet eksempel på svar.
{
"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"
}
]
}
}Svaret merker forsøk på å legge til numre med Pending. Det kontrollerer ikke resultatet av hver databaseinnsetting før det rapporteres. Et antall eller en returnert ID er derfor ikke i seg selv bevis på at hver rad ble varig lagret. En tillegging med status Pending betyr ikke at operatøren har godkjent den, at en overføring er planlagt, eller at aktiveringen er fullført.
Avstem før du prøver på nytt
- Les prosjektets nummerliste før du legger til numre, og lagre den planlagte tilleggingen i dine egne forespørselslogger.
- Send forespørselen om tillegging én gang.
- Les prosjektets nummerliste på nytt og sammenlign hvert nummer du hadde tenkt å legge til. Kontroller duplikater og statusen for hvert nummer.
- Hvis forespørselen overskrider tidsgrensen, returnerer en feil eller rapporterer et tvetydig resultat, må du lese tilbake gjeldende data før du prøver på nytt. Noen av oppføringene kan allerede finnes.
- Løs problemer med manglende eller dupliserte rader gjennom arbeidsflyten for porteringsbestillingen eller kundestøtte, i stedet for å gjenta hele forespørselen blindt.
Behandlingsrutinen setter inn én oppføring om gangen uten en transaksjon eller beskyttelse mot duplikater. Et avbrudd kan la tidligere skrivinger bli stående; en mislykket innsetting som returnerer false, kan likevel tas med i det rapporterte antallet. Hvis en forespørsel gjentas, kan det legges til dupliserte rader. Behandlingsrutinen registrerer ikke selv en hendelse og fullfører heller ikke en overføring hos operatøren.
Feil i det eldre grensesnittet
En annen metode enn POST returnerer API-kode 403. Et prosjekt som mangler, er slettet eller ikke tilhører kontoen, returnerer API-kode 404. Tomme nummerinndata returnerer også API-kode 404. Krav til autentisering og begrensninger for kilde-IP gjelder. Disse kodene fra det eldre grensesnittet beviser ikke at det ikke har skjedd noen tidligere innsetting etter at behandlingen startet.
Fakturering og omfang av overføringen
Den gjennomgåtte behandlingsrutinen setter inn rader med prosjektnumre og inneholder ingen direkte kontobelastning eller innsending til operatøren. Dette gjør ikke den samlede porteringstjenesten gratis og overstyrer heller ikke avtalte porteringsgebyrer. Oppfyll prosjektets krav til fullmakt, dokumentasjon og gjennomgang før du forventer en overføring.