დეველოპერებისთვის

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

ნომრის პორტირების პროექტის დანართის ჩამოტვირთვა

ჩამოტვირთეთ თქვენი კუთვნილი პროექტის დოკუმენტის ბაიტები და გადაამოწმეთ ძველ საცავთან თავსებადობა.

ამ გვერდზე
  1. ანგარიშსა და დოკუმენტზე წვდომა
  2. დოკუმენტის იდენტიფიცირება
  3. პასუხის მოთხოვნა და შენახვა
  4. ორობითი პასუხი და სათაურები
  5. ჩამოტვირთული ფაილის გადამოწმება
  6. ძველ საცავთან თავსებადობა
  7. შეცდომები და შედეგები

ანგარიშსა და დოკუმენტზე წვდომა

ჩამოტვირთეთ არსებული დანართი პორტირების პროექტიდან, რომელიც თქვენს API ანგარიშს ეკუთვნის. გამოიყენეთ გააქტიურებული API ანგარიში HTTPS პროტოკოლით, ნებადართული IP მისამართიდან. პროექტი წაშლილი არ უნდა იყოს. დოკუმენტის იდენტიფიკატორი მოიძებნება ამ პროექტის ფარგლებში; ის არ არის ჩამოტვირთვის საყოველთაოდ ხელმისაწვდომი საჯარო ბმული.

დოკუმენტის იდენტიფიცირება

წაიკითხეთ პროექტის დეტალების პასუხი და გამოიყენეთ ჩანაწერი მისი uploads სიიდან. ჩანაწერი შეიცავს რიცხვით id, ფაილის თავდაპირველ სახელს, შენახულ გაფართოებასა და ფარდობით download_url. გამოიყენეთ პროექტის uniqueid და ამ ატვირთვის იდენტიფიკატორი და არა პროექტის მწკრივის რიცხვითი იდენტიფიკატორი ან ნომრის მწკრივის იდენტიფიკატორი.

დაბრუნებული ფარდობითი URL სრული მისამართის მისაღებად დაუკავშირეთ მხოლოდ თქვენ მიერ კონფიგურირებულ, სანდო API ჰოსტს. ჩამოტვირთვას იმავე ანგარიშის ავთენტიფიკაცია სჭირდება; დოკუმენტის მეტამონაცემები ავთენტიფიკაციის გარეშე წვდომას არ იძლევა.

პასუხის მოთხოვნა და შენახვა

მიანიჭეთ PROJECT_ID და DOCUMENT_ID პარამეტრებს თქვენი ანგარიშის პროექტიდან აღებული მნიშვნელობები. პროექტის იდენტიფიკატორი URL-ის კოდირებით დაამუშავეთ. ამ მაგალითში ბაიტები და პასუხის სათაურები ცალ-ცალკე ინახება; გამოყენებულია ფიქსირებული ლოკალური გამომავალი ფაილის სახელი და არა დანართის ფაილის სახელისადმი ნდობა.

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"

მოთხოვნა არის GET სხეულის გარეშე. ის კითხულობს ერთ სრულ დანართს; ამ საბოლოო წერტილისთვის არ არის გათვალისწინებული გვერდებად დაყოფა, JSON გარსი ან დიაპაზონებად ჩამოტვირთვის დოკუმენტირებული კონტრაქტი.

ორობითი პასუხი და სათაურები

წარმატების შემთხვევაში სხეული შეიცავს დანართის შენახულ ბაიტებს ძველი საცავის დეკოდირების საფეხურის შემდეგ და არა base64 მონაცემებს ან JSON პასუხის ობიექტს. მეთოდი აგზავნის დანართის Content-Disposition სათაურს შენახული ფაილის სახელით, საიდანაც ორმაგი ბრჭყალები ამოღებულია. გარანტირებული არ არის, რომ სათაური სტანდარტების შესაბამისადაა კოდირებული ან უსაფრთხო ლოკალურ ფაილის გზას წარმოადგენს; დანიშნულების ფაილის სახელი თავად შეარჩიეთ.

პასუხის MIME ტიპები გაფართოების მიხედვით
შენახული გაფართოებაContent-Type
pdfapplication/pdf
pngimage/png
jpg, jpegimage/jpeg
docapplication/msword
სხვა მნიშვნელობებიapplication/octet-stream

გაფართოების შედარებისას დიდი და პატარა ასოები არ განირჩევა. MIME ტიპი შეირჩევა შენახული გაფართოების მიხედვით და არა შიგთავსის შემოწმების საფუძველზე; ეს დოკუმენტის ვალიდურობის გარანტიას არ წარმოადგენს.

