Fejlesztők

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

Számhordozási projekt mellékletének letöltése

Töltse le a fiókjához tartozó projekt dokumentumának bájtjait, és ellenőrizze a korábbi tárolási formátummal való kompatibilitást.

Ezen az oldalon
  1. Hozzáférés a fiókhoz és a dokumentumhoz
  2. A dokumentum azonosítása
  3. A kérés elküldése és a válasz mentése
  4. Bináris válasz és fejlécek
  5. A letöltött fájl ellenőrzése
  6. Kompatibilitás a korábbi tárolási formátummal
  7. Hibák és hatások

Hozzáférés a fiókhoz és a dokumentumhoz

Töltsön le egy meglévő mellékletet az API-fiókjához tartozó számhordozási projektből. Engedélyezett API-fiókot használjon HTTPS kapcsolaton keresztül, egy engedélyezett IP-címről. A projekt nem lehet törölt állapotú. A dokumentumazonosító keresése az adott projekten belül történik; ez nem egy általánosan használható, nyilvános letöltési hivatkozás.

A dokumentum azonosítása

Olvassa el a projekt részleteit tartalmazó választ, és használja annak egyik bejegyzését a következő listából: uploads. A bejegyzés a következőket tartalmazza: a numerikus id, az eredeti fájlnév, a tárolt kiterjesztés és a relatív download_url. A projekt következő azonosítóját használja: uniqueid; emellett az adott feltöltés azonosítóját használja, ne a projekt numerikus sorazonosítóját vagy egy telefonszám sorazonosítóját.

A válaszban kapott relatív URL-t kizárólag a beállított, megbízható API-kiszolgáló címéhez viszonyítva oldja fel. A letöltéshez ugyanaz a fiókhitelesítés szükséges; a dokumentum metaadatai nem biztosítanak hitelesítés nélküli hozzáférést.

A kérés elküldése és a válasz mentése

Állítsa be a PROJECT_ID és a DOCUMENT_ID értékét a fiókjához tartozó projekt adatai alapján. Alkalmazzon URL-kódolást a projektazonosítóra. Ez a példa külön menti a bájtokat és a válasz fejléceit, és rögzített helyi kimeneti fájlnevet használ ahelyett, hogy megbízna a melléklet fájlnevében.

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"

A kérés GET metódusú, és nincs törzse. Egyetlen teljes mellékletet olvas be; nincs végpontspecifikus lapozás, JSON-burkoló vagy dokumentált, bájttartományok letöltésére vonatkozó szerződés.

Bináris válasz és fejlécek

Siker esetén a törzs a melléklet tárolt bájtjait tartalmazza a korábbi tárolási formátum dekódolási lépése után; nem base64 formátumú adat, és nem JSON-válaszobjektum. A metódus mellékletet jelző Content-Disposition fejlécet küld a tárolt fájlnévvel, amelyből eltávolítja a kettős idézőjeleket. A fejléc nem garantál szabványosan kódolt vagy biztonságos helyi fájlútvonalat; válasszon saját célfájlnevet.

A válasz MIME-típusai kiterjesztés szerint
Tárolt kiterjesztésContent-Type
pdfapplication/pdf
pngimage/png
jpg, jpegimage/jpeg
docapplication/msword
Egyéb értékekapplication/octet-stream

A kiterjesztések egyeztetése nem különbözteti meg a kis- és nagybetűket. A MIME-típus kiválasztása a tárolt kiterjesztésen alapul, nem a tartalom vizsgálatán, és nem garantálja a dokumentum érvényességét.

A letöltött fájl ellenőrzése

  1. Ellenőrizze a HTTP-állapotot és a válasz fejléceit is. Hitelesítési vagy keresési hiba esetén fájl helyett JSON formátumú API-válasz érkezhet. Ne tekintsen minden nem üres törzset vagy mentett kimeneti fájlt sikeres PDF-letöltésnek.
  2. Ha a törzs JSON formátumú hibát tartalmaz, ellenőrizze a status.code és a status.msg mezőt. A hibakimenetet a várt dokumentumtól elkülönítve tárolja.
  3. Ellenőrizze, hogy a kapott fájl nem üres-e, és a várt fájltípusként megnyitható-e. Ha rendelkezésére áll az eredeti, hasonlítsa össze az ellenőrzőösszegeket, mielőtt a másolatra hagyatkozna.
  4. Ha az eredmény üres, érvénytelen vagy eltér az eredetitől, álljon meg, és kérje meg az ügyfélszolgálatot a tárolt melléklet ellenőrzésére. Az ismételt letöltések nem javítják ki a tárolási hibákat.

Kompatibilitás a korábbi tárolási formátummal

A jelenlegi API-feltöltési útvonal, valamint a portál és a korábbi rendszer felülvizsgált feltöltési írókomponensei escape-eléssel tárolják a dokumentum bájtjait. Ez a letöltés visszafordítja az escape-elést. A tényleges kezelő offline tesztjeiben ennél a tárolási formátumnál minden bájtérték és minden literális fordított perjel megmarad.

Ez nem jelent ígéretet minden korábbi vagy külső forrásból importált rekordra. A kezelő mindig dekódolja a tárolt bináris adatblokkot, és nem érzékeli, ha egy rekordot az elvárt escape-elés nélkül importáltak. Akkor sem használ fájlútvonalat tartalék megoldásként, ha a rekordhoz nem tartozik tárolt bináris adatblokk. Az ilyen rekordok módosult bájtokat vagy üres eredményt adhatnak. Ellenőrizze az eredményt, és kérje az ügyfélszolgálattól az érintett melléklet kivizsgálását; ne módosítsa az ügyfél dokumentumát, és ne feltételezze, hogy a metaadatok bizonyítják a fájl elérhetőségét.

A jelenlegi portál először ezt az API-útvonalat használja, és további helyi tartalék megoldásokkal is rendelkezik. A portálon végrehajtott sikeres letöltés nem bizonyítja, hogy minden korábbi rekord közvetlenül is letölthető ezen az API-n keresztül.

Hibák és hatások

Nem létező, törölt vagy nem a fiókjához tartozó projekt esetén 404 API-kód érkezik a projekt hiányát jelző üzenettel. A fiókjához tartozó projekten belül hiányzó feltöltés esetén 404 API-kód érkezik a dokumentum hiányát jelző üzenettel. Olvassa el az API-hibaválaszok törzsét is a HTTP-állapot mellett. A létező, de használható tárolt bájtokat nem tartalmazó rekordokhoz ez a kezelő nem biztosít külön, megbízható, hiányt jelző választ.

A felülvizsgált végpont egy mellékletet olvas be. Nem tölt fel, nem módosít és nem távolít el dokumentumot, nem nyújt be számhordozási kérelmet, és nem terheli meg a fiókot. A számhordozási mellékletek személyazonossági, számlázási vagy felhatalmazási adatokat tartalmazhatnak: kizárólag a fiók engedélyezett munkafolyamataiban kezelje őket, és ne kerüljenek nyilvános naplókba, analitikai rendszerekbe vagy a dokumentáció képernyőképeire.