Toegang tot account en document
Download een bestaande bijlage van een nummerporteringsproject dat aan uw API-account toebehoort. Gebruik een ingeschakeld API-account via HTTPS vanaf een toegestaan IP-adres. Het project mag niet verwijderd zijn. Een document-ID wordt binnen dat project opgezocht; het is geen algemene openbare downloadlink.
Bepaal welk document u nodig hebt
Lees het antwoord met de projectdetails en gebruik een vermelding uit de lijst uploads. De vermelding bevat de numerieke id, de oorspronkelijke bestandsnaam, de opgeslagen extensie en de relatieve download_url. Gebruik de uniqueid van het project en die upload-ID, niet de numerieke rij-ID van het project of een rij-ID van een telefoonnummer.
Zet een geretourneerde relatieve URL uitsluitend om in een volledige URL op basis van de door u ingestelde, vertrouwde API-host. Voor de download is dezelfde accountauthenticatie vereist; documentmetadata verleent geen toegang zonder authenticatie.
Vraag het antwoord op en sla het op
Stel PROJECT_ID en DOCUMENT_ID in op waarden uit het project van uw account. Pas URL-codering toe op de project-ID. Dit voorbeeld slaat de bytes en de antwoordheaders afzonderlijk op en gebruikt een vaste lokale uitvoernaam in plaats van op de bestandsnaam van de bijlage te vertrouwen.
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"Het verzoek gebruikt GET zonder berichtinhoud. Het leest één volledige bijlage, zonder paginering voor dit eindpunt, zonder JSON-omhulsel en zonder gedocumenteerde afspraken voor het downloaden van een bytebereik.
Binair antwoord en headers
Bij een geslaagde aanvraag bevat de berichtinhoud de opgeslagen bytes van de bijlage na het decoderen van het oude opslagformaat, geen base64 en geen JSON-antwoordobject. De methode verstuurt een Content-Disposition-header voor een bijlage met de opgeslagen bestandsnaam, waaruit dubbele aanhalingstekens zijn verwijderd. De header is niet gegarandeerd volgens de standaarden gecodeerd en vormt geen gegarandeerd veilig lokaal bestandspad; kies zelf een bestandsnaam voor het doelbestand.
| Opgeslagen extensie | Content-Type |
|---|---|
| application/pdf | |
| png | image/png |
| jpg, jpeg | image/jpeg |
| doc | application/msword |
| Andere waarden | application/octet-stream |
Bij het vergelijken van extensies wordt geen onderscheid gemaakt tussen hoofdletters en kleine letters. Het MIME-type wordt gekozen op basis van de opgeslagen extensie, niet door de inhoud te inspecteren; die keuze garandeert niet dat het document geldig is.
Controleer het gedownloade bestand
- Controleer zowel de HTTP-status als de antwoordheaders. Bij authenticatie- of opzoekfouten kan een API-antwoord in JSON-formaat worden teruggestuurd in plaats van een bestand. Beschouw niet elke niet-lege berichtinhoud of elk opgeslagen uitvoerbestand als een geslaagde PDF-download.
- Als de berichtinhoud een fout in JSON-formaat bevat, controleer dan
status.codeenstatus.msg. Houd foutuitvoer gescheiden van het verwachte document. - Controleer of het verkregen bestand niet leeg is en als het verwachte bestandstype wordt geopend. Als u het origineel nog hebt, vergelijk dan de controlesommen voordat u op de kopie vertrouwt.
- Als het resultaat leeg of ongeldig is of van het origineel afwijkt, stop dan en vraag de ondersteuning om de opgeslagen bijlage te controleren. Herhaald downloaden herstelt de opslag niet.
Compatibiliteit met het oude opslagformaat
De huidige uploadverwerking via de API en de beoordeelde schrijflogica voor uploads van het portaal en het oude systeem slaan documentbytes op met escapetekens. Bij deze download worden die escapetekens weer verwerkt om de oorspronkelijke bytes terug te krijgen. In offline tests van de daadwerkelijke afhandelingslogica blijven alle bytewaarden en letterlijke backslashes voor dat opslagformaat behouden.
Dit is geen garantie voor elk historisch of extern geïmporteerd record. De afhandelingslogica decodeert altijd de opgeslagen blob en detecteert niet of een record zonder de verwachte escapetekens is geïmporteerd. Ook wordt niet teruggevallen op een bestandspad wanneer een record geen opgeslagen blob heeft. Zulke records kunnen gewijzigde bytes of een leeg resultaat opleveren. Controleer het resultaat en laat de ondersteuning een getroffen bijlage onderzoeken, in plaats van een klantdocument te wijzigen of aan te nemen dat de metadata bewijst dat het bestand beschikbaar is.
Het huidige portaal gebruikt eerst deze API-route en beschikt daarnaast over lokale terugvalmechanismen. Een geslaagde download via het portaal bewijst niet dat elk oud record rechtstreeks via deze API kan worden gedownload.
Fouten en gevolgen
Een ontbrekend of verwijderd project, of een project dat niet aan uw account toebehoort, retourneert API-code 404 met de melding dat het project niet is gevonden. Een ontbrekende upload binnen een project dat aan uw account toebehoort, retourneert API-code 404 met de melding dat het document niet is gevonden. Lees de inhoud van API-foutantwoorden en controleer ook de HTTP-status. Voor een record dat wel bestaat maar geen bruikbare opgeslagen bytes bevat, biedt deze afhandelingslogica geen afzonderlijk, betrouwbaar antwoord dat aangeeft dat het document niet is gevonden.
Het beoordeelde eindpunt leest één bijlage. Het uploadt, wijzigt of verwijdert geen document, dient geen nummerporteringsverzoek in en schrijft geen bedrag van de rekening af. Bijlagen voor nummerportering kunnen identiteits-, facturerings- of machtigingsgegevens bevatten: houd ze binnen de toegestane werkprocessen van het account en neem ze niet op in openbare logboeken, analysegegevens of schermafbeeldingen voor documentatie.