Skip to content

SiteScreen/siterenderer-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sitescreen/siterenderer

sitescreen/siterenderer is a typed PHP SDK for the SiteScreen rendering API.

  • Composer package name: sitescreen/siterenderer
  • Current package version: 1.0.0
  • Transport: Guzzle HTTP client
  • Language level: PHP 8.2+

Installation

composer require sitescreen/siterenderer:^1.0

Quick Start

<?php

declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

use SiteScreen\SiteRenderer\DTO\ContentType;
use SiteScreen\SiteRenderer\DTO\RenderUrlWaitRequest;
use SiteScreen\SiteRenderer\SiteScreenClient;

$client = new SiteScreenClient(
    apiKey: 'YOUR_API_KEY',
    apiBaseUrl: 'https://api.sitescreen.io',
    cdnBaseUrl: 'https://cdn.sitescreen.io'
);

$waitResult = $client->renderUrlAndWait(
    new RenderUrlWaitRequest(
        url: 'https://example.com',
        contentType: ContentType::PNG,
        maxWaitMs: 60_000
    )
);

if (!$waitResult->completed) {
    echo "Queued job: {$waitResult->jobId}\n";
    exit(0);
}

$file = $client->downloadFile($waitResult->job->fileUrl);
$file->saveToPath(__DIR__ . '/result.png');

echo "Rendered: {$file->fileName}\n";

API Coverage

  • GET /health
  • GET /v1/presets
  • POST /v1/render/screenshot
  • POST /v1/render/wait/screenshot
  • POST /v1/render/html
  • POST /v1/render/wait/html
  • GET /v1/jobs/{id}
  • GET /files/{fileName}

Design Notes

  • All public classes use declare(strict_types=1);.
  • DTO constructors are explicit and validate input.
  • Responses are mapped into strict DTOs and enums.
  • Non-2xx responses throw ApiException.
  • Transport-level failures throw TransportException.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages