Geliştiriciler

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

Kullanılabilir telefon numaralarını bulun

Katalogdaki tek bir önekte arama yapın, numaraların özelliklerini ve hesaba özel fiyat planlarını inceleyin, ardından ayrı bir sipariş için bir numara seçin. Arama yapmak bir numarayı rezerve etmez veya satın almaz.

Bu sayfada
  1. Tekil bir önek seçin
  2. Sınırlı bir sonuç grubuna göz atın
  3. Akılda kalıcı bir rakam deseni bulun
  4. Seçilen numarayı inceleyin
  5. Ayrı bir sipariş verin ve sonucu doğrulayın
  6. İstek
  7. Yanıt
  8. Hatalar
  9. Kullanılabilirlik ve yan etkiler

Tekil bir önek seçin

Ülkeleri ve kapsam alanlarını keşfetmeye yönelik çağrıları kullanın; ardından getprefixes çağrısını gruplama yapmadan çalıştırın. Seçilen öneğin şu alanını kopyalayın: uuid. Eğer returns_numbers değeri 0 ise önek, sipariş verildiğinde bir numara atar; tek tek numaraların listesini zorunlu tutmak yerine döndürülen next_function değerini kullanın.

Sınırlı bir sonuç grubuna göz atın

Normal bir arama için compact=1 kullanın ve istediğiniz sonuç grubu boyutunu aşağıda gösterildiği gibi hem yolda hem de quantity sorgu parametresinde belirtin. Sayfa veya imleç parametresi yoktur. Kompakt bir sonuç yalnızca bir örneklemdir; isteği tekrarlamak, önceki sonuçlarla örtüşmeyen bir sonraki sayfayı garanti etmez. Boş veya az sayıda sonuç dönmesini toplam stok miktarı olarak yorumlamayın.

Akılda kalıcı bir rakam deseni bulun

Şu seçeneklerden birini belirtin: number_filter_mode=contains veya ends_with; ayrıca şu parametreyi de sağlayın: number_filter_value. Değer 1–15 rakam içermelidir. Arama, filtreyi uygulamadan önce sınırlı sayıda aday grubu getirebilir; bu nedenle stoktaki diğer eşleşmeleri kaçırabilir. Gerekli aramayı uygulamak için desteklenen bir kaynağa ihtiyacınız varsa MultiTEL'den bir pid seçicisi edinin ve filter_required=1 kullanın; seçim yapılmaması veya desteklenmeyen bir seçim yapılması API hatası döndürür.

Seçilen numarayı inceleyin

Aynı sonuçtan şu bilgileri okuyun: number, info.uuid, seçilen price[].uuid, kullanılabilir özellik adları ve kayıt gereklilikleri. price dizisi, farklı kanal sayıları ve ücretlere sahip birden çok plan sunabilir. Parasal alanlar ve miktarlar metin dizeleri olarak kodlanabilir. info.state dahil isteğe bağlı meta veriler kaynağa göre değişir; tek bir evrensel durum yapısını zorunlu tutmayın veya bir kimlikten fiyat çıkarsamayın.

Akış kullanılmayan işlem yolunda, seçilen sonuç grubu ilk planın aylık fiyatına göre sıralanmadan önce yinelenen adaylar ayıklanır ve kaynaklar arasında tahsis yapılır. Diğer işlem yolları daha erken akış başlatabilir; bu nedenle tüm istekler için geçerli, sonuçların tamamını kapsayan bir sıralama veya yinelenenleri ayıklama garantisi yoktur. Sıralama, döndürülen örneklemin tüm katalogdaki en ucuz numarayı içerdiğini de kanıtlamaz.

Ayrı bir sipariş verin ve sonucu doğrulayın

