Programeri

GET/v3/getnumbers/{prefix_id}/{quantity}

Pronađite dostupne telefonske brojeve

Pretražite jedan prefiks iz kataloga, pregledajte mogućnosti brojeva i tarifne planove specifične za račun, a zatim odaberite broj za zasebnu narudžbu. Pretraživanjem se broj ne rezervira niti kupuje.

Na ovoj stranici
  1. Odaberite pojedinačni prefiks
  2. Pregledajte ograničeni skup rezultata
  3. Pronađite lako pamtljiv uzorak znamenki
  4. Pregledajte odabrani broj
  5. Naručite zasebno i potvrdite rezultat
  6. Zahtjev
  7. Odgovor
  8. Pogreške
  9. Dostupnost i popratni učinci

Odaberite pojedinačni prefiks

Upotrijebite pozive za dohvat država i područja pokrivenosti, a zatim getprefixes bez grupiranja. Kopirajte identifikator odabranog prefiksa iz polja uuid. Ako je returns_numbers jednak 0, broj se za taj prefiks dodjeljuje pri naručivanju; upotrijebite vraćenu vrijednost next_function umjesto da zahtijevate popis pojedinačnih brojeva.

Pregledajte ograničeni skup rezultata

Za uobičajeno pretraživanje upotrijebite compact=1 i navedite željenu veličinu skupa u putanji i u parametru upita quantity, kao što je prikazano u nastavku. Ne postoji parametar za stranicu ni kursor. Sažeti rezultat predstavlja uzorak; ponavljanje zahtjeva ne jamči sljedeću stranicu bez preklapanja. Prazan ili malen skup rezultata nemojte tumačiti kao ukupan broj brojeva u ponudi.

Pronađite lako pamtljiv uzorak znamenki

Navedite number_filter_mode=contains ili ends_with zajedno s parametrom number_filter_value. Vrijednost mora sadržavati 1–15 znamenki. Pretraživanje može dohvatiti ograničene skupove kandidata prije primjene filtra, pa može propustiti druge odgovarajuće brojeve u ponudi. Ako vam je potreban podržani izvor za primjenu traženog pretraživanja, pribavite selektor pid od MultiTEL-a i upotrijebite filter_required=1; ako odabir nedostaje ili nije podržan, API vraća pogrešku.

Pregledajte odabrani broj

Iz istog rezultata pročitajte number, info.uuid, odabrani price[].uuid, nazive dostupnih značajki i zahtjeve za registraciju. Polje price može sadržavati više tarifnih planova s različitim brojem kanala i tarifama. Novčana polja i količine mogu biti kodirani kao nizovi znakova. Neobavezni metapodaci, uključujući info.state, razlikuju se među izvorima; nemojte zahtijevati jedan univerzalni oblik podatka o stanju niti zaključivati o cijenama na temelju identifikatora.

Pri obradi bez strujanja uklanjaju se duplikati kandidata i raspodjeljuju se mjesta u skupu među izvorima, a zatim se odabrani skup razvrstava prema mjesečnoj cijeni prvog tarifnog plana. Drugi načini obrade mogu ranije započeti strujanje, pa jamstvo globalnog poretka ili uklanjanja duplikata ne vrijedi za svaki zahtjev. Razvrstavanje također ne dokazuje da vraćeni uzorak sadrži najjeftiniji broj u cijelom katalogu.

Naručite zasebno i potvrdite rezultat

Pretraživanjem se ništa ne kupuje niti rezervira. Sačuvajte vraćene identifikatore broja i tarifnog plana za postupak naručivanja u okviru istog računa. Prije slanja narudžbe pregledajte stvarni tarifni plan, zahtjeve i naknade. Zahtjevi za registraciju mogu odgoditi aktivaciju; rezultat pretraživanja ne utvrđuje fiksni rok aktivacije.

Zahtjev

Upotrijebite omogućen račun za MultiTEL API: vjerodajnice za HTTP Basic za račun s lozinkom ili Authorization: Bearer za račun s tokenom. Primjenjuju se dozvole računa i njegova ograničenja IP adresa. Pogledajte opće upute za autentifikaciju.

