Kūrėjams

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

Atsisiųskite numerių perkėlimo projekto priedą

Atsisiųskite jums priklausančio projekto dokumento baitus ir patikrinkite suderinamumą su senąja saugojimo sistema.

Šiame puslapyje
  1. Prieiga prie paskyros ir dokumento
  2. Nustatykite, kurį dokumentą atsisiųsti
  3. Pateikite užklausą ir išsaugokite atsakymą
  4. Dvejetainis atsakymas ir antraštės
  5. Patikrinkite atsisiųstą failą
  6. Suderinamumas su senąja saugojimo sistema
  7. Klaidos ir poveikis

Prieiga prie paskyros ir dokumento

Atsisiųskite esamą priedą iš jūsų API paskyrai priklausančio numerių perkėlimo projekto. Naudokite įjungtą API paskyrą ir junkitės per HTTPS iš leidžiamo IP adreso. Projektas turi būti neištrintas. Dokumento identifikatoriaus ieškoma tik tame projekte; tai nėra visuotinė vieša atsisiuntimo nuoroda.

Nustatykite, kurį dokumentą atsisiųsti

Perskaitykite atsakymą su išsamia projekto informacija ir pasirinkite įrašą iš sąrašo uploads. Įraše pateikiamas skaitinis id, pradinis failo pavadinimas, išsaugotas plėtinys ir santykinis download_url. Naudokite projekto uniqueid ir to įkėlimo identifikatorių, o ne skaitinį projekto eilutės identifikatorių ar numerio eilutės identifikatorių.

Grąžintą santykinį URL paverskite absoliučiu tik naudodami sukonfigūruotą patikimą API serverį. Atsisiuntimui reikalingas tas pats paskyros autentifikavimas; dokumento metaduomenys nesuteikia prieigos be autentifikavimo.

Pateikite užklausą ir išsaugokite atsakymą

Nustatykite PROJECT_ID ir DOCUMENT_ID reikšmes pagal jūsų paskyros projektą. Projekto identifikatorių užkoduokite URL kodavimu. Šiame pavyzdyje baitai ir atsakymo antraštės išsaugomi atskirai, naudojant nustatytą vietinio išvesties failo pavadinimą, o ne pasikliaujant priedo failo pavadinimu.

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"

Tai GET užklausa be turinio. Ji nuskaito vieną visą priedą; šiam galiniam taškui nenumatytas skaidymas į puslapius, JSON apvalkalas ar dokumentuotas atsisiuntimo baitų intervalais veikimo susitarimas.

Dvejetainis atsakymas ir antraštės

Sėkmės atveju atsakymo turinį sudaro išsaugoti priedo baitai po senosios saugojimo sistemos dekodavimo veiksmo, o ne base64 duomenys ar JSON atsakymo objektas. Metodas siunčia priedo Content-Disposition antraštę su išsaugotu failo pavadinimu, iš kurio pašalintos dvigubos kabutės. Negarantuojama, kad antraštė užkoduota pagal standartus ar yra saugus vietinio failo kelias; paskirties failo pavadinimą pasirinkite patys.

Atsakymo MIME tipai pagal plėtinį
Išsaugotas plėtinysContent-Type
pdfapplication/pdf
pngimage/png
jpg, jpegimage/jpeg
docapplication/msword
Kitos reikšmėsapplication/octet-stream

Lyginant plėtinius didžiosios ir mažosios raidės neskiriamos. MIME tipas parenkamas pagal išsaugotą plėtinį, o ne tikrinant turinį; toks parinkimas negarantuoja, kad dokumentas yra tinkamas.

Patikrinkite atsisiųstą failą

  1. Patikrinkite ir HTTP būseną, ir atsakymo antraštes. Dėl autentifikavimo ar paieškos klaidų vietoje failo gali būti grąžintas JSON formato API atsakymas. Nelaikykite kiekvieno netuščio atsakymo turinio ar išsaugoto išvesties failo sėkmingai atsisiųstu PDF dokumentu.
  2. Jei atsakymo turinys yra JSON formato klaida, patikrinkite status.code ir status.msg. Klaidos išvestį laikykite atskirai nuo laukiamo dokumento.
  3. Patikrinkite, ar gautas failas netuščias ir atidaromas kaip laukiamo tipo failas. Jei turite išsaugotą originalą, prieš pasikliaudami kopija palyginkite jos ir originalo kontrolines sumas.
  4. Jei rezultatas tuščias, netinkamas arba skiriasi nuo originalo, sustokite ir paprašykite pagalbos tarnybos patikrinti išsaugotą priedą. Pakartotinis atsisiuntimas saugyklos nesutaiso.

Suderinamumas su senąja saugojimo sistema

Dabartinis API įkėlimo kelias ir peržiūrėti portalo bei senosios sistemos įkėlimo įrašymo komponentai išsaugo dokumento baitus su ekranavimo sekomis. Atsisiunčiant šis ekranavimas panaikinamas. Autonominiuose tikrosios apdorojimo funkcijos bandymuose išsaugomos visos šio saugojimo formato baitų reikšmės ir pažodiniai atgaliniai brūkšniai.

Tai nėra garantija dėl kiekvieno istorinio ar iš išorės importuoto įrašo. Apdorojimo funkcija visada dekoduoja išsaugotą dvejetainį objektą ir nenustato, ar įrašas buvo importuotas be numatyto ekranavimo. Jei įraše nėra išsaugoto dvejetainio objekto, ji taip pat nebando naudoti failo kelio kaip atsarginio varianto. Tokie įrašai gali grąžinti pakeistus baitus arba tuščią baitų seką. Patikrinkite rezultatą ir paprašykite pagalbos tarnybos ištirti paveiktą priedą, užuot keitę kliento dokumentą ar laikę jo metaduomenis įrodymu, kad failas pasiekiamas.

Dabartinis portalas pirmiausia naudoja šį API maršrutą ir turi papildomą vietinį atsarginį apdorojimą. Sėkmingas atsisiuntimas per portalą neįrodo, kad kiekvieną senosios sistemos įrašą galima atsisiųsti tiesiogiai per šią API.

Klaidos ir poveikis

Jei projektas neegzistuoja, yra ištrintas arba nepriklauso paskyrai, grąžinamas API kodas 404 su pranešimu, kad projektas nerastas. Jei paskyrai priklausančiame projekte nėra įkėlimo, grąžinamas API kodas 404 su pranešimu, kad dokumentas nerastas. Skaitykite API klaidų atsakymų turinį ir tikrinkite HTTP būseną. Esamam įrašui, kuriame nėra naudotinų išsaugotų baitų, ši apdorojimo funkcija neturi atskiro patikimo atsakymo, nurodančio, kad dokumentas nerastas.

Peržiūrėtas galinis taškas nuskaito vieną priedą. Jis neįkelia, nekeičia ir nepašalina dokumento, nepateikia numerių perkėlimo prašymo ir nenuskaito lėšų iš paskyros. Numerių perkėlimo prieduose gali būti tapatybės, atsiskaitymo ar įgaliojimų informacijos: naudokite juos tik leidžiamuose paskyros darbo procesuose ir neįtraukite į viešus žurnalus, analitikos duomenis ar dokumentacijos ekrano kopijas.