Arama yapmak herhangi bir şeyi satın almaz veya rezerve etmez. Döndürülen numara ve plan kimliklerini aynı hesap altındaki sipariş iş akışı için saklayın. Siparişi göndermeden önce gerçek planı, gereklilikleri ve ücretleri inceleyin. Kayıt gereklilikleri etkinleştirmeyi geciktirebilir; arama sonucu, etkinleştirme için kesin bir son tarih belirlemez.

İstek

Etkin bir MultiTEL API hesabı kullanın: parolalı bir hesap için HTTP Basic kimlik bilgileri, belirteçli bir hesap için ise Authorization: Bearer kullanın. Hesabın izinleri ve IP kısıtlamaları geçerlidir. Ortak kimlik doğrulama kılavuzuna bakın.

Yol parametreleri ve URL sorgu parametreleri. Genel kullanıma açık arama iş akışı için GET kullanın. İşleyici belirli form/istek değerlerini de kabul eder, ancak JSON gövdeli bir arama API'si değildir.

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"
Yol parametreleri
AdTürZorunluAçıklama
prefix_idstringEvetGruplanmamış bir getprefixes yanıtında döndürülen tekil önek kimliği. Aynen kopyalayın; yerine ülke, kapsam alanı, gruplanmış önek veya fiyat planı kimliği kullanmayın.
quantityintegerHayırGetirilecek kayıt sayısı hedefi; varsayılan değer 1. Pozitif olmayan değerler 1 olur. Yoldaki quantity tek başına toplam sonuç sayısı için güvenilir bir sınır değildir: belirli bir kaynağa sabitlenmemiş ve quantity sorgu parametresi içermeyen bir arama, getirdiği kayıtların kapsamını genişletebilir ve diğer işlemlerden önce kaynak başına en fazla 50 kayıt döndürebilir. Normal, sınırlı göz atma için compact=1 kullanın ve örnekteki gibi istediğiniz miktarı sorguda da belirtin.
Sorgu parametreleri
AdTürZorunluAçıklama
quantityintegerHayırİstenen nihai sonuç grubu boyutu. Boş olmayan değerler, en az 1 olacak şekilde tam sayıya dönüştürülür. Belirli bir kaynağa sabitlenmemiş ve akış kullanılmayan işlem yolunda bu değer nihai tahsisi sınırlar. Hizmeti bu kadar numara bulmaya zorlamaz. Bir kaynağa sabitlenmiş kompakt aramalar, bu sınıra uymak yerine kaynağın kompakt sonuç grubunu döndürebilir.
compactstringHayırDaha küçük ve akış kullanılmayan bir yanıt için 1, true veya on kullanın; nihai tahsisten önce kaynak başına en fazla 10 kayıt bulunur. Sonuçlar, o anda getirilen stokun bir örneklemidir; kataloğun tamamı değildir.
number_filter_modestringHayırİsteğe bağlı rakam deseni modu: contains veya ends_with. number_filter_value parametresini de sağlayın. Sonuçlar, telefon numaralarının normalleştirilmiş rakamlarına göre denetlenir; arama, olası her eşleşmeyi garanti etmek için stokun tamamını taramaz.
number_filter_valuestringHayırBoşluk, + veya noktalama işareti içermeyen, 1 ile 15 arasında rakam. Baştaki sıfırlar anlamlıdır; değeri metin olarak gönderin.
filter_requiredstringHayırGelişmiş: 1, true, yes veya on kullanılması, filtre modu için desteklenen ve açıkça seçilmiş bir stok kaynağı gerektirir. Aksi halde API, status.code alanında 422 döndürür. Normal katalog taraması için buna gerek yoktur.
pidstringHayırMultiTEL tarafından sağlanan gelişmiş stok seçicisi. Sayısal biçimler ve desteklenen 32 karakterli onaltılık biçimler kabul edilir; tanınmayan değerler bildirimde bulunulmadan yok sayılır. Normal kullanımda bu parametreyi göndermeyin. Fiyat kimliklerinden seçici türetmeyin veya rastgele bir seçicinin stoku yalnızca seçilen kaynakla sınırladığını varsaymayın.

