API-документація

Запускайте знімки сторінок і візуальні перевірки через API.

Використовуйте API для CI, подій випуску або внутрішніх служб. Налаштування сторінок лишаються в панелі, щоб команда бачила еталони, помилки й файли результатів.

Що покриває API

8 API-маршрутів
Створення результатів
Створюйте знімки сторінок, PDF, HTML, Markdown і файли через один API.
Регулярні перевірки сайтів
Запускайте збережені набори перевірок з CI й переглядайте змінені сторінки в панелі.
Результати й перегляд
Опитуйте завдання, завантажуйте файли й зберігайте історію запусків разом з еталонами.

Базова URL-адреса

https://renderlog.com

Швидкий старт

Запустіть набір перевірок

Створіть API-токен з правом runs:write, запустіть збережений набір перевірок з CI й опитуйте завдання до завершення. Налаштування сторінки лишайте в панелі.

Завантажити OpenAPI-спеку
Створити запускcURL
curl -X POST https://renderlog.com/api/check-suites/suite_01J/runs \
  -H "Authorization: Bearer rl_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "png",
    "labels": {
      "branch": "main",
      "commit": "8f4a7f2"
    }
  }'
Опитати завданняcURL
curl https://renderlog.com/api/jobs/job_01J \
  -H "Authorization: Bearer rl_live_xxx"

Сценарії

Почніть з API-розділу, що відповідає задачі

Використовуйте панель для налаштування, а API - для роботи, яку треба запускати з CI, подій випуску або внутрішніх служб.

Авторизація

API-токени прив'язані до робочого простору. Створюйте вузькі токени й окремі короткострокові токени для GET-URL, які можуть потрапити в журнали.

Authorization: Bearer rl_live_xxx

Правила оплати

Запуск оплачується лише тоді, коли він успішний і повертає справжній результат. Невдалі або непридатні запуски без реального результату не оплачуються.

Публічні формати результатів: знімок сторінки, PDF, HTML, Markdown і створений файл. Відео працює асинхронно й рахується окремо, коли ввімкнене.

Маршрутизація файлів

Записуйте файли результатів у власне S3-сумісне сховище

RenderLog може зберігати файли результатів у керованому сховищі або записувати їх у ваш bucket. Історія запусків, стан перегляду й метадані лишаються в RenderLog.

Поля

Bucket
Точна назва bucket або контейнера.
Регіон
Регіон провайдера, наприклад us-east-1. Деякі провайдери його не потребують.
Endpoint
Власний S3-сумісний endpoint. Для стандартного AWS S3 лишайте порожнім.
Тека
Необов'язковий шлях перед кожним файлом, наприклад renderlog/.

Перед додаванням

  1. Створіть bucket для файлів результатів RenderLog.
  2. Дозвольте обліковим даним сховища RenderLog записувати об'єкти в цей bucket.
  3. Додайте сховище в налаштуваннях робочого простору й виберіть його для наступних запусків.

Методи

GET або POST

GET зручний для URL-запитів без чутливих даних. POST безпечніший для секретів, довших сценаріїв і налаштувань сховища.

GET

GET зручний для коротких посилань

Використовуйте GET для URL сторінки, які легко передати, і коротких параметрів запиту. Якщо URL містить чутливі значення, беріть вузький короткостроковий ключ.

curl "https://renderlog.com/api/render?url=https%3A%2F%2Fexample.com&format=png&width=1366&height=768&dpr=1&selector=%23app" \
  -H "Authorization: Bearer rl_live_xxx"
POST

POST безпечніший для секретів

Використовуйте POST для заголовків, cookie, HTML, Markdown, довших кроків сценарію, налаштувань сховища й сповіщень.

curl -X POST https://renderlog.com/api/render \
  -H "Authorization: Bearer rl_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/account",
    "format": "png",
    "headers": { "X-RenderLog-Access": "secret" },
    "failureRules": [
      { "type": "preset", "preset": "cloudflare_challenge" },
      { "type": "selector_missing", "selector": "#app" }
    ]
  }'

API-запуски

Створюйте разові результати через GET або POST. GET зручний. POST рекомендований для чутливих значень.

GET/api/render

Створення за URL

Створює результат сторінки з параметрів запиту. Чутливі значення в URL можуть потрапити в журнали, історію браузера й аналітику. Якщо свідомо передаєте їх через GET, використовуйте вузький короткостроковий токен.

API-токен

Завдання

