Añadir un Endpoint a la API

Con los últimos cambios en la versión 2023.1, añadir endpoints a la API se ha vuelto más sencillo gracias al nuevo sistema de enrutamiento. La única acción necesaria es crear un controlador que herede de ApiController y registrar la nueva ruta en el archivo Init.php del plugin.

Añadir la ruta a la API

Desde el archivo Init.php de nuestro plugin, en su función init(), podemos añadir la nueva ruta a la API y vincularla con el nuevo controlador.

<?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
    {
        Kernel::addRoute('/api/3/mi-endpoint', 'ApiControllerPruebas', -1);
        ApiRoot::addCustomResource('mi-endpoint');
    }
}

El ApiController

Para nuestro endpoint de API personalizado, necesitaremos un controlador, que es el que hemos vinculado en la ruta. Para este caso, crearemos el archivo ApiControllerPruebas.php en la carpeta Controller del plugin.

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

use FacturaScripts\Core\Template\ApiController;

class ApiControllerPruebas extends ApiController
{
    protected function runResource(): void
    {
        // Tu código aquí
        $this->response->setContent(json_encode(['hola' => 'mundo']));
    }
}

Ejemplo de Uso

Una vez que hayas creado el endpoint, podrás realizar peticiones a https://tusitio.com/api/3/mi-endpoint y recibirás la siguiente respuesta:

{
    "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.32551s

Soporte