Pristup računu i dokumentu
Preuzmite postojeći privitak iz projekta prijenosa brojeva koji pripada vašem API računu. Upotrijebite omogućen API račun putem protokola HTTPS s dopuštene IP adrese. Projekt ne smije biti izbrisan. ID dokumenta traži se unutar tog projekta; nije riječ o globalnoj javnoj poveznici za preuzimanje.
Pronađite dokument
Pročitajte odgovor s pojedinostima projekta i upotrijebite stavku s njegova popisa uploads. Stavka uključuje brojčani id, izvorni naziv datoteke, pohranjeni datotečni nastavak i relativni download_url. Upotrijebite projektni uniqueid i ID tog prijenosa datoteke, a ne brojčani ID retka projekta ili ID retka telefonskog broja.
Vraćeni relativni URL razriješite isključivo u odnosu na konfigurirani, pouzdani API poslužitelj. Za preuzimanje je potrebna ista autentifikacija računa; metapodaci dokumenta ne omogućuju pristup bez autentifikacije.
Pošaljite zahtjev i spremite odgovor
Postavite PROJECT_ID i DOCUMENT_ID na vrijednosti iz projekta vašeg računa. Kodirajte ID projekta za URL. Ovaj primjer zasebno sprema bajtove i zaglavlja odgovora te koristi unaprijed određen lokalni naziv izlazne datoteke umjesto da se oslanja na naziv datoteke privitka.
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"Zahtjev koristi metodu GET bez tijela zahtjeva. Čita jedan cijeli privitak, bez straničenja specifičnog za ovu krajnju točku, omotača u formatu JSON ili dokumentiranog ugovora za preuzimanje raspona bajtova.
Binarni odgovor i zaglavlja
Ako je zahtjev uspješan, tijelo odgovora sadrži pohranjene bajtove privitka nakon dekodiranja starijeg formata pohrane, a ne sadržaj u formatu base64 ni objekt odgovora u formatu JSON. Metoda šalje zaglavlje Content-Disposition za privitak koristeći pohranjeni naziv datoteke iz kojeg su uklonjeni dvostruki navodnici. Nije zajamčeno da je zaglavlje kodirano u skladu sa standardima niti da predstavlja siguran lokalni put do datoteke; sami odaberite naziv odredišne datoteke.
| Pohranjeni datotečni nastavak | Content-Type |
|---|---|
| application/pdf | |
| png | image/png |
| jpg, jpeg | image/jpeg |
| doc | application/msword |
| Ostale vrijednosti | application/octet-stream |
Pri usporedbi datotečnih nastavaka ne razlikuju se velika i mala slova. MIME vrsta odabire se prema pohranjenom datotečnom nastavku, a ne pregledom sadržaja, i ne jamči valjanost dokumenta.
Provjerite preuzetu datoteku
- Provjerite i HTTP status i zaglavlja odgovora. Pogreške pri autentifikaciji ili traženju mogu umjesto datoteke vratiti odgovor u formatu JSON iz sučelja API. Nemojte svako neprazno tijelo odgovora ili spremljenu izlaznu datoteku smatrati uspješnim preuzimanjem datoteke u formatu PDF.
- Ako tijelo odgovora sadrži pogrešku u formatu JSON, provjerite
status.codeistatus.msg. Izlaz s pogreškom držite odvojeno od očekivanog dokumenta. - Provjerite da dobivena datoteka nije prazna i da se otvara kao očekivana vrsta datoteke. Ako ste zadržali izvornik, usporedite kontrolne zbrojeve prije nego što se oslonite na kopiju.
- Ako je rezultat prazan, nevaljan ili se razlikuje od izvornika, zaustavite postupak i zatražite od podrške da provjeri pohranjeni privitak. Ponovljena preuzimanja ne popravljaju pohranu.
Kompatibilnost sa starijim načinom pohrane
Trenutačni kod za prijenos datoteka putem sučelja API i pregledani kod za zapisivanje prenesenih datoteka u portalu i starijim sustavima pohranjuju bajtove dokumenta s izlaznim sekvencama. Ovo preuzimanje poništava to kodiranje. Izvanmrežni testovi stvarnog koda za obradu čuvaju sve vrijednosti bajtova i doslovne obrnute kose crte za taj format pohrane.
To nije jamstvo za svaki povijesni zapis ili zapis uvezen iz vanjskog izvora. Kod za obradu uvijek dekodira pohranjeni binarni objekt i ne otkriva je li zapis uvezen bez očekivanog kodiranja izlaznim sekvencama. Također ne koristi put do datoteke kao zamjensko rješenje kada zapis nema pohranjeni binarni objekt. Takvi zapisi mogu dati izmijenjene bajtove ili prazan rezultat. Provjerite rezultat i zatražite od podrške da istraži zahvaćeni privitak umjesto da mijenjate dokument korisnika ili pretpostavljate da njegovi metapodaci dokazuju dostupnost datoteke.
Trenutačni portal najprije koristi ovu API rutu te ima dodatnu lokalnu obradu zamjenskih rješenja. Uspješno preuzimanje putem portala ne dokazuje da se svaki stariji zapis može preuzeti izravno putem ovog sučelja API.
Pogreške i učinci
Projekt koji ne postoji, koji je izbrisan ili koji ne pripada vašem računu vraća API kod 404 s porukom da projekt nije pronađen. Prenesena datoteka koja nedostaje unutar projekta koji pripada vašem računu vraća API kod 404 s porukom da dokument nije pronađen. Čitajte tijela odgovora s pogreškama iz sučelja API kao i HTTP status. Za zapis koji postoji, ali nema upotrebljive pohranjene bajtove, ovaj kod za obradu nema poseban, pouzdan odgovor da zapis nije pronađen.
Pregledana krajnja točka čita jedan privitak. Ne prenosi, ne mijenja niti uklanja dokument, ne podnosi zahtjev za prijenos brojeva niti tereti račun. Privitci za prijenos brojeva mogu sadržavati podatke o identitetu, naplati ili ovlaštenju: zadržite ih unutar ovlaštenih radnih postupaka računa i nemojte ih uključivati u javne zapisnike, analitiku ni snimke zaslona u dokumentaciji.