# texty/trunk/includes/Api.php

Texty – SMS Notification for WordPress, WooCommerce, Dokan and more, version trunk. 55 lines.

- Page: https://pluginprobe.com/plugins/texty/trunk/code/includes/Api.php
- Raw: https://pluginprobe.com/plugins/texty/trunk/raw/includes/Api.php
- Modified: 2026-06-16T12:07:42+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/texty/trunk/code/includes/Api.php#L10-L20`.

```php
<?php

namespace Texty;

/**
 * Manager Class
 */
class Api {

    /**
     * All API Classes
     *
     * @var array
     */
    protected $classes;

    /**
     * Initialize
     */
    public function __construct() {
        $this->classes = [
            Api\Settings::class,
            Api\Notifications::class,
            Api\NotificationSettings::class,
            Api\Tools::class,
            Api\Status::class,
            Api\Send::class,
            Api\Metrics::class,
            Api\SettingsController::class,
            Api\Gateway::class,
            Api\Logs::class,
        ];

        add_action( 'rest_api_init', [ $this, 'init_api' ] );
    }

    /**
     * Register APIs
     *
     * @return void
     */
    public function init_api() {
        $classes = apply_filters( 'texty_rest_api_class_map', $this->classes );

        foreach ( $classes as $class ) {
            $object = new $class();
            // check if object is instance of WP_REST_Controller
            if ( ! is_a( $object, 'WP_REST_Controller' ) ) {
                continue;
            }
            $object->register_routes();
        }
    }
}

```
