นักพัฒนา

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

ดาวน์โหลดไฟล์แนบของโครงการย้ายค่ายเบอร์เดิม

ดาวน์โหลดข้อมูลไบต์ของเอกสารในโครงการที่บัญชีของคุณเป็นเจ้าของ และตรวจสอบความเข้ากันได้กับระบบจัดเก็บข้อมูลเดิม

ในหน้านี้
  1. การเข้าถึงบัญชีและเอกสาร
  2. ระบุเอกสาร
  3. ส่งคำขอและบันทึกการตอบกลับ
  4. การตอบกลับแบบไบนารีและส่วนหัว
  5. ตรวจสอบไฟล์ที่ดาวน์โหลด
  6. ความเข้ากันได้กับระบบจัดเก็บข้อมูลเดิม
  7. ข้อผิดพลาดและผลกระทบ

การเข้าถึงบัญชีและเอกสาร

ดาวน์โหลดไฟล์แนบที่มีอยู่จากโครงการย้ายค่ายเบอร์เดิมซึ่งบัญชี 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 สำหรับไฟล์แนบโดยใช้ชื่อไฟล์ที่จัดเก็บไว้และนำเครื่องหมายอัญประกาศคู่ออก ไม่รับประกันว่าส่วนหัวนี้จะเข้ารหัสตามมาตรฐานหรือเป็นพาธไฟล์ภายในเครื่องที่ปลอดภัย โปรดกำหนดชื่อไฟล์ปลายทางด้วยตนเอง

ชนิด 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 สำหรับระเบียนที่มีอยู่แต่ไม่มีข้อมูลไบต์ที่จัดเก็บไว้ซึ่งใช้งานได้ ตัวจัดการนี้ไม่มีการตอบกลับว่าไม่พบข้อมูลที่แยกเฉพาะและเชื่อถือได้

เอนด์พอยต์ที่ตรวจทานแล้วอ่านไฟล์แนบหนึ่งไฟล์ โดยไม่อัปโหลด แก้ไข หรือลบเอกสาร ไม่ส่งคำขอย้ายค่ายเบอร์เดิม และไม่หักเงินจากบัญชี ไฟล์แนบสำหรับการย้ายค่ายเบอร์เดิมอาจมีข้อมูลระบุตัวตน ข้อมูลการเรียกเก็บเงิน หรือข้อมูลการมอบอำนาจ โปรดใช้ไฟล์เหล่านี้เฉพาะในกระบวนการของบัญชีที่ได้รับอนุญาต และอย่านำไปไว้ในบันทึกสาธารณะ ข้อมูลวิเคราะห์ หรือภาพหน้าจอที่ใช้ในเอกสารประกอบ