Geliştiriciler

POST/v3/rentnumber/{number_id}/{price_id}

Seçilen telefon numarasını satın alın

Onaylanmış tek bir numarayı ve fiyatı, fiyat teklifi koruma kontrolleriyle gönderin; yeniden denemeden önce sahiplik ve etkinleştirme durumlarını kayıtlarla karşılaştırıp doğrulayın.

Bu sayfada
  1. Numarayı ve fiyatı birlikte seçin
  2. Koruma kontrolleri içeren bir satın alma isteğini POST ile gönderin
  3. Kayıt ve etkinleştirme
  4. Planın haber verilmeden değiştirilmesini önleyin
  5. Gelişmiş: hesabın varsayılan yönlendirme ayarları
  6. Yanıt
  7. Hatalar ve belirsiz sonuçlar
  8. Yeniden denemeden önce kayıtları karşılaştırıp doğrulayın

Numarayı ve fiyatı birlikte seçin

Güncel bir kullanılabilir numara aramasından seçilen belirli bir numarayı satın alın. Seçilen kaydın info.uuid değerini numara kimliği, aynı kaydın price[].uuid değerlerinden birini de fiyat kimliği olarak kullanın. Uç nokta, kayıtlı numaranın tamamını da kabul eder; ancak ülke, alan veya önek kimliği, numara seçiminin yerine geçmez.

Arama yapmak veya kayıtlı fiyatlandırmayı okumak, numarayı rezerve etmez ya da fiyatını sabitlemez. Seçilen kurulum ücretini, aylık ücreti, gelen aramaların dakika ücretini, dahil olan dakikaları ve kanalları, ayrıca hesabın satın alma izinlerini ve kayıt gerekliliklerini doğrulayın. İncelenen yardımcı bileşende başlangıçtaki temel tutar, kurulum ücreti ile aylık ücretin toplamıdır; seçilen plan için sağlayıcıya özgü tüm ücretler ve koşullar doğrulanmalıdır.

Koruma kontrolleri içeren bir satın alma isteğini POST ile gönderin

İzin verilen bir kaynak IP adresinden, HTTPS üzerinden etkin bir API hesabı kullanın. Aşağıdaki komut bir satın alma işlemi gerçekleştirir; fiyat teklifi alma veya deneme işlemi değildir. Her değişkeni aynı güncel numara/fiyat seçiminden ayarlayın. Üst sınır alanları eski restore_quote_ önekini korur; mevcut portal da bu alanları, koruma kontrolleri içeren belirli numara satın alımlarında kullanır.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode "restore_quote_price_id=$PRICE_ID" \
  --data-urlencode "restore_quote_setup=$SETUP_PRICE" \
  --data-urlencode "restore_quote_monthly=$MONTHLY_PRICE" \
  --data-urlencode "restore_quote_per_minute=$PER_MINUTE_PRICE" \
  --data-urlencode "restore_quote_channels=$CHANNELS" \
  "https://api.multitel.net/v3/rentnumber/$NUMBER_ID/$PRICE_ID"

Gösterildiği gibi form verileriyle POST kullanın. Yardımcı bileşen JSON/seçenek sarmalayıcısı ayrıştırmasını da destekler; ancak bu inceleme, tüm fiyat teklifi ve sağlayıcı akışlarında tam eşdeğerlik bulunduğunu ortaya koymamıştır. Bu eski koordinatörde açık bir yöntem kontrolü bulunmasa da satın alma için GET kullanmayın.

Satın alma yolu ve fiyat teklifi alanları
AlanAnlamı
NUMBER_IDAramadan seçilen numaranın UUID'si veya kayıtlı numaranın tamamı. Her istekte tek numara.
PRICE_IDSeçilen numarayla ve hesabınızla ilişkili fiyat UUID'si. Her zaman açıkça belirtin.
restore_quote_price_idÇözümlenen fiyat kimliğiyle eşleşmelidir. Bu alanın sağlanması fiyat teklifi kontrollerini etkinleştirir; bu alan bir idempotans anahtarı değildir.
restore_quote_setupSonlu, negatif olmayan sayısal bir değer olarak kabul edilen en yüksek kurulum ücreti.
restore_quote_monthlySonlu, negatif olmayan sayısal bir değer olarak kabul edilen en yüksek aylık ücret.
restore_quote_per_minuteSonlu, negatif olmayan sayısal bir değer olarak gelen aramalar için kabul edilen en yüksek dakika ücreti.
restore_quote_channelsSeçilen fiyat seçeneğinin tam sayı cinsinden kesin kanal sayısıdır; farklı bir kanal planı talebi değildir.

