Udviklere

POST/v3/lnp/project/{uniqueid}/addnumbers

Føj numre til et eksisterende porteringsprojekt

Tilføj nummerrækker, og afstem derefter projektet, før du gentager en anmodning med et usikkert resultat.

På denne side
  1. Adgang til konto og projekt
  2. Forbered tilføjelsen
  3. POST-anmodning
  4. Rapporteret resultat
  5. Afstem, før du prøver igen
  6. Fejl i den ældre funktion
  7. Fakturering og overførslens omfang

Adgang til konto og projekt

Brug en aktiveret API-konto via HTTPS fra en tilladt IP-adresse. Projektet skal tilhøre den konto og må ikke være slettet. Brug projektets entydige ID fra arbejdsgangen for porteringsordrer, ikke dets numeriske database-ID eller et telefonnummer. URL-kod projektets ID, når du opbygger en anmodning.

Forbered tilføjelsen

Denne handling ændrer et eksisterende porteringsprojekt. Bekræft først numrene og kundens bemyndigelse via din arbejdsgang for porteringsordrer. Angiv hvert nummer som en fuldstændig international talrække, fjern selv dubletter, og kontrollér projektets eksisterende nummerliste. Brug ikke dette slutpunkt til at teste vilkårlige numre.

Den nuværende portal validerer og normaliserer numre, før den kalder denne rute. Det uindpakkede ældre slutpunkt giver ikke de samme sikkerhedsforanstaltninger: det fjerner indledende og afsluttende mellemrum fra input, men kontrollerer ikke telefonnummerformat, landekode, dubletter eller projektets status i arbejdsgangen.

POST-anmodning

Opret en lokal fil med navnet numbers.json med følgende struktur. Numrene er fiktive; erstat dem med numre, som du har bemyndigelse til at bruge i det valgte projekt.

{
  "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"
Felter i anmodningen om at tilføje numre
FeltBetydning
numbersPåkrævet, ikke-tomt array af numre som tekststrenge eller en tekststreng med ét nummer pr. linje. Tomme poster kasseres, og indledende og afsluttende mellemrum fjernes. Kommasepareret tekst opdeles ikke i separate numre.
isocodeValgfri landekode for de tilføjede rækker. Hvis den udelades eller er tom, bruges projektets placering. Behandlingskoden fjerner indledende og afsluttende mellemrum, men konverterer ikke en angivet værdi til store bogstaver og validerer den heller ikke. Angiv selv den korrekte landekode med store bogstaver.

Brug POST med application/json i dette eksempel. Formularinput via POST læses også. Metoden definerer hverken en idempotensnøgle eller en slutpunktspecifik garanti for en sikker batchstørrelse; afstem overskuelige portioner i stedet for at basere dig på en gættet grænse.

Rapporteret resultat

Fiktivt eksempel på et 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 markerer forsøgte tilføjelser som Pending. Det kontrollerer ikke resultatet af hver indsættelse i databasen, før det rapporteres. Et antal eller et returneret ID er derfor ikke i sig selv bevis for, at alle rækker er gemt permanent. En tilføjelse med status Pending betyder hverken, at operatøren har accepteret den, at en overførsel er planlagt, eller at aktiveringen er gennemført.

Afstem, før du prøver igen

  1. Læs projektets nummerliste, før du tilføjer numre, og gem den planlagte tilføjelse i din egen dokumentation over anmodninger.
  2. Send tilføjelsen én gang.
  3. Læs projektets nummerliste igen, og sammenhold hvert planlagt nummer med listen. Kontrollér dubletter og status for hvert nummer.
  4. Hvis anmodningen får timeout, returnerer en fejl eller rapporterer et tvetydigt resultat, skal du læse listen igen, før du prøver igen. Nogle tilføjelser kan allerede være oprettet.
  5. Afklar manglende eller dobbelte rækker via arbejdsgangen for porteringsordrer eller support i stedet for blindt at gentage hele anmodningen.

Behandlingskoden indsætter poster én ad gangen uden en transaktion eller beskyttelse mod dubletter. Ved en afbrydelse kan tidligere skrivninger blive stående; en mislykket indsættelse, der returnerer false, kan stadig indgå i det rapporterede antal. Gentagelse af en anmodning kan tilføje dubletrækker. Behandlingskoden registrerer ikke selv en hændelse og gennemfører heller ikke en overførsel hos operatøren.

Fejl i den ældre funktion

En anden metode end POST returnerer API-kode 403. Et projekt, der mangler, er slettet eller ikke tilhører kontoen, returnerer API-kode 404. Tomt nummerinput returnerer også API-kode 404. Krav om autentificering og begrænsninger for kilde-IP gælder. Disse ældre koder beviser ikke, at der ikke allerede er foretaget indsættelser, efter at behandlingen begyndte.

Fakturering og overførslens omfang

Den gennemgåede behandlingskode indsætter nummerrækker i projektet og indeholder ingen direkte debitering af kontoen eller indsendelse til operatøren. Det gør ikke den samlede porteringstjeneste gratis og tilsidesætter heller ikke aftalte porteringsgebyrer. Opfyld projektets krav til bemyndigelse, dokumentation og gennemgang, før du forventer en overførsel.