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.
| Tárolt kiterjesztés | Content-Type |
|---|---|
| application/pdf | |
| png | image/png |
| jpg, jpeg | image/jpeg |
| doc | application/msword |
| Egyéb értékek | application/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
- 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.
- Ha a törzs JSON formátumú hibát tartalmaz, ellenőrizze a
status.codeés astatus.msgmezőt. A hibakimenetet a várt dokumentumtól elkülönítve tárolja. - 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.
- 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.