Fiyat teklifinin fiyat kimliğini sağladığınız her durumda tüm sayısal fiyat teklifi alanlarını da sağlayın. Kimliğin değişmesi, fiyatın bir üst sınırı aşması, üst sınırın eksik/geçersiz olması, kanal sayısının değişmesi veya fiyat teklifi kilidinin meşgul olması, istek seçilen kiralama sağlayıcısına iletilmeden önce API kodu 409 döndürülmesine neden olur. Karşılaştırmalarda küçük bir kayan nokta toleransına izin verilir; elle yuvarlanmış bir fiyat yerine ekranda gösterilen gerçek plan değerlerini kullanın.

Koruma kontrolleri, iş akışının tamamını bir deneme işlemine veya atomik bir işleme dönüştürmez. Kayıt sorgulamaları, kimlik sağlama veya yardımcı bileşenin diğer işlemleri bu kontrollerden önce gerçekleşebilir. Bu kontroller ayrıca dış envanteri sabitlemez ve hesap düzeyindeki satın alma kısıtlamalarının yerine geçmez.

Kayıt ve etkinleştirme

Gerektiğinde, müşteriye ait kayıt profili UUID'sini içeren RegistrationID form alanını ekleyin. Bu, yüklenmiş bir kanıt belgesinin, tedarikçi adresinin veya ayrı bir kimlik varlığının kimliği değildir. Yardımcı bileşen, profili kimliği doğrulanmış hesap kapsamında çözümler ve eksik veya kullanılamayan profilleri reddeder.

Desteklenen envanterin bir kısmı kayıt tamamlanmadan satın almaya izin verir; diğer kısmı satın almadan önce bir profil gerektirir. Operatöre özgü doğrulama veya hizmet sağlama işlemleri yine de gerekli olabilir. Başarılı bir satın almayı veya ön kontrolün yapılmamasını, kayıt muafiyeti ya da anında etkinleştirme olarak yorumlamayın.

Yanıtta mevcutsa, registration_requirements alanı, ülke ve numara türünü içeren yapılandırılmış gereklilik sorgusunu belirtir. Geçerli gereklilikleri tamamlamak için kayıt kataloğunu ve kanıt belgesi iş akışını kullanın. Döndürülen metin ve meta veriler, tek başlarına bir profili onaylamaz.

Planın haber verilmeden değiştirilmesini önleyin

Eski koordinatör, belirtilmemiş bir fiyatı önbelleğe alınmış numara verilerinden çıkarabilir. Ayrıca açıkça sağlanan fiyat kimliği artık mevcut değilse, önbelleğe alınmış bir önek için hesaptaki en yeni fiyatı yedek seçenek olarak kullanabilir ve önbellekteki izin verilen fiyat seçimini güncelleyebilir. Müşterinin onayladığı planı seçmek için bu yedek davranışlara güvenmeyin.

Seçilen fiyatı açıkça ve eşleşen fiyat teklifi koruma alanlarıyla birlikte sağlayın. Teklif kimliği koruması, kiralama isteği iletilmeden önce başka bir kimliğe geçilmesini reddeder. Güncelliğini yitirmiş bir fiyattan kaynaklanan çakışmadan sonra, satın almayı zorlamak için korumaları kaldırmak yerine aramayı yenileyin ve yeni seçim için onay alın.

Her işlem yolu için garantili bir rezervasyon süresi veya tüm yollarda uygulanan bir önbellek ömrü yoktur. İş akışında numaranın kullanılabilirliği, hesabın fiyat sınırları ve satın alma politikaları yeniden kontrol edilir; ancak sağlayıcıya özgü davranışların tamamı hâlâ incelenmektedir.

Gelişmiş: hesabın varsayılan yönlendirme ayarları

Satın alma işlemi, hesabın mevcut sesli arama hedeflerini, arıza durumunda kullanılacak yedek hedeflerini, SMS hedefini ve origination trankı tercihini devralabilir. Sipariş vermeden önce bu varsayılan ayarları gözden geçirin; yönlendirme seçeneklerini belirtmemek, yapılandırılmamış bir numara alınacağını garanti etmez. İncelenen yardımcı bileşen, otomatik yenilemeyi varsayılan olarak etkinleştirir.

