Geliştiriciler

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

Mevcut bir numara taşıma projesine numara ekleme

Numara satırlarını ekleyin, ardından sonucu belirsiz bir isteği yeniden denemeden önce proje kayıtlarını karşılaştırıp tutarlılıklarını kontrol edin.

Bu sayfada
  1. Hesap ve proje erişimi
  2. Ekleme işlemini hazırlama
  3. POST isteği
  4. Bildirilen sonuç
  5. Yeniden denemeden önce kayıtların tutarlılığını kontrol etme
  6. Eski uç noktanın hataları
  7. Faturalandırma ve numara taşımanın kapsamı

Hesap ve proje erişimi

İzin verilen bir IP adresinden, HTTPS üzerinden etkin bir API hesabı kullanın. Proje bu hesaba ait olmalı ve silinmiş olmamalıdır. Projenin sayısal veritabanı kimliğini veya bir telefon numarasını değil, numara taşıma siparişi iş akışındaki benzersiz proje kimliğini kullanın. İsteği oluştururken proje kimliğine URL kodlaması uygulayın.

Ekleme işlemini hazırlama

Bu işlem mevcut bir numara taşıma projesini değiştirir. Önce numara taşıma siparişi iş akışınız üzerinden numaraları ve müşterinin yetkilendirmesini doğrulayın. Her numarayı yalnızca rakamlardan oluşan tam uluslararası biçimde yazın, yinelenenleri kendiniz kaldırın ve projenin mevcut numara listesini kontrol edin. Bu uç noktayı rastgele numaraları test etmek için kullanmayın.

Mevcut portal, bu yolu çağırmadan önce numaraları doğrular ve standart biçime getirir. Doğrudan kullanılan eski uç nokta aynı korumaları sağlamaz: girdinin başındaki ve sonundaki boşlukları kaldırır ancak telefon numarası biçimini, ülke kodunu, yinelenen kayıtları veya projenin iş akışındaki durumunu doğrulamaz.

POST isteği

Yerel bir numbers.json dosyasını aşağıdaki yapıda oluşturun. Numaralar kurgusaldır; bunları seçilen proje için yetkilendirilmiş numaralarla değiştirin.

{
  "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"
Numara ekleme isteğinin alanları
AlanAnlamı
numbersNumaraları metin dizeleri olarak içeren, boş olmayan zorunlu bir dizi veya her satırında bir numara bulunan bir metin dizesi. Boş girdiler atılır ve baştaki/sondaki boşluklar kaldırılır. Virgülle ayrılmış metin, ayrı numaralara bölünmez.
isocodeEklenen satırlar için isteğe bağlı ülke kodu. Belirtilmediğinde veya boş bırakıldığında projenin konumu kullanılır. İşleyici, verilen değerin başındaki ve sonundaki boşlukları kaldırır ancak değeri büyük harfe dönüştürmez veya doğrulamaz. Doğru ülke kodunu büyük harflerle kendiniz girin.

Bu örnekte application/json içerik türüyle POST yöntemini kullanın. Form olarak gönderilen POST girdisi de okunur. Yöntem, bir idempotans anahtarı veya bu uç noktaya özgü güvenli bir toplu işlem boyutu garantisi tanımlamaz; tahmini bir sınıra güvenmek yerine yönetilebilir büyüklükteki grupların kayıtlarını karşılaştırıp tutarlılıklarını kontrol edin.

Bildirilen sonuç

Kurgusal yanıt örneği.

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

Yanıt, eklenmesi denenen kayıtları Pending olarak etiketler. Her veritabanı ekleme işleminin sonucunu bildirmeden önce doğrulamaz. Bu nedenle yalnızca bir kayıt sayısı veya döndürülen kimlik, her satırın kalıcı olarak kaydedildiğini kanıtlamaz. Pending durumundaki bir ekleme, operatörün kabulü, planlanmış bir numara taşıma işlemi veya tamamlanmış etkinleştirme anlamına gelmez.

Yeniden denemeden önce kayıtların tutarlılığını kontrol etme

  1. Numara eklemeden önce projenin numara listesini okuyun ve eklemeyi planladığınız numaraları kendi istek kayıtlarınızda saklayın.
  2. Ekleme isteğini bir kez gönderin.
  3. Projenin numara listesini tekrar okuyun ve eklemeyi planladığınız her numarayı karşılaştırın. Yinelenen kayıtları ve her numaranın durumunu kontrol edin.
  4. İstek zaman aşımına uğrarsa, hata döndürürse veya belirsiz bir sonuç bildirirse yeniden denemeden önce mevcut kayıtları tekrar okuyun. Eklemek istediğiniz bazı kayıtlar zaten oluşturulmuş olabilir.
  5. İsteğin tamamını kontrol etmeden tekrarlamak yerine, eksik veya yinelenen satırları numara taşıma siparişi iş akışı ya da destek birimi üzerinden düzeltin.

İşleyici, kayıtları veritabanı işlemi bütünlüğü veya yinelenen kayıt koruması olmadan tek tek ekler. Bir kesinti olduğunda önceki yazma işlemleri kalıcı kalabilir; false döndüren başarısız bir ekleme bile bildirilen sayıya dahil edilebilir. Bir isteğin tekrarlanması yinelenen satırlar ekleyebilir. İşleyici kendi başına bir olay kaydı yazmaz veya operatörler arası numara taşıma işlemini tamamlamaz.

Eski uç noktanın hataları

POST dışındaki bir yöntem, 403 API kodunu döndürür. Bulunamayan, silinmiş veya hesaba ait olmayan bir proje, 404 API kodunu döndürür. Boş numara girdisi de 404 API kodunu döndürür. Kimlik doğrulama ve kaynak IP kısıtlamaları geçerlidir. Bu eski kodlar, işleme başlandıktan sonra daha önce hiçbir ekleme yapılmadığını kanıtlamaz.

Faturalandırma ve numara taşımanın kapsamı

İncelenen işleyici, projenin numara satırlarını ekler; doğrudan hesaptan ücret tahsil etme veya operatöre başvuru gönderme işlemi içermez. Bu durum, numara taşıma hizmetinin tamamını ücretsiz kılmaz veya kararlaştırılmış numara taşıma ücretlerini geçersiz kılmaz. Numara taşıma işleminin gerçekleşmesini beklemeden önce projenin yetkilendirme, belge ve inceleme gerekliliklerini tamamlayın.