REST API – Backup endpointy

POST /wp-json/affinite-wp-watermark/v1/backup – Backup všech obrázků

Tento endpoint vytváří backup všech obrázků v Media Library. Proces probíhá v dávkách pro optimalizaci výkonu.

Parametry (offset, limit)

ParametrTypVýchozíPopis
offsetinteger0Počet obrázků k přeskočení
limitinteger10Počet obrázků ke zpracování v jedné dávce

Response struktura

{
    "success": true,
    "data": {
        "processed": 10,
        "total": 100,
        "offset": 10,
        "has_more": true
    }
}

Příklady použití

JavaScript

async function backupAllImages() {
    let offset = 0;
    const limit = 10;
    let hasMore = true;
    
    while (hasMore) {
        const response = await fetch('/wp-json/affinite-wp-watermark/v1/backup', {
            method: 'POST',
            headers: {
                'X-WP-Nonce': wpApiSettings.nonce,
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({ offset, limit })
        });
        
        const data = await response.json();
        
        if (data.success) {
            offset = data.data.offset;
            hasMore = data.data.has_more;
            console.log(`Processed ${data.data.processed} images`);
        } else {
            console.error('Error:', data.message);
            break;
        }
    }
}

PHP

$response = wp_remote_post(
    rest_url('affinite-wp-watermark/v1/backup'),
    array(
        'headers' => array(
            'X-WP-Nonce' => wp_create_nonce('wp_rest'),
            'Content-Type' => 'application/json'
        ),
        'body' => json_encode(array(
            'offset' => 0,
            'limit' => 10
        ))
    )
);

$body = json_decode(wp_remote_retrieve_body($response), true);

Error handling

{
    "success": false,
    "message": "Error message",
    "code": "error_code"
}