Разработчикам

POST/v3/create_encrypt_files

Загрузка файлов подтверждающих документов для регистрации

Загрузите файлы для подтверждения личности или адреса либо для шаблона дополнительного документа, затем прикрепите их, используя полученные краткосрочные ссылки.

На этой странице
  1. Сначала загрузите, затем прикрепите
  2. Запрос на загрузку
  3. Ограничения для файлов
  4. Проверьте каждый файл в ответе
  5. Прикрепляйте без промедления
  6. Ошибки и повторные попытки

Сначала загрузите, затем прикрепите

Загрузите файлы для одной категории подтверждающих или дополнительных документов, затем прикрепите их по полученным идентификаторам файлов с помощью create_proof или create_supporting_document. Сама по себе загрузка не создаёт запись о личности, адрес, подтверждение и не завершает регистрацию номера. Сначала изучите актуальные требования и идентификаторы из каталогов.

Укажите ровно один параметр выбора: proof_type_id для подтверждения личности или адреса либо supporting_template_id для дополнительного документа. Не передавайте оба параметра. Используйте идентификаторы, полученные из соответствующего каталога MultiTEL; считайте их непрозрачными идентификаторами, не интерпретируя их содержимое.

Запрос на загрузку

Используйте активированную учётную запись API MultiTEL и разрешённый для неё IP-адрес. В примерах учётные данные для HTTP Basic берутся из переменных окружения; соблюдайте правила аутентификации для своего типа учётной записи. Отправляйте запросы по HTTPS. Проверяйте и HTTP-ответ, и поле JSON status.code; ошибки приложения могут возвращаться с HTTP 200. Примеры ниже вымышлены.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --form-string "proof_type_id=$PROOF_TYPE_ID" \
  --form-string 'description=Identity proof' \
  --form 'files[0]=@./identity-proof.pdf' \
  https://api.multitel.net/v3/create_encrypt_files
Поля запроса
ПолеНазначение
files[0] … files[4]От одного до пяти загружаемых файлов. Используйте составные данные формы и позвольте curl сформировать разделитель для Content-Type. Эти поля содержат байты файлов, а не URL-адреса или данные Base64 в JSON.
proof_type_idОбязателен при загрузке подтверждающего документа; используйте полученный идентификатор типа подтверждения. Не передавайте supporting_template_id.
supporting_template_idОбязателен вместо proof_type_id для файлов дополнительных документов; используйте полученный идентификатор шаблона.
descriptionНеобязательное описание, задаваемое вызывающей стороной, длиной не более 100 символов. При загрузке дополнительного документа вместо пропущенного описания может использоваться название шаблона.

Ограничения для файлов

Этот обработчик принимает не более пяти файлов общим размером не более 20,000,000 байт. Это десятичный предел в байтах, а не 20 MiB. Инфраструктура или проверка MIME могут устанавливать дополнительные ограничения.

Разрешены следующие расширения: pdf, png, jpg, jpeg, gif, tiff, bmp, doc, docx, xls, xlsx, txt, rtf и csv. Разрешённое расширение само по себе не означает, что файл соответствует выбранному требованию регистрации. В частности, tif не входит в этот список разрешённых расширений.

Проверьте каждый файл в ответе

{
  "status": {
    "code": 200,
    "msg": "Encrypt file has been created successfully"
  },
  "response": {
    "entity_type": "identities",
    "document_category": "proof",
    "proof_type": "11111111111111111111111111111111",
    "ids": [
      {
        "id": "22222222222222222222222222222222",
        "name": "identity-proof.pdf",
        "expired_at": "2026-10-23 16:20:00"
      }
    ]
  }
}

Сохраните каждый response.ids[].id для запроса на прикрепление. Поле name указывает исходное имя файла, возвращённое в ответе. Используйте разные имена файлов и сверяйте полученные файлы с ожидаемым набором: код 200 может означать, что пакет обработан лишь частично. Не прикрепляйте набор, в котором отсутствуют обязательные файлы.

entity_type имеет значение identities или addresses для подтверждающего документа и supporting_documents для загрузки дополнительного документа. Поле document_category имеет значение proof или supporting. Поле ответа с общим названием proof_type также содержит ссылку на шаблон при загрузке дополнительных документов; сохраните исходный supporting_template_id для прикрепления.

Прикрепляйте без промедления

Сервис устанавливает срок действия, истекающий примерно через 20 минут после локального сохранения загруженного файла. При прикреплении проверяется, что файл принадлежит той же учётной записи, не помечен как просроченный, его срок действия ещё не истёк и он относится к правильной категории сущностей. Поле expired_at в этом ответе не содержит смещения часового пояса; не считайте, что время указано в UTC. Прикрепляйте файлы без промедления, не откладывая операцию до момента истечения срока.

Истечение срока действия ссылки на загрузку не гарантирует удаления всех сохранённых копий документа в этот момент. Сервис шифрует файлы для передачи оператору связи и сохраняет исходные байты для процесса обработки документов; не считайте это шифрованием исключительно на стороне клиента или сервисом без хранения данных. Не допускайте попадания идентификаторов, имён файлов и ответов в общедоступные журналы.

Ошибки и повторные попытки

Текущий обработчик использует код API 404, если файлы документов не переданы, и код 500 при ошибках проверки описания, отсутствии или конфликте параметров выбора, недопустимых идентификаторах типов подтверждения или шаблонов, превышении ограничения на количество файлов или их общий размер, проблемах с хранилищем либо неудачной загрузке. Читайте status.msg; недопустимые входные данные не всегда обозначаются кодом 400.

Клиентский ключ идемпотентности здесь не предусмотрен. Если ответ потерян, проверьте состояние процесса обработки документов, прежде чем повторять загрузку; ещё один запрос может создать новые ссылки на файлы. Эти примеры не выполнялись с документами, удостоверяющими личность клиентов.