Parametri putanje i parametri URL upita. Za javni postupak pretraživanja upotrijebite GET. Obrađivač prihvaća i određene vrijednosti iz obrasca ili zahtjeva, ali nije API za pretraživanje s tijelom zahtjeva u JSON formatu.

curl --fail-with-body --get \
  --user "${MULTITEL_API_USERNAME}:${MULTITEL_API_PASSWORD}" \
  --data-urlencode "compact=1" \
  --data-urlencode "quantity=10" \
  "https://api.multitel.net/v3/getnumbers/${PREFIX_ID}/10"
Parametri putanje
NazivTipObaveznoOpis
prefix_idstringDaIdentifikator pojedinačnog prefiksa vraćen u negrupiranom odgovoru funkcije getprefixes. Kopirajte ga točno; nemojte ga zamijeniti identifikatorom države, područja pokrivenosti, grupiranog prefiksa ili tarifnog plana.
quantityintegerNeCiljani broj zapisa za dohvat, zadano 1. Vrijednosti manje ili jednake nuli postaju 1. Sam parametar quantity u putanji nije pouzdano ograničenje ukupnog broja rezultata: pretraživanje koje nije vezano uz određeni izvor i nema parametar upita quantity može proširiti dohvat i vratiti do 50 zapisa po izvoru prije daljnje obrade. Za uobičajeni pregled ograničenog skupa upotrijebite compact=1 i ponovite željenu količinu u upitu, kao u primjeru.
Parametri upita
NazivTipObaveznoOpis
quantityintegerNeTražena veličina konačnog skupa. Neprazne vrijednosti pretvaraju se u cijele brojeve, uz najmanju vrijednost 1. Pri obradi bez strujanja koja nije vezana uz određeni izvor time se ograničava konačna raspodjela. To ne prisiljava uslugu da pronađe toliko brojeva. Sažeta pretraživanja vezana uz određeni izvor mogu vratiti sažeti skup tog izvora umjesto da primijene ovo ograničenje.
compactstringNeUpotrijebite 1, true ili on za manji odgovor bez strujanja, s najviše 10 zapisa po izvoru prije konačne raspodjele. Rezultati predstavljaju uzorak trenutačno dohvaćenih brojeva u ponudi, a ne potpuni katalog.
number_filter_modestringNeNeobavezni način filtriranja prema uzorku znamenki: contains ili ends_with. Navedite i number_filter_value. Rezultati se provjeravaju prema normaliziranim znamenkama telefonskih brojeva; pretraživanje ne prolazi kroz sve brojeve u ponudi kako bi zajamčilo sva moguća podudaranja.
number_filter_valuestringNeOd 1 do 15 znamenki, bez razmaka, znaka + ili interpunkcije. Vodeće nule su značajne; pošaljite vrijednost kao tekst.
filter_requiredstringNeNapredno: vrijednost 1, true, yes ili on zahtijeva podržani, izričito odabrani izvor ponude brojeva za taj način filtriranja. U suprotnom API vraća status.code 422. To nije potrebno za uobičajeni pregled kataloga.
pidstringNeNapredni selektor ponude brojeva koji dostavlja MultiTEL. Prihvaćaju se numerički oblici i podržani heksadekadski oblici duljine 32 znaka; neprepoznate vrijednosti zanemaruju se bez obavijesti. Izostavite ga pri uobičajenoj upotrebi. Nemojte izvoditi selektore iz identifikatora cijena niti pretpostavljati da proizvoljan selektor ograničava ponudu isključivo na odabrani izvor.

Odgovor

Jedan JSON objekt koji sadrži status i response. Pri uspjehu status.code iznosi 200, a response je polje zapisa o brojevima. status.results označava broj elemenata vraćenog polja; status.msg može biti Results: N ili OK za odgovor sa strujanjem. Bez compact=1 neka pretraživanja postupno zapisuju polje response i završavaju poljem status, stoga pričekajte cijelo JSON tijelo. To nije JSON s pojedinačnim zapisima odvojenima novim retkom. Provjerite status.code čak i kada HTTP prijenos uspije. Uobičajena polja prikazana su u nastavku; metapodaci specifični za izvor i neobavezna polja razlikuju se. Svaki identifikator smatrajte neprozirnim podatkom i zajedno čuvajte broj i njegov odabrani price[].uuid.

