Перейти к содержимому

Загрузка по URL

Базовый URL https://api.accessful.de/api/v1/upload-service. Каждому запросу нужен заголовок X-API-Key — см. Аутентификация.

Передайте нам URL, и мы сами скачаем PDF. Скачивание выполняется асинхронно.

POST /pdf/upload-by-url-list
Content-Type: application/json
{
"files": [
{ "url": "https://example.com/report.pdf", "filename": "report.pdf" }
],
"callbackUrl": "https://your-app.example.com/hooks/accessful",
"hmacSignature": "your-webhook-secret"
}
  • filename должен соответствовать ^[A-Za-z0-9_-]+\.pdf$ и содержать не более 255 символов.
  • hmacSignature (секрет вебхука) должен соответствовать ^[A-Za-z0-9_-]{1,64}$.

202 Accepted

{
"accepted": [
{ "uri": "https://example.com/report.pdf", "jobId": "7c2f1e4a-…", "filename": "report.pdf" }
],
"failures": {},
"callbackResult": null
}

Каждый jobId ведёт себя как caseId — опрашивайте и скачивайте по нему.

Разрешены только публичные HTTPS-адреса. Проверяются перенаправления и результаты DNS; частные сети, loopback и link-local запрещены. Лимиты скачивания: 50 МиБ и 120 секунд. Содержимое должно быть действительным PDF. Лимиты multipart действуют отдельно.

Необязательный UUID-заголовок Idempotency-Key обеспечивает повторяемое надёжное принятие. Тот же пользователь Accessful, идентификатор и тело запроса возвращают прежние ID задач, в том числе после смены API-ключа. Другие данные с тем же идентификатором дают 409. Запись хранится минимум 24 часа и пока задача активна. Существующие клиенты могут не передавать заголовок. Сохраните ID до запроса; тайм-аут не доказывает отказ.

Владелец сразу видит принятую задачу как queued. Ошибка скачивания или проверки даёт failed. Дубликат даёт failed, error.code: DUPLICATE_FILE и existingCaseId того же владельца; задача не пропускается без уведомления.

Исходные URL не должны содержать встроенные учётные данные или фрагменты. Неверный синтаксис URL или некорректный Idempotency-Key возвращает 400 до принятия. При повторе с тем же ключом сохраняйте точный URL и остальные данные: обновление подписанного исходного URL меняет запрос.