ჩამოტვირთული ფაილის გადამოწმება

  1. შეამოწმეთ როგორც HTTP სტატუსი, ისე პასუხის სათაურები. ავთენტიფიკაციის ან მოძიების შეცდომებისას ფაილის ნაცვლად შეიძლება დაბრუნდეს JSON ფორმატის API პასუხი. ყოველი არაცარიელი სხეული ან შენახული გამომავალი ფაილი არ ჩათვალოთ PDF ფაილის წარმატებულ ჩამოტვირთვად.
  2. თუ სხეული JSON ფორმატის შეცდომაა, შეამოწმეთ status.code და status.msg. შეცდომის გამომავალი მონაცემები მოსალოდნელი დოკუმენტისგან განცალკევებით შეინახეთ.
  3. გადაამოწმეთ, რომ მიღებული ფაილი არ არის ცარიელი და მოსალოდნელი ტიპის ფაილად იხსნება. თუ ორიგინალი შენახული გაქვთ, ასლზე დაყრდნობამდე შეადარეთ მათი საკონტროლო ჯამები.
  4. თუ შედეგი ცარიელია, არავალიდურია ან ორიგინალისგან განსხვავდება, შეჩერდით და მხარდაჭერის სამსახურს სთხოვეთ შენახული დანართის შემოწმება. განმეორებითი ჩამოტვირთვები საცავს არ აღადგენს.

ძველ საცავთან თავსებადობა

მოქმედი API ატვირთვის გზა და პორტალისა და ძველი სისტემის შემოწმებული ატვირთვის ჩამწერი კომპონენტები დოკუმენტის ბაიტებს სპეციალური სიმბოლოების ეკრანირებით ინახავს. ეს ჩამოტვირთვა ეკრანირებას უკუაქცევს. რეალური დამმუშავებლის ოფლაინ ტესტებში ამ შენახვის ფორმატისთვის ბაიტების ყველა მნიშვნელობა და უშუალო უკუ დახრილი ხაზები უცვლელად ნარჩუნდება.

ეს არ წარმოადგენს გარანტიას ყველა ისტორიული ან გარე წყაროდან იმპორტირებული ჩანაწერის შესახებ. დამმუშავებელი ყოველთვის დეკოდირებს შენახულ ბინარულ ობიექტს და არ ადგენს, იყო თუ არა ჩანაწერი იმპორტირებული მოსალოდნელი ეკრანირების გარეშე. ის არც ფაილის გზას იყენებს სათადარიგოდ, როცა ჩანაწერს შენახული ბინარული ობიექტი არ აქვს. ასეთმა ჩანაწერებმა შეიძლება შეცვლილი ბაიტები ან ცარიელი შედეგი წარმოქმნას. გადაამოწმეთ შედეგი და პრობლემური დანართის გამოკვლევა მხარდაჭერის სამსახურს მიანდეთ; ნუ შეცვლით მომხმარებლის დოკუმენტს და ნუ ჩათვლით, რომ მისი მეტამონაცემები ფაილის ხელმისაწვდომობას ადასტურებს.

მოქმედი პორტალი ჯერ ამ API მარშრუტს იყენებს და დამატებით ლოკალური სათადარიგო დამუშავებაც აქვს. პორტალიდან წარმატებული ჩამოტვირთვა არ ადასტურებს, რომ ყველა ძველი ჩანაწერის ჩამოტვირთვა უშუალოდ ამ API ინტერფეისით არის შესაძლებელი.

შეცდომები და შედეგები

არარსებული, წაშლილი ან თქვენი ანგარიშის საკუთრებაში არმყოფი პროექტისთვის ბრუნდება API კოდი 404 შეტყობინებით, რომ პროექტი ვერ მოიძებნა. თქვენი კუთვნილი პროექტის ფარგლებში არარსებული ატვირთვისთვის ბრუნდება API კოდი 404 შეტყობინებით, რომ დოკუმენტი ვერ მოიძებნა. წაიკითხეთ API შეცდომების სხეულებიც და HTTP სტატუსიც. არსებული ჩანაწერისთვის, რომელსაც გამოსადეგი შენახული ბაიტები აკლია, ამ დამმუშავებელს არ აქვს სპეციალური, საიმედო პასუხი, რომელიც მიუთითებს, რომ მონაცემები ვერ მოიძებნა.

შემოწმებული საბოლოო წერტილი კითხულობს ერთ დანართს. ის არ ტვირთავს, არ ცვლის და არ შლის დოკუმენტს, არ აგზავნის პორტირების მოთხოვნას და ანგარიშიდან თანხას არ ჩამოჭრის. პორტირების დანართები შეიძლება შეიცავდეს პირადობის, ანგარიშსწორების ან უფლებამოსილების შესახებ ინფორმაციას: გამოიყენეთ ისინი მხოლოდ ანგარიშისთვის ნებადართული სამუშაო პროცესების ფარგლებში და არ მოათავსოთ საჯარო ჟურნალებში, ანალიტიკაში ან დოკუმენტაციის ეკრანის სურათებში.