{
  "id": "job_01J",
  "status": "passed",
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Параметри шляху й запиту

urlqueryОбов'язковоЦільова URL-адреса.
formatqueryНеобов'язковоpng, jpeg, webp, pdf, html або markdown. За замовчуванням: png
widthqueryНеобов'язковоШирина області перегляду в CSS-пікселях. За замовчуванням: 1366
heightqueryНеобов'язковоВисота області перегляду в CSS-пікселях. За замовчуванням: 768
dprqueryНеобов'язковоМасштаб пристрою від 1 до 3. За замовчуванням: 1
selectorqueryНеобов'язковоCSS-селектор для знімка елемента.
fullPagequeryНеобов'язковоУстановіть true для знімка всієї сторінки. За замовчуванням: false

Поля відповіді

idОбов'язковоІдентифікатор завдання. Використовуйте його з GET /api/jobs/.
statusОбов'язковоqueued, running, passed, failed або canceled.
resultНеобов'язковоNull, поки завдання в черзі або виконується. Після завершення містить рядки результату. За замовчуванням: null
POST/api/render

Створення з тілом запиту

Створює результат із повними налаштуваннями: заголовками, cookie, HTML, Markdown, кроками сценарію, сховищем і правилами відбракування.

API-токен

Запит на створення

{
  "url": "https://example.com/account",
  "format": "png",
  "headers": {
    "X-RenderLog-Access": "secret"
  },
  "failureRules": [
    {
      "type": "preset",
      "preset": "cloudflare_challenge"
    },
    {
      "type": "selector_missing",
      "selector": "#app"
    }
  ]
}

Завдання

{
  "id": "job_01J",
  "status": "passed",
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Поля запиту

urlОбов'язковоURL сторінки для створення результату. Обов'язковий, якщо не передаєте HTML або Markdown.
formatНеобов'язковоФормат результату: png, jpeg, webp, pdf, html, markdown, file або webm. За замовчуванням: png
headersНеобов'язковоДодаткові заголовки запиту. Для секретів використовуйте POST. За замовчуванням: {}
cookiesНеобов'язковоCookie, які надсилаються перед відкриттям сторінки. За замовчуванням: []
failureRulesНеобов'язковоПравила, що позначають результат як непридатний, наприклад CAPTCHA, перевірка Cloudflare або відсутній селектор. За замовчуванням: []
asyncНеобов'язковоОдразу повертає відповідь і дає змогу опитувати GET /api/jobs/, якщо результат може готуватися довше. За замовчуванням: false

Поля відповіді

idОбов'язковоІдентифікатор завдання. Використовуйте його з GET /api/jobs/.
statusОбов'язковоqueued, running, passed, failed або canceled.

Запуски перевірок

Запускайте збережені набори перевірок або один сценарій із CI, подій розгортання чи внутрішніх інструментів.

POST/api/check-suites/{id}/runs

Запустити набір перевірок

Запускає всі активні сценарії в збереженому наборі. Використовуйте мітки для гілки, збірки або середовища.

API-токен

Запуск набору

{
  "format": "png",
  "labels": {
    "environment": "production",
    "build": "142",
    "commit": "8f4a7f2"
  },
  "delaySeconds": 30
}

Завдання

{
  "id": "job_01J",
  "status": "queued",
  "result": null
}

Параметри шляху й запиту

idpathОбов'язковоІдентифікатор набору перевірок.

Поля запиту

formatНеобов'язковоФормат результату для кожного сценарію в цьому запуску. За замовчуванням: png
labelsНеобов'язковоМітки ключ/значення для подальшого фільтрування, наприклад гілка, збірка або середовище. За замовчуванням: {}
delaySecondsНеобов'язковоПауза перед стартом. Корисно після розгортань, яким потрібен час на прогрів. За замовчуванням: 0
asyncНеобов'язковоОдразу повертає відповідь і дає змогу опитувати GET /api/jobs/. За замовчуванням: false
POST/api/check-cases/{id}/runs

Запустити один сценарій

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

API-токен

Запуск сценарію

{
  "format": "png",
  "labels": {
    "branch": "main",
    "commit": "8f4a7f2"
  },
  "delaySeconds": 0
}

Завдання

{
  "id": "job_01J",
  "status": "passed",
  "summary": {
    "total": 1,
    "passed": 1,
    "failed": 0,
    "errored": 0,
    "skipped": 0
  },
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true
    }
  ]
}

Параметри шляху й запиту

idpathОбов'язковоІдентифікатор сценарію перевірки.

Поля запиту

formatНеобов'язковоФормат результату для цього сценарію. За замовчуванням: png
labelsНеобов'язковоМітки ключ/значення для подальшого фільтрування. За замовчуванням: {}
delaySecondsНеобов'язковоПауза перед стартом. За замовчуванням: 0

Результати

Опитуйте завдання, переглядайте запуски й завантажуйте створені файли.

GET/api/runs

Список запусків

Повертає останні запуски з мітками, файлами результатів і станом оплати.

API-токен

Запуски

{
  "runs": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "bytes": 128420
    }
  ]
}
GET/api/jobs/{id}

Отримати завдання

Повертає стан і рядки результату для одного завдання або запуску набору.

API-токен

Завдання

{
  "id": "job_01J",
  "status": "passed",
  "summary": {
    "total": 4,
    "passed": 4,
    "failed": 0,
    "errored": 0,
    "skipped": 0
  },
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Параметри шляху й запиту

idpathОбов'язковоІдентифікатор завдання, який повертається після старту завдання або набору перевірок.
GET/api/runs/{id}

Отримати запуск

Повертає стан, мітки й посилання на файли результатів одного запуску.

API-токен

Запуск

{
  "id": "run_01J",
  "status": "passed",
  "format": "png",
  "billable": true,
  "artifacts": [
    {
      "id": "artifact_01J",
      "kind": "primary",
      "contentType": "image/png",
      "url": "/api/runs/run_01J/artifacts/artifact_01J"
    }
  ]
}

Параметри шляху й запиту

idpathОбов'язковоІдентифікатор запуску.
GET/api/runs/{id}/artifacts/{artifactId}

Завантажити файл результату

Завантажує створений знімок сторінки, PDF, HTML, Markdown, файл або відео.

API-токен

Файл результату

"Binary artifact response with the stored content type."

Параметри шляху й запиту

idpathОбов'язковоІдентифікатор запуску.
artifactIdpathОбов'язковоІдентифікатор файлу результату.