Автоматизация
Пакеты и бизнес-интеграции
Обрабатывайте несколько URL одной операцией, открывайте страницы с авторизацией и доставляйте готовые файлы в своё S3-compatible хранилище.
Пакетные задания
POST /v1/batches принимает массив items и возвращает HTTP 202. Передавайте Idempotency-Key, чтобы безопасно повторять создание пакета.
{
"captureProfileId": "1ba9ed5e-e2d8-45ee-9cc9-b3c5b89fb911",
"destinationId": "3baf95d5-24b2-437d-b033-537531142df5",
"items": [
{
"url": "https://app.example.com/reports",
"format": "png",
"fullPage": true,
"actions": [
{ "type": "click", "selector": "[data-open-report]" },
{ "type": "waitForSelector", "selector": ".report-ready" }
]
}
]
}FREE принимает до 5 элементов, PAID — до 100. Каждый принятый элемент расходует одну единицу месячной квоты. Получить общий статус и статусы элементов можно через GET /v1/batches/{id}.
Авторизованные страницы
На PAID можно создать до 20 capture profiles в кабинете. Профиль хранит список разрешённых origin, headers, cookies и именованные секреты. Чувствительные значения после сохранения не возвращаются.
В одиночном запросе передайте captureProfileId вместе с URL; в пакетном запросе профиль применяется ко всем элементам. Credentials отправляются только на origin из allowlist. Ограничения на private, loopback, link-local и metadata URL продолжают действовать, включая редиректы.
Browser actions
В одиночном запросе или каждом элементе пакета можно передать до 10 действий: click, type, scroll и waitForSelector. Для type используйте обычное value или ссылку secretRef на секрет профиля. Произвольный JavaScript не поддерживается.
Доставка в S3
PAID позволяет настроить до 3 HTTPS S3-compatible destinations. Укажите destinationId в одиночном или пакетном запросе, чтобы после рендера Shotly доставил результат в выбранный bucket.
Внутренний результат сохраняется независимо от внешней доставки. Поле deliveries показывает, ожидается ли отправка, доставлен ли файл или завершилась ли доставка ошибкой; временные ошибки повторяются автоматически.