Ilustrativni oblik odgovora; ne predstavlja stvarne podatke računa ni aktualnu ponudu.

{
  "status": {
    "code": 200,
    "msg": "Results: 1",
    "results": 1
  },
  "response": [
    {
      "number": "12125550123",
      "info": {
        "uuid": "NUMBER_ID_FROM_RESPONSE",
        "prefix_uuid": "PREFIX_ID_FROM_RESPONSE",
        "area_uuid": "AREA_ID_FROM_RESPONSE",
        "country_uuid": "COUNTRY_ID_FROM_RESPONSE",
        "country_iso": "US",
        "prefix": "+1212",
        "name": "Example area",
        "state": "US"
      },
      "price": [
        {
          "uuid": "PRICE_PLAN_ID_FROM_RESPONSE",
          "per_minute": "0.01",
          "per_sms": "0",
          "per_mms": "0",
          "free_minutes": "0",
          "setup_price": "1.00",
          "monthly_price": "2.00",
          "yearly_price": "0",
          "channels": "2"
        }
      ],
      "contract": {
        "term": "1 month",
        "renewal": "monthly",
        "notice": "none"
      },
      "restrictions": {
        "needs_registration": "0",
        "restrictions": ""
      },
      "features": [
        "voice"
      ],
      "overflow": "0"
    }
  ]
}

Pogreške

  • 401: Autentifikacija nije uspjela. Nevaljane vjerodajnice ili vjerodajnice koje nedostaju te odbijen pristup API računu ne daju rezultate pretraživanja.
  • 404: Invalid prefix ID, Invalid country, Invalid area ili No numbers found. Pročitajte status.msg; odgovor s pogreškom nije polje brojeva.
  • 400: NUMBER_FILTER_INVALID u polju response.code: nevaljani način, vrijednost koja ne sadrži 1–15 znamenki ili filter_required bez istodobno navedenog načina i vrijednosti.
  • 422: NUMBER_FILTER_UNSUPPORTED u polju response.code: ili se broj za taj prefiks dodjeljuje pri naručivanju (reason=order_only_prefix, a next_function označava rutu za naručivanje) ili izričito odabrani izvor ne može podržati traženi filtar.

Dostupnost i popratni učinci

  • Ovaj obrađivač pretražuje i priprema ponude; ne šalje narudžbu broja niti naplaćuje kupnju broja. Može osvježiti predmemorije kataloga, ukloniti zastarjele podatke o ponudi iz predmemorije, spremiti tarifne planove vezane uz račun i zapisati dnevnike pretraživanja.
  • Dostupnost je rezultat za određeni trenutak, a ne rezervacija. Naknadna narudžba može biti neuspješna ili vratiti drukčiju dostupnost. Prije ponovnog pokušaja kupnje provjerite ishod narudžbe i uskladite evidenciju s njim.
  • Cijene su specifične za račun. Sačuvajte identifikator odabranog tarifnog plana za isti račun te zasebno pregledajte uvjete narudžbe i naknade; ova krajnja točka sama po sebi ne dokazuje da će cijena ostati važeća do kasnije narudžbe.
  • Primjer broja i cijene izmišljeni su primjeri oblika odgovora, a ne aktualna ponuda. Mogućnosti, broj kanala, ugovorno trajanje i podatke o registraciji morate pročitati iz stvarnog odabranog rezultata.
  • Neki opisi registracije sadrže oblikovani tekst ili poveznice. Pri prikazivanju u vlastitoj aplikaciji vraćene nizove znakova smatrajte nepouzdanim podacima.
  • Dostupnost mobilnih brojeva i oznake ovise o tome ispunjava li račun uvjete te o ponudi brojeva. Sam prefiks iz kataloga ili oznaka is_mobile ne potvrđuje mobilne mogućnosti određenog broja.