Розробникам

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. Для наявного запису, що не містить придатних збережених байтів, цей обробник не має окремої надійної відповіді про те, що документ не знайдено.

Перевірена кінцева точка зчитує одне вкладення. Вона не завантажує на сервер, не змінює й не видаляє документ, не подає заявку на перенесення номерів і не списує кошти з облікового запису. Вкладення для перенесення номерів можуть містити відомості про особу, оплату або повноваження: використовуйте їх лише в дозволених робочих процесах облікового запису та не включайте до публічних журналів, аналітичних даних і знімків екрана в документації.