Documentação da API

Guia completo para integração com nossa API de Templates Elementor.

Base URL

https://seu-dominio.com/api/public

Endpoints

GET/templates
Listar Todos os Templates
Retorna uma lista paginada de todos os templates disponíveis, incluindo metadados e URLs de visualização.

Parâmetros de Query

categoria
Filtrar por nome da categoria (opcional)

Exemplo de Resposta

{
  "success": true,
  "total": 10,
  "templates": [
    {
      "id": 1,
      "nome": "Template Hero Section",
      "imagem_url": "https://blob.vercel-storage.com/...",
      "preview_url": "https://exemplo.com/preview",
      "json_data": { ... },
      "categoria": {
        "id": 1,
        "nome": "Landing Page"
      },
      "created_at": "2024-01-15T10:30:00Z"
    }
  ]
}
GET/templates/{id}
Buscar Template Específico
Retorna os detalhes completos de um único template pelo seu ID.

Exemplo de Resposta

{
  "success": true,
  "template": {
    "id": 1,
    "nome": "Template Hero Section",
    "imagem_url": "https://blob.vercel-storage.com/...",
    "preview_url": "https://exemplo.com/preview",
    "json_data": { ... },
    "categoria": {
      "id": 1,
      "nome": "Landing Page"
    },
    "created_at": "2024-01-15T10:30:00Z"
  }
}
GET/categories
Listar Categorias
Retorna todas as categorias cadastradas e a contagem de templates em cada uma.

Exemplo de Resposta

{
  "success": true,
  "total": 5,
  "categorias": [
    {
      "id": 1,
      "nome": "Landing Page",
      "total_templates": 15
    },
    {
      "id": 2,
      "nome": "Blog",
      "total_templates": 8
    }
  ]
}

Exemplos de Integração

Integração com WordPress
Exemplo de como consumir a API dentro de um plugin ou tema WordPress.
<?php
// Buscar todos os templates
function get_elementor_templates() {
    $response = wp_remote_get('https://seu-dominio.com/api/public/templates');
    
    if (is_wp_error($response)) {
        return [];
    }
    
    $body = wp_remote_retrieve_body($response);
    $data = json_decode($body, true);
    
    return $data['templates'] ?? [];
}

// Exemplo de uso no loop
$templates = get_elementor_templates();
foreach ($templates as $template) {
    echo '<div class="template-card">';
    echo '<img src="' . esc_url($template['imagem_url']) . '" />';
    echo '<h3>' . esc_html($template['nome']) . '</h3>';
    if (!empty($template['preview_url'])) {
        echo '<a href="' . esc_url($template['preview_url']) . '" target="_blank">Ver Preview</a>';
    }
    echo '</div>';
}
?>