Programeri

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

Dodavanje brojeva u postojeći projekt prijenosa brojeva

Dodajte retke s brojevima, a zatim provjerite i uskladite stanje projekta prije ponavljanja zahtjeva s neizvjesnim ishodom.

Na ovoj stranici
  1. Pristup računu i projektu
  2. Priprema dodavanja
  3. Zahtjev POST
  4. Prijavljeni rezultat
  5. Provjerite i uskladite stanje prije ponovnog pokušaja
  6. Pogreške starije implementacije
  7. Naplata i opseg prijenosa

Pristup računu i projektu

Upotrijebite omogućen račun za API putem protokola HTTPS s dopuštene IP adrese. Projekt mora pripadati tom računu i ne smije biti izbrisan. Upotrijebite jedinstveni identifikator projekta iz tijeka obrade naloga za prijenos brojeva, a ne njegov brojčani identifikator u bazi podataka ili telefonski broj. Pri sastavljanju zahtjeva kodirajte identifikator projekta za URL.

Priprema dodavanja

Ova operacija mijenja postojeći projekt prijenosa brojeva. Najprije potvrdite brojeve i ovlaštenje korisnika kroz svoj tijek obrade naloga za prijenos brojeva. Svaki broj navedite kao potpuni niz znamenki u međunarodnom obliku, sami uklonite duplikate i provjerite postojeći popis brojeva u projektu. Nemojte upotrebljavati ovu krajnju točku za ispitivanje proizvoljnih brojeva.

Trenutačni portal provjerava valjanost brojeva i normalizira ih prije pozivanja ove rute. Izravna starija krajnja točka ne pruža iste zaštitne mjere: uklanja početne i završne razmake iz ulaznih podataka, ali ne provjerava oblik telefonskog broja, oznaku države, duplikate ni status projekta u tijeku obrade.

Zahtjev POST

Izradite lokalnu datoteku numbers.json sa sljedećom strukturom. Brojevi su izmišljeni; zamijenite ih brojevima za koje imate ovlaštenje za upotrebu u odabranom projektu.

{
  "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"
Polja zahtjeva za dodavanje brojeva
PoljeZnačenje
numbersObavezno neprazno polje brojeva navedenih kao znakovni nizovi ili znakovni niz s jednim brojem u svakom retku. Prazne stavke odbacuju se, a početni i završni razmaci uklanjaju. Tekst odvojen zarezima ne dijeli se na zasebne brojeve.
isocodeNeobavezna oznaka države za dodane retke. Ako je izostavljena ili prazna, upotrebljava se lokacija projekta. Obradni kod uklanja početne i završne razmake, ali unesenu vrijednost ne pretvara u velika slova niti provjerava njezinu valjanost. Sami navedite ispravnu oznaku države velikim slovima.

Za ovaj primjer upotrijebite POST uz application/json. Čitaju se i podaci obrasca poslani metodom POST. Metoda ne definira ključ idempotentnosti ni jamstvo sigurne veličine skupine specifično za ovu krajnju točku; provjeravajte i usklađujte skupine kojima možete upravljati umjesto da se oslanjate na pretpostavljeno ograničenje.

Prijavljeni rezultat

Izmišljeni primjer odgovora.

{
  "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"
      }
    ]
  }
}

Odgovor označava pokušaje dodavanja statusom Pending. Prije prijave rezultata ne provjerava rezultat svakog umetanja u bazu podataka. Stoga sam broj stavki ili vraćeni identifikator nije dokaz da je svaki redak trajno pohranjen. Dodavanje sa statusom Pending ne znači da ga je operator prihvatio, da je prijenos zakazan ili da je aktivacija dovršena.

Provjerite i uskladite stanje prije ponovnog pokušaja

  1. Prije dodavanja brojeva pročitajte popis brojeva u projektu i sačuvajte podatke o planiranom dodavanju u vlastitoj evidenciji zahtjeva.
  2. Pošaljite zahtjev za dodavanje samo jednom.
  3. Ponovno pročitajte popis brojeva u projektu i usporedite svaki broj koji ste namjeravali dodati. Provjerite duplikate i status svakog broja.
  4. Ako zahtjev prekorači vremensko ograničenje, vrati pogrešku ili prijavi nejasan rezultat, ponovno pročitajte stanje prije ponovnog pokušaja. Neki dodani brojevi možda već postoje.
  5. Riješite nedostajuće ili duplicirane retke kroz tijek obrade naloga za prijenos brojeva ili uz pomoć podrške umjesto da naslijepo ponavljate cijeli zahtjev.

Obradni kod umeće stavke jednu po jednu, bez transakcije ili zaštite od duplikata. Prekid može ostaviti prethodne zapise pohranjenima; neuspjelo umetanje koje vrati false i dalje može biti uključeno u prijavljeni broj stavki. Ponavljanje zahtjeva može dodati duplicirane retke. Obradni kod sam ne zapisuje događaj niti dovršava prijenos kod operatora.

Pogreške starije implementacije

Metoda različita od POST vraća kod API-ja 403. Projekt koji ne postoji, koji je izbrisan ili koji ne pripada računu vraća kod API-ja 404. Prazan unos brojeva također vraća kod API-ja 404. Primjenjuju se autentifikacija i ograničenja izvorne IP adrese. Ti kodovi starije implementacije ne dokazuju da nakon početka obrade nije već došlo do umetanja.

Naplata i opseg prijenosa

Pregledani obradni kod umeće retke s brojevima u projekt i ne sadrži izravno terećenje računa ni slanje zahtjeva operatoru. To ne znači da je cjelokupna usluga prijenosa brojeva besplatna niti poništava dogovorene naknade za prijenos. Ispunite zahtjeve projekta u pogledu ovlaštenja, dokumentacije i pregleda prije nego što očekujete prijenos.