การเข้าถึงบัญชีและเอกสาร
ดาวน์โหลดไฟล์แนบที่มีอยู่จากโครงการย้ายค่ายเบอร์เดิมซึ่งบัญชี API ของคุณเป็นเจ้าของ ใช้บัญชี API ที่เปิดใช้งานแล้วผ่าน HTTPS จากที่อยู่ IP ที่ได้รับอนุญาต โครงการต้องยังไม่ถูกลบ ระบบจะค้นหารหัสเอกสารภายในโครงการนั้น รหัสดังกล่าวไม่ใช่ลิงก์ดาวน์โหลดสาธารณะที่ใช้ได้ทั่วทั้งระบบ
ระบุเอกสาร
อ่านการตอบกลับรายละเอียดโครงการ แล้วใช้รายการหนึ่งจากรายการ uploads ของโครงการ รายการนั้นประกอบด้วยค่าตัวเลขของ id, ชื่อไฟล์ต้นฉบับ นามสกุลไฟล์ที่จัดเก็บไว้ และที่อยู่แบบสัมพัทธ์ใน download_url ให้ใช้ค่าของโครงการใน uniqueid ร่วมกับรหัสรายการอัปโหลดนั้น อย่าใช้รหัสแถวแบบตัวเลขของโครงการหรือรหัสแถวหมายเลขโทรศัพท์
แปลง URL แบบสัมพัทธ์ที่ได้รับกลับมาเป็น 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 สำหรับไฟล์แนบโดยใช้ชื่อไฟล์ที่จัดเก็บไว้และนำเครื่องหมายอัญประกาศคู่ออก ไม่รับประกันว่าส่วนหัวนี้จะเข้ารหัสตามมาตรฐานหรือเป็นพาธไฟล์ภายในเครื่องที่ปลอดภัย โปรดกำหนดชื่อไฟล์ปลายทางด้วยตนเอง
| นามสกุลไฟล์ที่จัดเก็บไว้ | Content-Type |
|---|---|
| application/pdf | |
| png | image/png |
| jpg, jpeg | image/jpeg |
| doc | application/msword |
| ค่าอื่น ๆ | application/octet-stream |
การจับคู่นามสกุลไฟล์ไม่แยกตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ การเลือกชนิด MIME อาศัยนามสกุลไฟล์ที่จัดเก็บไว้ ไม่ได้อาศัยการตรวจสอบเนื้อหาและไม่ได้รับประกันว่าเอกสารถูกต้องสมบูรณ์
ตรวจสอบไฟล์ที่ดาวน์โหลด
- ตรวจสอบทั้งสถานะ HTTP และส่วนหัวการตอบกลับ ข้อผิดพลาดในการยืนยันตัวตนหรือการค้นหาอาจส่งการตอบกลับในรูปแบบ JSON จาก API แทนไฟล์ อย่าถือว่าเนื้อหาการตอบกลับที่ไม่ว่างหรือไฟล์ผลลัพธ์ที่บันทึกไว้ทุกไฟล์หมายถึงการดาวน์โหลด PDF สำเร็จ
- หากเนื้อหาการตอบกลับเป็นข้อผิดพลาดในรูปแบบ JSON ให้ตรวจสอบ
status.codeและstatus.msgให้แยกผลลัพธ์ข้อผิดพลาดออกจากเอกสารที่ต้องการ - ตรวจสอบว่าไฟล์ที่ได้ไม่ว่างและเปิดได้ตามชนิดไฟล์ที่คาดไว้ หากคุณยังเก็บต้นฉบับไว้ ให้เปรียบเทียบค่าเช็กซัมก่อนเชื่อถือสำเนา
- หากผลลัพธ์ว่าง ไม่ถูกต้อง หรือแตกต่างจากต้นฉบับ ให้หยุดและขอให้ฝ่ายสนับสนุนตรวจสอบไฟล์แนบที่จัดเก็บไว้ การดาวน์โหลดซ้ำไม่สามารถแก้ไขปัญหาการจัดเก็บข้อมูลได้
ความเข้ากันได้กับระบบจัดเก็บข้อมูลเดิม
เส้นทางการอัปโหลดผ่าน API ปัจจุบันและส่วนเขียนข้อมูลอัปโหลดของพอร์ทัลและระบบเดิมที่ตรวจทานแล้ว จัดเก็บข้อมูลไบต์ของเอกสารโดยแปลงอักขระพิเศษด้วยเอสเคป การดาวน์โหลดนี้ย้อนการแปลงดังกล่าว การทดสอบแบบออฟไลน์กับตัวจัดการจริงแสดงว่าค่าไบต์ทุกค่าและเครื่องหมายแบ็กสแลชที่เป็นข้อมูลจริงยังคงเดิมสำหรับรูปแบบการจัดเก็บนี้
ข้อความนี้ไม่ได้รับประกันระเบียนเก่าทุกรายการหรือระเบียนทุกรายการที่นำเข้าจากภายนอก ตัวจัดการจะถอดรหัสก้อนข้อมูลไบนารีที่จัดเก็บไว้เสมอ และไม่ตรวจจับว่าระเบียนถูกนำเข้าโดยไม่ได้แปลงอักขระด้วยเอสเคปตามที่คาดไว้หรือไม่ อีกทั้งไม่หันไปใช้พาธไฟล์เป็นทางเลือกสำรองเมื่อระเบียนไม่มีก้อนข้อมูลไบนารีที่จัดเก็บไว้ ระเบียนเหล่านี้อาจให้ข้อมูลไบต์ที่เปลี่ยนไปหรือว่างเปล่า โปรดตรวจสอบผลลัพธ์และให้ฝ่ายสนับสนุนตรวจสอบไฟล์แนบที่ได้รับผลกระทบ แทนการแก้ไขเอกสารของลูกค้าหรือสันนิษฐานว่าเมทาดาทาพิสูจน์ได้ว่าไฟล์พร้อมใช้งาน
พอร์ทัลปัจจุบันใช้เส้นทาง API นี้ก่อน และมีกลไกสำรองภายในระบบเพิ่มเติม การดาวน์โหลดผ่านพอร์ทัลสำเร็จไม่ได้พิสูจน์ว่าระเบียนเดิมทุกรายการสามารถดาวน์โหลดโดยตรงผ่าน API นี้ได้
ข้อผิดพลาดและผลกระทบ
โครงการที่ไม่มีอยู่ ถูกลบแล้ว หรือบัญชีไม่ได้เป็นเจ้าของ จะส่งรหัส API 404 พร้อมข้อความว่าไม่พบโครงการ หากไม่พบรายการอัปโหลดภายในโครงการที่บัญชีเป็นเจ้าของ จะส่งรหัส API 404 พร้อมข้อความว่าไม่พบเอกสาร ให้อ่านทั้งเนื้อหาข้อผิดพลาดของ API และสถานะ HTTP สำหรับระเบียนที่มีอยู่แต่ไม่มีข้อมูลไบต์ที่จัดเก็บไว้ซึ่งใช้งานได้ ตัวจัดการนี้ไม่มีการตอบกลับว่าไม่พบข้อมูลที่แยกเฉพาะและเชื่อถือได้
เอนด์พอยต์ที่ตรวจทานแล้วอ่านไฟล์แนบหนึ่งไฟล์ โดยไม่อัปโหลด แก้ไข หรือลบเอกสาร ไม่ส่งคำขอย้ายค่ายเบอร์เดิม และไม่หักเงินจากบัญชี ไฟล์แนบสำหรับการย้ายค่ายเบอร์เดิมอาจมีข้อมูลระบุตัวตน ข้อมูลการเรียกเก็บเงิน หรือข้อมูลการมอบอำนาจ โปรดใช้ไฟล์เหล่านี้เฉพาะในกระบวนการของบัญชีที่ได้รับอนุญาต และอย่านำไปไว้ในบันทึกสาธารณะ ข้อมูลวิเคราะห์ หรือภาพหน้าจอที่ใช้ในเอกสารประกอบ