Programiści

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

Pobieranie załącznika projektu przenoszenia numerów

Pobierz bajty dokumentu z projektu należącego do Twojego konta i sprawdź zgodność ze starszym formatem przechowywania.

Na tej stronie
  1. Dostęp do konta i dokumentu
  2. Wskaż dokument
  3. Wyślij żądanie i zapisz odpowiedź
  4. Odpowiedź binarna i nagłówki
  5. Sprawdź pobrany plik
  6. Zgodność ze starszym formatem przechowywania
  7. Błędy i skutki działania

Dostęp do konta i dokumentu

Pobierz istniejący załącznik z projektu przenoszenia numerów należącego do Twojego konta API. Korzystaj z aktywnego konta API przez HTTPS z dozwolonego adresu IP. Projekt nie może być usunięty. Identyfikator dokumentu jest wyszukiwany w obrębie tego projektu; nie jest globalnym publicznym odnośnikiem do pobierania.

Wskaż dokument

Odczytaj odpowiedź ze szczegółami projektu i użyj wpisu z jego listy uploads. Wpis zawiera liczbowy identyfikator id, oryginalną nazwę pliku, zapisane rozszerzenie i względny adres download_url. Użyj identyfikatora projektu uniqueid oraz identyfikatora tego przesłanego pliku, a nie liczbowego identyfikatora rekordu projektu ani identyfikatora rekordu numeru telefonu.

Rozwiązuj zwrócony względny adres URL wyłącznie względem skonfigurowanego, zaufanego hosta API. Pobieranie wymaga tego samego uwierzytelnienia konta; metadane dokumentu nie zapewniają dostępu bez uwierzytelnienia.

Wyślij żądanie i zapisz odpowiedź

Ustaw PROJECT_ID i DOCUMENT_ID na wartości z projektu należącego do Twojego konta. Zakoduj identyfikator projektu do użycia w adresie URL. Ten przykład zapisuje bajty i nagłówki odpowiedzi oddzielnie, używając stałej lokalnej nazwy pliku wyjściowego zamiast polegać na nazwie pliku załącznika.

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"

Żądanie używa metody GET i nie ma treści. Odczytuje jeden kompletny załącznik, bez stronicowania właściwego dla tego punktu końcowego, opakowania JSON ani udokumentowanych zasad pobierania zakresów danych.

Odpowiedź binarna i nagłówki

Po pomyślnym wykonaniu treść odpowiedzi zawiera zapisane bajty załącznika po dekodowaniu starszego formatu przechowywania, a nie dane base64 ani obiekt odpowiedzi JSON. Metoda wysyła nagłówek Content-Disposition wskazujący załącznik, używając zapisanej nazwy pliku z usuniętymi podwójnymi cudzysłowami. Nagłówek nie gwarantuje kodowania zgodnego ze standardami ani bezpiecznej lokalnej ścieżki pliku; wybierz własną nazwę pliku docelowego.

Typy MIME odpowiedzi według rozszerzenia
Zapisane rozszerzenieContent-Type
pdfapplication/pdf
pngimage/png
jpg, jpegimage/jpeg
docapplication/msword
Inne wartościapplication/octet-stream

Przy dopasowywaniu rozszerzeń wielkość liter nie ma znaczenia. Typ MIME jest wybierany na podstawie zapisanego rozszerzenia, a nie analizy zawartości, i nie stanowi gwarancji poprawności dokumentu.

Sprawdź pobrany plik

  1. Sprawdź zarówno status HTTP, jak i nagłówki odpowiedzi. Błędy uwierzytelniania lub wyszukiwania mogą skutkować zwróceniem odpowiedzi w formacie JSON z API zamiast pliku. Nie traktuj każdej niepustej treści odpowiedzi ani zapisanego pliku wyjściowego jako pomyślnie pobranego pliku PDF.
  2. Jeśli treść odpowiedzi zawiera błąd w formacie JSON, sprawdź status.code i status.msg. Przechowuj dane błędów oddzielnie od oczekiwanego dokumentu.
  3. Sprawdź, czy otrzymany plik nie jest pusty i otwiera się jako plik oczekiwanego typu. Jeśli masz zachowany oryginał, porównaj jego sumę kontrolną z sumą kopii, zanim uznasz kopię za wiarygodną.
  4. Jeśli wynik jest pusty, nieprawidłowy lub różni się od oryginału, przerwij działanie i poproś pomoc techniczną o sprawdzenie zapisanego załącznika. Ponowne pobieranie nie naprawia przechowywanych danych.

Zgodność ze starszym formatem przechowywania

Obecna ścieżka przesyłania plików przez API oraz sprawdzone mechanizmy zapisu przesyłanych plików w portalu i starszym systemie zapisują bajty dokumentów z sekwencjami ucieczki. Pobieranie odwraca to przekształcenie. Testy offline rzeczywistej procedury obsługi zachowują wszystkie wartości bajtów i dosłowne ukośniki odwrotne dla tego formatu przechowywania.

Nie jest to gwarancja dotycząca każdego historycznego rekordu ani rekordu zaimportowanego z zewnątrz. Procedura obsługi zawsze dekoduje zapisany blok danych binarnych i nie wykrywa, czy rekord zaimportowano bez oczekiwanych sekwencji ucieczki. Nie korzysta też zastępczo ze ścieżki pliku, gdy rekord nie ma zapisanego bloku danych binarnych. Takie rekordy mogą zwracać zmienione bajty lub pusty ciąg bajtów. Sprawdź wynik i poproś pomoc techniczną o zbadanie danego załącznika, zamiast zmieniać dokument klienta lub zakładać, że jego metadane dowodzą dostępności pliku.

Obecny portal najpierw korzysta z tej ścieżki API i ma dodatkowe lokalne mechanizmy zastępcze. Pomyślne pobranie przez portal nie dowodzi, że każdy rekord ze starszego systemu można pobrać bezpośrednio przez to API.

Błędy i skutki działania

Brakujący, usunięty lub nienależący do Twojego konta projekt powoduje zwrócenie kodu API 404 z komunikatem o nieznalezieniu projektu. Brak przesłanego pliku w projekcie należącym do Twojego konta powoduje zwrócenie kodu API 404 z komunikatem o nieznalezieniu dokumentu. Odczytuj treść odpowiedzi błędów API oraz status HTTP. Dla istniejącego rekordu, który nie zawiera użytecznych zapisanych bajtów, ta procedura obsługi nie ma odrębnej, niezawodnej odpowiedzi sygnalizującej brak dokumentu.

Sprawdzony punkt końcowy odczytuje jeden załącznik. Nie przesyła, nie modyfikuje ani nie usuwa dokumentu, nie składa wniosku o przeniesienie numerów i nie obciąża konta. Załączniki dotyczące przenoszenia numerów mogą zawierać dane tożsamości, rozliczeniowe lub dotyczące upoważnień: używaj ich wyłącznie w autoryzowanych procesach obsługi konta i nie umieszczaj ich w publicznych dziennikach, danych analitycznych ani na zrzutach ekranu w dokumentacji.