Програмери

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

Пронађите доступне телефонске бројеве

Претражите један префикс у каталогу, прегледајте могућности бројева и ценовне планове за свој налог, а затим изаберите број за засебну поруџбину. Претрага не резервише нити купује број.

На овој страници
  1. Изаберите појединачни префикс
  2. Прегледајте ограничен скуп резултата
  3. Пронађите образац цифара који се лако памти
  4. Прегледајте изабрани број
  5. Наручите засебно и потврдите резултат
  6. Захтев
  7. Одговор
  8. Грешке
  9. Доступност и споредни ефекти

Изаберите појединачни префикс

Користите позиве за проналажење земаља и области покривености, а затим getprefixes без груписања. Копирајте вредност изабраног префикса из поља uuid. Ако је returns_numbers једнако 0, за тај префикс број се додељује при наручивању; користите враћену вредност next_function уместо да захтевате списак појединачних бројева.

Прегледајте ограничен скуп резултата

За уобичајену претрагу користите compact=1 и наведите жељену величину скупа и у путањи и у параметру упита quantity, као што је приказано испод. Не постоји параметар за страницу или курсор. Компактан резултат је узорак; понављање захтева не гарантује следећу страницу без преклапања са претходном. Празан или мали скуп резултата немојте тумачити као укупан број расположивих бројева.

Пронађите образац цифара који се лако памти

Наведите number_filter_mode=contains или ends_with заједно са number_filter_value. Вредност мора да садржи 1–15 цифара. Претрага може да преузме ограничене скупове кандидата пре примене филтера, па може да пропусти друге расположиве бројеве који одговарају услову. Ако вам је потребан подржан извор за спровођење захтеване претраге, прибавите селектор pid од компаније MultiTEL и користите filter_required=1; ако избор није наведен или није подржан, API враћа грешку.

Прегледајте изабрани број

Из истог резултата прочитајте number, info.uuid, изабрани price[].uuid, називе доступних функција и захтеве за регистрацију. Низ price може да понуди више планова са различитим бројем канала и тарифама. Новчана поља и количине могу бити кодирани као текстуалне ниске. Необавезни метаподаци, укључујући info.state, разликују се међу изворима; немојте захтевати један универзални облик податка о стању нити изводити цене из идентификатора.

У току обраде без стримовања уклањају се дупликати кандидата и врши се расподела међу изворима пре него што се изабрани скуп сортира према месечној цени првог плана. Други токови обраде могу раније да започну стримовање, па гаранција глобалног редоследа или уклањања дупликата не важи за сваки захтев. Сортирање такође не доказује да враћени узорак садржи најјефтинији број у целом каталогу.

Наручите засебно и потврдите резултат

Претрага ништа не купује нити резервише. Сачувајте враћене идентификаторе броја и плана за поступак наручивања у оквиру истог налога. Пре слања поруџбине прегледајте стварни план, захтеве и накнаде. Захтеви за регистрацију могу да одложе активацију; резултат претраге не утврђује фиксни рок за активацију.

Захтев

Користите омогућен MultiTEL API налог: HTTP Basic приступне податке за налог са лозинком или Authorization: Bearer за налог са токеном. Важе дозволе налога и његова ограничења IP адреса. Погледајте општа упутства за аутентификацију.

