Geliştiriciler

GET/v3/lnp/project/{uniqueid}/document/{documentId}

Numara taşıma projesinin ekini indirme

Hesabınıza ait bir projenin belge baytlarını indirin ve eski depolama biçimiyle uyumluluğunu doğrulayın.

Bu sayfada
  1. Hesap ve belge erişimi
  2. Belgeyi belirleyin
  3. İsteği gönderin ve yanıtı kaydedin
  4. İkili yanıt ve başlıklar
  5. İndirilen dosyayı doğrulayın
  6. Eski depolama biçimiyle uyumluluk
  7. Hatalar ve etkiler

Hesap ve belge erişimi

API hesabınıza ait bir numara taşıma projesindeki mevcut bir eki indirin. Etkinleştirilmiş bir API hesabını, izin verilen bir IP adresinden HTTPS üzerinden kullanın. Proje silinmiş olmamalıdır. Belge kimliği ilgili proje içinde aranır; bu kimlik, her yerde kullanılabilen herkese açık bir indirme bağlantısı değildir.

Belgeyi belirleyin

Proje ayrıntıları yanıtını okuyun ve şu listedeki bir kaydı kullanın: uploads. Kayıt şu bilgileri içerir: sayısal id, özgün dosya adı, depolanan uzantı ve göreli download_url. Projenin şu değerini kullanın: uniqueid; bununla birlikte ilgili yüklemenin kimliğini kullanın, projenin sayısal satır kimliğini veya bir telefon numarası kaydının satır kimliğini kullanmayın.

Döndürülen göreli URL'yi yalnızca yapılandırdığınız, güvendiğiniz API sunucusunu temel alarak çözümleyin. İndirme işlemi aynı hesap kimlik doğrulamasını gerektirir; belge meta verileri kimlik doğrulamasız erişim sağlamaz.

İsteği gönderin ve yanıtı kaydedin

Şu değişkenleri ayarlayın: PROJECT_ID ve DOCUMENT_ID. Bu değişkenler için hesabınıza ait projedeki değerleri kullanın. Proje kimliğine URL kodlaması uygulayın. Bu örnek, ekin dosya adına güvenmek yerine sabit bir yerel çıktı adı kullanarak baytları ve yanıt başlıklarını ayrı ayrı kaydeder.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --dump-header document-headers.txt \
  --output porting-document.bin \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/document/$DOCUMENT_ID"

İstek GET yöntemiyle gönderilir ve gövde içermez. Tek bir eki bütünüyle okur; uç noktaya özgü sayfalama, JSON sarmalayıcısı veya belgelenmiş bir bayt aralığı indirme sözleşmesi yoktur.

İkili yanıt ve başlıklar

İşlem başarılı olduğunda gövde, eski depolama biçiminin kod çözme adımından sonra elde edilen, eke ait depolanmış baytlardan oluşur; base64 biçiminde değildir ve bir JSON yanıt nesnesi değildir. Yöntem, depolanan dosya adındaki çift tırnakları kaldırarak bu adla ek bildiren bir Content-Disposition başlığı gönderir. Bu başlığın standartlara uygun kodlanmış veya güvenli bir yerel dosya yolu olduğu garanti edilmez; hedef dosya adını kendiniz seçin.

Uzantıya göre yanıt MIME türleri
Depolanan uzantıContent-Type
pdfapplication/pdf
pngimage/png
jpg, jpegimage/jpeg
docapplication/msword
Diğer değerlerapplication/octet-stream

Uzantı eşleştirmesi büyük/küçük harfe duyarlı değildir. MIME türü, içerik incelenerek değil depolanan uzantıya göre seçilir ve bu seçim belgenin geçerli olduğunu garanti etmez.

İndirilen dosyayı doğrulayın

  1. Hem HTTP durumunu hem de yanıt başlıklarını inceleyin. Kimlik doğrulama veya arama hataları, dosya yerine JSON biçiminde bir API yanıtı döndürülmesine neden olabilir. Boş olmayan her gövdeyi veya kaydedilen her çıktı dosyasını başarılı bir PDF indirmesi olarak değerlendirmeyin.
  2. Gövde JSON biçiminde bir hata içeriyorsa şu alanları inceleyin: status.code ve status.msg. Hata çıktısını beklenen belgeden ayrı tutun.
  3. Elde edilen dosyanın boş olmadığını ve beklenen dosya türünde açıldığını kontrol edin. Özgün dosyayı saklıyorsanız kopyaya güvenmeden önce sağlama toplamlarını karşılaştırın.
  4. Sonuç boşsa, geçersizse veya özgün dosyadan farklıysa işlemi durdurun ve destek ekibinden depolanan eki kontrol etmesini isteyin. Tekrarlanan indirmeler depolamayı onarmaz.

Eski depolama biçimiyle uyumluluk

Mevcut API yükleme yolu ile portalın ve eski sistemin incelenen yükleme yazma bileşenleri, belge baytlarını kaçış işlemi uygulanmış biçimde depolar. Bu indirme işlemi, uygulanan kaçış işlemini geri alır. Gerçek işleyicinin çevrimdışı testlerinde, bu depolama biçimi için tüm bayt değerleri ve gerçek ters eğik çizgi karakterleri korunur.

Bu, geçmişteki veya dışarıdan içe aktarılmış tüm kayıtlar için verilmiş bir söz değildir. İşleyici, depolanan ikili veri bloğunu her zaman çözer ve bir kaydın beklenen kaçış işlemi uygulanmadan içe aktarılıp aktarılmadığını tespit etmez. Ayrıca kayıtta depolanmış bir ikili veri bloğu yoksa alternatif olarak bir dosya yolunu kullanmaz. Bu tür kayıtlar değişmiş baytlar veya boş bir sonuç üretebilir. Müşterinin belgesini değiştirmek ya da meta verilerinin dosyanın kullanılabilir olduğunu kanıtladığını varsaymak yerine sonucu doğrulayın ve destek ekibinden etkilenen eki incelemesini isteyin.

Mevcut portal önce bu API rotasını kullanır ve ek yerel alternatif işleme mekanizmalarına sahiptir. Portal üzerinden başarılı bir indirme yapılması, eski kayıtların tümünün bu API üzerinden doğrudan indirilebileceğini kanıtlamaz.

Hatalar ve etkiler

Var olmayan, silinmiş veya hesabınıza ait olmayan bir proje için projenin bulunamadığını belirten bir mesajla birlikte 404 API kodu döndürülür. Hesabınıza ait bir projede bulunmayan bir yükleme için belgenin bulunamadığını belirten bir mesajla birlikte 404 API kodu döndürülür. API hata yanıtlarının gövdelerini de HTTP durumuyla birlikte okuyun. Bu işleyicide, mevcut olmasına rağmen kullanılabilir depolanmış baytlar içermeyen bir kayıt için özel ve güvenilir bir bulunamadı yanıtı yoktur.

İncelenen uç nokta bir eki okur. Belge yüklemez, değiştirmez veya kaldırmaz; numara taşıma talebi göndermez ve hesaptan ücret düşmez. Numara taşıma ekleri kimlik, faturalandırma veya yetkilendirme bilgileri içerebilir: bunları hesabın yetkili iş akışları içinde tutun; herkese açık günlüklere, analiz sistemlerine ve dokümantasyon ekran görüntülerine dahil etmeyin.