Cómo Añadir un Endpoint Personalizado a la API

Desde la versión 2023.1 de FacturaScripts, agregar nuevos endpoints a la API es más sencillo gracias al renovado sistema de enrutamiento. Solo necesitas crear un controlador que herede de ApiController y registrar la ruta en el archivo Init.php de tu plugin.

1. Registrar la Ruta en el Archivo Init.php

En la función init() de tu archivo Init.php, añade la nueva ruta y asígnala al controlador correspondiente. Ejemplo:

<?php
namespace FacturaScripts\Plugins\MyNewPlugin;

use FacturaScripts\Core\Template\InitClass;
use FacturaScripts\Core\Controller\ApiRoot;
use FacturaScripts\Core\Kernel;

class Init extends InitClass
{
    public function init(): void
    {
        // Registra la nueva ruta en la API y vincúlala al controlador personalizado
        Kernel::addRoute('/api/3/mi-endpoint', 'ApiControllerPruebas', -1);
        ApiRoot::addCustomResource('mi-endpoint');
    }
}

2. Crear tu ApiController Personalizado

Debes crear el archivo ApiControllerPruebas.php en la carpeta Controller de tu plugin. Este controlador gestionará la lógica de tu nuevo endpoint:

<?php
namespace FacturaScripts\Plugins\MyNewPlugin\Controller;

use FacturaScripts\Core\Template\ApiController;

class ApiControllerPruebas extends ApiController
{
    protected function runResource(): void
    {
        // Lógica del endpoint
        $this->response->setContent(json_encode(['hola' => 'mundo']));
    }
}

Puedes personalizar la lógica modificando el contenido dentro de runResource() según tus necesidades.

3. Ejemplo de Consumo del Endpoint

Una vez implementado el endpoint, puedes hacer solicitudes a:

https://tusitio.com/api/3/mi-endpoint

La respuesta será:

{
    "hola": "mundo"
}
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.27812s

Soporte