REST API
API REST completa para integraciones externas
REST API
Schemafy provee una REST API completa para developers que quieren integrar con herramientas externas o construir workflows custom.
Base URL
text
https://tusitio.com/wp-json/schemafy/v1/Autenticación
Todos los endpoints requieren autenticación de WordPress con capabilities apropiadas:
- Schema management:
manage_optionscapability - SEO analysis:
edit_postscapability
Endpoints
| Endpoint | Método | Descripción | Auth requerida |
|---|---|---|---|
| `/schemafy/v1/schemas` | GET | Lista todos los schemas con paginación y filtros | `edit_posts` |
| `/schemafy/v1/schemas` | POST | Crea un nuevo schema | `manage_options` |
| `/schemafy/v1/schemas/{id}` | GET | Obtiene un schema por ID | `edit_posts` |
| `/schemafy/v1/schemas/{id}` | PUT | Actualiza un schema existente | `manage_options` |
| `/schemafy/v1/schemas/{id}` | DELETE | Elimina un schema | `manage_options` |
| `/schemafy/v1/meta` | GET/POST | Gestión de meta tags por URL | `manage_options` |
| `/schemafy/v1/social` | GET/POST | Gestión de tags de redes sociales | `manage_options` |
| `/schemafy/v1/scan` | POST | Escanea el sitio para auto-generación | `manage_options` |
| `/schemafy/v1/validate` | POST | Valida JSON-LD contra Schema.org | `edit_posts` |
| `/schemafy/v1/bulk` | POST | Operaciones masivas (fix, cleanup, duplicados) | `manage_options` |
| `/schemafy/v1/schemas-by-url` | GET | Schemas asignados a una URL específica | Público |
> Nota: Los endpoints de lectura GET de schemas individuales son públicos; todos los endpoints de escritura (POST/PUT/DELETE) requieren como mínimo la capability edit_posts.
Ejemplos de Código
Obtener Schemas por URL
bash
# Obtener schemas de una URL específica
curl -X GET "https://tusitio.com/wp-json/schemafy/v1/schemas-by-url?url=https://tusitio.com/mi-pagina" \
-H "Authorization: Basic BASE64_CREDENTIALS"
# Crear un nuevo schema
curl -X POST "https://tusitio.com/wp-json/schemafy/v1/schemas" \
-H "Content-Type: application/json" \
-H "Authorization: Basic BASE64_CREDENTIALS" \
-d '{
"url": "https://tusitio.com/mi-pagina",
"schema_type": "Article",
"schema_name": "Mi Artículo",
"schema_data": "{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Mi Artículo\"}"
}'