Tilgang til konto og dokumenter
Last ned et eksisterende vedlegg fra et nummerporteringsprosjekt som API-kontoen din eier. Bruk en aktivert API-konto over HTTPS fra en tillatt IP-adresse. Prosjektet må ikke være slettet. En dokument-ID slås opp innenfor dette prosjektet; den er ikke en global, offentlig nedlastingslenke.
Identifiser dokumentet
Les svaret med prosjektdetaljer, og bruk en oppføring fra listen uploads. Oppføringen inneholder den numeriske verdien id, det opprinnelige filnavnet, den lagrede filendelsen og en relativ download_url. Bruk prosjektets uniqueid og ID-en til denne opplastingen, ikke prosjektets numeriske rad-ID eller rad-ID-en til et telefonnummer.
Gjør en returnert relativ URL om til en fullstendig adresse bare med den konfigurerte, betrodde API-verten som utgangspunkt. Nedlastingen krever samme kontoautentisering; dokumentmetadata gir ikke uautentisert tilgang.
Send forespørselen og lagre svaret
Sett PROJECT_ID og DOCUMENT_ID til verdier fra prosjektet til kontoen din. URL-kod prosjekt-ID-en. Dette eksemplet lagrer bytene og svarhodene hver for seg, med et fast lokalt navn på utdatafilen i stedet for å stole på vedleggets filnavn.
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"Forespørselen bruker GET uten innhold i forespørselskroppen. Den leser ett helt vedlegg, uten endepunktspesifikk paginering, JSON-innpakning eller dokumenterte regler for nedlasting av byteområder.
Binært svar og svarhoder
Ved suksess inneholder svarkroppen vedleggets lagrede byte etter dekoding av det eldre lagringsformatet, ikke base64 og ikke et JSON-svarobjekt. Metoden sender et Content-Disposition-hode som angir et vedlegg, med det lagrede filnavnet uten doble anførselstegn. Det er ikke garantert at hodet er kodet i samsvar med standarder eller er en trygg lokal filsti; velg ditt eget navn på målfilen.
| Lagret filendelse | Content-Type |
|---|---|
| application/pdf | |
| png | image/png |
| jpg, jpeg | image/jpeg |
| doc | application/msword |
| Andre verdier | application/octet-stream |
Ved sammenligning av filendelser skilles det ikke mellom store og små bokstaver. MIME-typen velges ut fra den lagrede filendelsen, ikke ved undersøkelse av innholdet, og valget garanterer ikke at dokumentet er gyldig.
Kontroller den nedlastede filen
- Kontroller både HTTP-statusen og svarhodene. Autentiseringsfeil eller oppslagsfeil kan returnere et svar i JSON-format fra API i stedet for en fil. Ikke regn enhver svarkropp med innhold eller lagret utdatafil som en vellykket PDF-nedlasting.
- Hvis svarkroppen er en feil i JSON-format, kontroller
status.codeogstatus.msg. Hold feilutdata atskilt fra det forventede dokumentet. - Kontroller at den resulterende filen ikke er tom, og at den åpnes som den forventede filtypen. Hvis du har beholdt originalen, sammenlign kontrollsummene før du stoler på kopien.
- Hvis resultatet er tomt, ugyldig eller forskjellig fra originalen, stopp og be brukerstøtte kontrollere det lagrede vedlegget. Gjentatte nedlastinger reparerer ikke lagringen.
Kompatibilitet med eldre lagring
Den nåværende opplastingsflyten i API og de gjennomgåtte skriverutinene for opplasting i portalen og eldre systemer lagrer dokumentbyte med escape-sekvenser. Denne nedlastingen opphever escape-kodingen. Frakoblede tester av den faktiske behandlingsrutinen bevarer alle byteverdier og bokstavelige omvendte skråstreker for dette lagringsformatet.
Dette er ikke en garanti for alle historiske eller eksternt importerte oppføringer. Behandlingsrutinen dekoder alltid det lagrede binærobjektet og oppdager ikke om en oppføring ble importert uten den forventede escape-kodingen. Den bruker heller ikke en filsti som reserve når en oppføring mangler et lagret binærobjekt. Slike oppføringer kan gi endrede byte eller tomt innhold. Kontroller resultatet og la brukerstøtte undersøke det berørte vedlegget, fremfor å endre et kundedokument eller anta at metadataene beviser at filen er tilgjengelig.
Den nåværende portalen bruker denne API-ruten først og har i tillegg lokal reservehåndtering. En vellykket nedlasting fra portalen beviser ikke at alle eldre oppføringer kan lastes ned direkte gjennom dette API-et.
Feil og virkninger
Et prosjekt som mangler, er slettet eller ikke eies av kontoen din, returnerer API-kode 404 med en melding om at prosjektet ikke ble funnet. En manglende opplasting i et prosjekt som kontoen din eier, returnerer API-kode 404 med en melding om at dokumentet ikke ble funnet. Les innholdet i feilsvarene fra API i tillegg til HTTP-statusen. En oppføring som finnes, men mangler brukbare lagrede byte, har ikke et eget pålitelig svar om at den ikke ble funnet i denne behandlingsrutinen.
Det gjennomgåtte endepunktet leser ett vedlegg. Det laster ikke opp, endrer eller fjerner et dokument, sender ikke inn en porteringsforespørsel og belaster ikke kontoen. Porteringsvedlegg kan inneholde identitetsopplysninger, faktureringsopplysninger eller opplysninger om fullmakter: bruk dem bare i autoriserte arbeidsflyter for kontoen, og hold dem utenfor offentlige logger, analysedata og skjermbilder i dokumentasjonen.