PHPackages                             ometra/apollo-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ometra/apollo-sdk

ActiveLibrary[API Development](/categories/api)

ometra/apollo-sdk
=================

Proteus API adapter

3.1.1(1w ago)081↑1677.8%MITPHPPHP ^8.2

Since May 8Pushed 1w agoCompare

[ Source](https://github.com/Ometra-Apollo/mx.ometra.apollo.apollo-sdk)[ Packagist](https://packagist.org/packages/ometra/apollo-sdk)[ RSS](/packages/ometra-apollo-sdk/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (6)Dependencies (8)Versions (8)Used By (0)

Apollo SDK
==========

[](#apollo-sdk)

Cliente Laravel/PHP modular para consumir Proteus, Pulse, Flare e Ignis con autenticacion compartida de Caronte.

Instalacion
-----------

[](#instalacion)

```
composer require ometra/apollo-sdk
```

Publica la configuracion si necesitas sobrescribir las URLs de modulos:

```
php artisan vendor:publish --tag=apollo-config
```

El archivo publicado es `config/apollo.php`.

Configuracion
-------------

[](#configuracion)

Apollo solo configura URLs por modulo; la autenticacion sigue viviendo en el SDK de Caronte.

```
PROTEUS_BASE_URL=https://proteus.example.com/api
PULSE_BASE_URL=https://pulse.example.com/api
FLARE_BASE_URL=https://flare.example.com/api
IGNIS_BASE_URL=https://ignis.example.com/api
```

Las llamadas HTTP usan el contrato de Caronte y agregan, segun el tipo de request:

- `X-Application-Token`
- `X-Group-Token` cuando existe
- `X-User-Token` en llamadas de usuario
- `X-Tenant-Id` desde `TenantContext` cuando existe

Uso modular
-----------

[](#uso-modular)

```
use Ometra\Apollo\Sdk\Facades\Apollo;

$directories = Apollo::proteus()->directories()->index();

$media = Apollo::proteus()->media()->upload([
    'type' => 'image',
    'directory_id' => $directoryId,
    'media' => [$request->file('image')],
    'metadata' => [
        'source' => 'apollo',
    ],
]);

Apollo::proteus()->media()->setMetadata($mediaId, [
    'metadata' => [
        'title' => 'Hero image',
    ],
]);

$images = Apollo::proteus()->media()->index(['type' => 'image']);

$stations = Apollo::flare()->stations()->index(['country' => 'mx']);

$campaigns = Apollo::ignis()->campaigns()->byGroup('group-1');

Apollo::ignis()->contentHits()->report([
    ['content_id' => 'content-1', 'hits' => 10],
]);

$groups = Apollo::pulse()->groups()->index();
```

### Uso en jobs y contextos sin usuario

[](#uso-en-jobs-y-contextos-sin-usuario)

Cuando necesites hacer llamadas desde un job, un comando o cualquier contexto donde no haya sesion de usuario activa, usa `asApplication()`. Esto fuerza a todas las operaciones del modulo a usar autenticacion de aplicacion (sin `X-User-Token`) en lugar de autenticacion de usuario:

```
// En un job — sin sesion HTTP, sin token de usuario
$proteus = Apollo::proteus()->asApplication();

$proteus->media()->index(['type' => 'audio']);
$proteus->directories()->show($directoryId);
```

Tambien puedes inyectar el entrypoint principal:

```
use Ometra\Apollo\Sdk\Apollo;

public function __invoke(Apollo $apollo): array
{
    return $apollo->proteus()->media()->index(['type' => 'image']);
}
```

Pulse expone `groups()->index()` sobre el endpoint `ignis/groups`.

API
---

[](#api)

El contrato completo esta en [docs/api-contract.md](docs/api-contract.md).

Pruebas
-------

[](#pruebas)

```
composer test
```

La suite valida identidad Apollo, configuracion modular, autenticacion Caronte, rutas Proteus, ausencia de API flat y limpieza legacy.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance98

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

7

Last Release

8d ago

Major Versions

2.1.1 → 3.0.02026-05-26

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/984800?v=4)[gruelas](/maintainers/gruelas)[@gruelas](https://github.com/gruelas)

---

Top Contributors

[![karlyoz](https://avatars.githubusercontent.com/u/54610989?v=4)](https://github.com/karlyoz "karlyoz (23 commits)")[![LauraRivera1607](https://avatars.githubusercontent.com/u/147354444?v=4)](https://github.com/LauraRivera1607 "LauraRivera1607 (13 commits)")[![vicario00](https://avatars.githubusercontent.com/u/101902535?v=4)](https://github.com/vicario00 "vicario00 (9 commits)")[![gruelasjr](https://avatars.githubusercontent.com/u/40619710?v=4)](https://github.com/gruelasjr "gruelasjr (5 commits)")[![JuanPablo14001](https://avatars.githubusercontent.com/u/202692718?v=4)](https://github.com/JuanPablo14001 "JuanPablo14001 (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ometra-apollo-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/ometra-apollo-sdk/health.svg)](https://phpackages.com/packages/ometra-apollo-sdk)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[simplestats-io/laravel-client

Analytics for Laravel. Track visitors, registrations, and payments. Discover which channels actually drive revenue, not just traffic. Server-side, GDPR compliant, ad-blocker proof.

5019.3k](/packages/simplestats-io-laravel-client)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1232.2k16](/packages/fleetbase-core-api)[laravel/cashier-paddle

Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.

268880.7k3](/packages/laravel-cashier-paddle)[api-platform/laravel

API Platform support for Laravel

59156.3k10](/packages/api-platform-laravel)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1348.1k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