Параметри путање и параметри URL упита. За јавни поступак претраге користите GET. Обрада захтева прихвата и одређене вредности из обрасца или захтева, али ово није API за претрагу са JSON телом захтева.

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"
Параметри путање
НазивТипОбавезноОпис
prefix_idstringДаИдентификатор појединачног префикса враћен у негруписаном одговору позива getprefixes. Копирајте га тачно; немојте га заменити идентификатором земље, области покривености, груписаног префикса или ценовног плана.
quantityintegerНеЦиљни број за преузимање, подразумевано 1. Непозитивне вредности постају 1. Сам параметар quantity у путањи није поуздано ограничење укупног броја резултата: претрага која није везана за одређени извор и нема параметар упита quantity може да прошири преузимање и врати до 50 ставки по извору пре даље обраде. За уобичајено ограничено прегледање користите compact=1 и поновите жељену количину у упиту, као у примеру.
Параметри упита
НазивТипОбавезноОпис
quantityintegerНеЗахтевана коначна величина скупа резултата. Непразне вредности се претварају у целе бројеве, уз минимум од 1. У току обраде без стримовања који није везан за одређени извор, ово ограничава коначну расподелу. То не приморава услугу да пронађе толико бројева. Компактне претраге везане за одређени извор могу да врате компактан скуп тог извора уместо да примене ово ограничење.
compactstringНеКористите 1, true или on за мањи одговор без стримовања, са највише 10 ставки по извору пре коначне расподеле. Резултати су узорак тренутно преузетих расположивих бројева, а не цео каталог.
number_filter_modestringНеНеобавезни режим обрасца цифара: contains или ends_with. Наведите и number_filter_value. Резултати се проверавају према нормализованим цифрама телефонских бројева; претрага не пролази кроз све расположиве бројеве како би гарантовала сва могућа поклапања.
number_filter_valuestringНеИзмеђу 1 и 15 цифара, без размака, знака + или интерпункције. Почетне нуле су значајне; пошаљите вредност као текст.
filter_requiredstringНеНапредно: вредност 1, true, yes или on захтева подржан, изричито изабран извор расположивих бројева за режим филтрирања. У супротном API враћа status.code 422. Ово није потребно за уобичајено прегледање каталога.
pidstringНеНапредни селектор расположивих бројева који доставља MultiTEL. Прихватају се нумерички облици и подржани хексадецимални облици са 32 знака; непрепознате вредности се игноришу без обавештења. Изоставите га при уобичајеној употреби. Немојте изводити селекторе из идентификатора цена нити претпостављати да произвољан селектор ограничава расположиве бројеве искључиво на изабрани извор.

Одговор

Један JSON објекат који садржи status и response. При успеху, status.code је 200, а response је низ ставки са бројевима. status.results је број ставки у враћеном низу; status.msg може бити Results: N или OK за одговор са стримовањем. Без compact=1 неке претраге постепено исписују низ response и завршавају пољем status, па сачекајте цело JSON тело. Ово није JSON раздвојен новим редовима. Проверите status.code чак и када је HTTP пренос успешан. Типична поља су приказана испод; метаподаци специфични за извор и необавезна поља се разликују. Не тумачите унутрашњу структуру ниједног идентификатора и чувајте број заједно са његовим изабраним price[].uuid.

Илустративни облик одговора; ово нису стварни подаци налога нити актуелна понуда.

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

Грешке

  • 401: Аутентификација није успела. Неважећи или недостајући приступни подаци и одбијен приступ API налогу не дају резултате претраге.
  • 404: Invalid prefix ID, Invalid country, Invalid area или No numbers found. Прочитајте status.msg; одговор са грешком није низ бројева.
  • 400: NUMBER_FILTER_INVALID у response.code: неважећи режим, вредност која не садржи 1–15 цифара или filter_required без истовремено наведених режима и вредности.
  • 422: NUMBER_FILTER_UNSUPPORTED у response.code: или се за префикс број додељује при наручивању (reason=order_only_prefix, а next_function означава руту за наручивање), или изричито изабрани извор не може да подржи захтевани филтер.

Доступност и споредни ефекти

  • Ова обрада захтева претражује и припрема понуде; не шаље поруџбину броја нити задужује налог за куповину броја. Може да освежи кешеве каталога, уклони застареле кеширане податке о расположивим бројевима, сачува ценовне планове везане за налог и упише евиденцију претрага.
  • Доступност је резултат за одређени тренутак, а не резервација. Накнадна поруџбина може да не успе или да врати другачију доступност. Проверите исход поруџбине и ускладите своју евиденцију пре поновног покушаја куповине.
  • Цене су специфичне за налог. Сачувајте идентификатор изабраног плана за исти налог и засебно прегледајте услове поруџбине и накнаде; сама ова крајња тачка не доказује да ће цена остати важећа до касније поруџбине.
  • Број и цене у примеру су измишљени примери облика одговора, а не актуелна понуда. Могућности, број канала, трајање уговора и подаци о регистрацији морају се прочитати из стварног изабраног резултата.
  • Неки описи регистрације садрже форматирани текст или везе. При приказивању у сопственој апликацији третирајте враћене текстуалне ниске као непоуздане податке.
  • Доступност мобилних бројева и ознаке зависе од тога да ли налог испуњава услове и од расположивих бројева. Сам префикс у каталогу или ознака is_mobile не утврђује мобилне могућности одређеног броја.