Yanıt

status ve response içeren tek bir JSON nesnesi. Başarılı olduğunda status.code değeri 200 olur ve response numara kayıtlarından oluşan bir dizidir. status.results, döndürülen dizinin eleman sayısıdır; status.msg değeri Results: N veya akışlı bir yanıtta OK olabilir. compact=1 kullanılmadığında bazı aramalar response dizisini aşamalı olarak yazar ve status ile tamamlanır; bu nedenle JSON gövdesinin tamamını bekleyin. Bu, satır sonlarıyla ayrılmış JSON değildir. HTTP aktarımı başarılı olsa bile status.code değerini kontrol edin. Tipik alanlar aşağıda gösterilmiştir; kaynağa özgü meta veriler ve isteğe bağlı alanlar değişiklik gösterir. Hiçbir kimliğin içeriğinden anlam çıkarmayın ve numarayı, onun için seçilen price[].uuid değeriyle birlikte saklayın.

Yanıt yapısını gösteren örnek; canlı hesap verisi veya güncel bir fiyat teklifi değildir.

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

Hatalar

  • 401: Kimlik doğrulama başarısız oldu. Geçersiz veya eksik kimlik bilgileri ve API hesabına erişimin reddedilmesi durumunda arama sonucu üretilmez.
  • 404: Invalid prefix ID, Invalid country, Invalid area veya No numbers found. status.msg alanını okuyun; hata yanıtı bir numara dizisi değildir.
  • 400: response.code alanında NUMBER_FILTER_INVALID: geçersiz mod, 1–15 rakam koşulunu karşılamayan bir değer veya mod ve değerin ikisi de sağlanmadan filter_required kullanılması.
  • 422: response.code alanında NUMBER_FILTER_UNSUPPORTED: önek numarayı sipariş sırasında atıyordur (reason=order_only_prefix ve next_function sipariş yolunu belirtir) veya açıkça seçilen kaynak gerekli filtreyi destekleyemiyordur.

Kullanılabilirlik ve yan etkiler

  • Bu işleyici arama yapar ve fiyat teklifleri hazırlar; numara siparişi göndermez veya numara satın alma ücretini hesaptan düşmez. Katalog önbelleklerini yenileyebilir, önbellekteki güncelliğini yitirmiş stok kayıtlarını kaldırabilir, hesaba özel fiyat planlarını kaydedebilir ve arama günlükleri yazabilir.
  • Kullanılabilirlik, belirli bir andaki durumu gösterir; rezervasyon değildir. Daha sonra verilen bir sipariş başarısız olabilir veya farklı bir kullanılabilirlik durumu döndürebilir. Satın alma işlemini yeniden denemeden önce sipariş sonucunu kayıtlarınızla karşılaştırıp işlemin durumunu netleştirin.
  • Fiyatlar hesaba özeldir. Seçilen plan kimliğini aynı hesap için saklayın ve sipariş koşullarıyla ücretleri ayrıca inceleyin; bu uç nokta tek başına bir fiyatın daha sonraki bir siparişe kadar geçerli kalacağını kanıtlamaz.
  • Örnek numara ve fiyatlar, yanıt yapısını göstermek için oluşturulmuş kurgusal örneklerdir; canlı bir fiyat teklifi değildir. Özellikler, kanal sayıları, sözleşme süresi ve kayıt bilgileri, gerçekten seçilen sonuçtan okunmalıdır.
  • Bazı kayıt açıklamaları biçimlendirilmiş metin veya bağlantılar içerir. Döndürülen metin dizelerini kendi uygulamanızda görüntülerken güvenilmeyen veri olarak ele alın.
  • Mobil kullanılabilirlik ve ilgili bayraklar, hesabın uygunluğuna ve stoka bağlıdır. Katalogdaki bir önek veya is_mobile bayrağı tek başına belirli bir numaranın mobil özelliklerini ortaya koymaz.