Ortak yardımcı bileşenin tanıdığı yönlendirme seçenekleri
SeçenekDeğerin belirlenme davranışı
uri, uri2, uri3Belirtilmeyen değerler, hesaptaki ilgili varsayılan değerleri devralır. Açıkça boş bırakılan değerler, varsayılanı devralmak yerine yardımcı bileşendeki değeri temizler. Seçilen yönlendirme moduna uygun, geçerli hedefler kullanın.
smsuriBelirtilmeyen değer, hesabın SMS hedefini devralır; açıkça boş bırakılan değer, yardımcı bileşendeki hedefi temizler.
origintrunkAçıkça belirtilen ve tanınan trank kimliği önceliklidir. Çözümlenemeyen bir değer, hata üretmek yerine hesap tercihine veya eski varsayılan değere geri dönebilir.
forward_destination, forwarding_destination, typeBoş olmayan yönlendirme modu takma adları, belirtilen sırayla öncelik taşır. Tahmini bir sayısal mod yerine hesabın yönlendirme yapılandırmasındaki desteklenen değerleri kullanın.
RegistrationIDMüşteri kapsamında kayıt profili sorgulaması; yönlendirme hedeflerinden ayrıdır.
autorenewVarsayılan değer 1'dir. Yardımcı bileşen, değerin boş olup olmadığını kontrol eder; bu nedenle 0, bu satın alma alanı üzerinden yenilemeyi güvenilir biçimde devre dışı bırakmaz. Desteklenen hesap yenileme yönetimini kullanın ve kaydedilen ayarı doğrulayın.

Bunlar ortak yardımcı bileşenin çalışma kurallarıdır; her tedarikçinin her isteğe bağlı ayarı aynı şekilde kaydettiğini garanti etmez. Başka eski sesli arama, sesli mesaj, faks ve SMS alanları da vardır; ancak bunlar hâlâ sağlayıcıya özgü kapsamlı inceleme gerektirir. Aramaların veya mesajların çalışacağına güvenmeden önce, satın alınan numaranın kayıtlı yapılandırmasını hesap iş akışı üzerinden doğrulayın.

Yanıt

Sorunsuz bir satın alma için kurgusal örnek; değerler ve özellikler seçilen plana göre değişir.

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "price": {
      "per_minute": "0.0100",
      "free_minutes": "100",
      "setup_price": "2.00",
      "monthly_price": "4.00",
      "channels": "2",
      "overflow": "0"
    },
    "features": [
      "voice"
    ],
    "needs_registration": 0,
    "registration_requirements": null
  }
}

Koordinatör, kendine ait status.code/status.msg ve response yanıt zarfını kullanır; status.results alanının bulunması garanti edilmez. Hata durumunda yanıt listesi genellikle boştur. Başarılı sonuçta, döndürülen numarayı ve fiyatı inceleyin; ardından hesap envanteri ile kayıt durumunu kayıtlarla karşılaştırıp doğrulayın. Sağlayıcının kabulü, canlı sesli arama, SMS veya faks testi değildir.

Hatalar ve belirsiz sonuçlar

Başlıca koordinatör sonuç kodları
API koduAnlamı
403Hesabın fiyat/satın alma kısıtlamaları, kullanılamayan bir fiyat seçimi veya erişilemeyen bir kayıt profili işlemi engelleyebilir.
404Eksik veya kullanılamayan numara, fiyat ya da önek seçimi.
409Numara zaten etkindir, bir fiyat teklifi koruması artık eşleşmiyordur veya koruma kontrolleri içeren başka bir işlem kilidi tutuyordur.
422İncelenen kayıt akışlarında kayıt bilgileri gereklidir, eksiktir veya sisteme tanımlanamıyordur.
500 ve diğer sağlayıcı/hesap kodlarıSağlayıcı, yerel işleme veya politika kaynaklı hata. Bunlar, hiçbir satın alma veya ücretlendirme gerçekleşmediğinin her durumda geçerli kanıtı değildir.

HTTP durumunun yanı sıra gerçek API gövdesini de okuyun. Dış sağlayıcı bir kiralamayı kabul ettikten sonra yerel bildirim, kayıt veya diğer işlemler başarısız olabilir. Bazı yerel envanter tahsisleri veritabanı işlemleri kullanır; ancak dış sağlayıcı siparişlerinin tamamı için geçerli bir geri alma mekanizması yoktur. Bu koordinatörde istemci idempotans anahtarı bulunmaz.

Yeniden denemeden önce kayıtları karşılaştırıp doğrulayın

  1. İsteği tek sefer göndermeden önce onaylanmış numarayı, fiyatı ve fiyat teklifi üst sınırlarını uygulamanızın sipariş kaydında saklayın.
  2. İstekten sonra, zaman aşımı veya hata durumları da dahil olmak üzere, aynı hesabın satın alınan numara envanterini ve numara ayrıntılarını okuyun.
  3. Numara mevcutsa başka bir satın alma isteği göndermek yerine fiyatını, yenileme, yönlendirme ve kayıt durumunu doğrulayın.
  4. Sonuç hâlâ belirsizse yeniden denemeden önce destek ekibinin sağlayıcı siparişini ve hesap faturalandırmasını karşılaştırıp doğrulamasını sağlayın. Bir hata mesajı veya eski bir günlükteki başarı işareti, tek başına yeterli kanıt değildir.
  5. Sahiplik ve etkinleştirme doğrulandıktan sonra hesabın olağan yönlendirme kontrollerini ve hizmet testlerini tamamlayın.