PHPackages                             puyu-pe/sipro-internal-api-ci3 - 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. puyu-pe/sipro-internal-api-ci3

ActiveLibrary[API Development](/categories/api)

puyu-pe/sipro-internal-api-ci3
==============================

Lightweight CI3 bridge for sipro internal API

1.2.0(2mo ago)00proprietaryPHPPHP &gt;=8.1

Since Feb 11Pushed 2mo agoCompare

[ Source](https://github.com/puyu-pe/sipro-internal-api-ci3)[ Packagist](https://packagist.org/packages/puyu-pe/sipro-internal-api-ci3)[ RSS](/packages/puyu-pe-sipro-internal-api-ci3/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (7)Versions (7)Used By (0)

puyu-pe/sipro-internal-api-ci3
==============================

[](#puyu-pesipro-internal-api-ci3)

Bridge liviano para integrar `puyu-pe/sipro-internal-api-core` en aplicaciones CodeIgniter 3.

Integración rápida (CI3)
------------------------

[](#integración-rápida-ci3)

1. Activar Composer autoload en CI3:

    - `application/config/config.php`
    - `$config['composer_autoload'] = TRUE;` o ruta a `vendor/autoload.php`.
2. Copiar los stubs desde `stubs/ci3/` hacia tu app (`application/controllers` y `application/config`).
3. Configurar `application/config/internal_api.php` con tus `keys` (ideal: cargar secretos desde ENV/archivo fuera del repo).
4. Implementar adapters SaaS:

    - `ApplicationTenantAdapter` que cumpla `PuyuPe\SiproInternalApiCore\Contracts\Adapter\TenantProvisioningAdapterInterface`.
    - `ApplicationTenantLifecycleAdapter` que cumpla `PuyuPe\SiproInternalApiCore\Contracts\Adapter\TenantLifecycleAdapterInterface`.

    El lifecycle adapter debe implementar los 5 métodos:

    - `warnTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO`
    - `suspendTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO`
    - `activateTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO`
    - `closeTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO`
    - `reopenTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO`
5. Probar con requests firmados desde SIPRO.

Rutas disponibles
-----------------

[](#rutas-disponibles)

- `POST /internal/v1/tenants` — provisioning
- `POST /internal/v1/tenants/{appKey}:warn`
- `POST /internal/v1/tenants/{appKey}:suspend`
- `POST /internal/v1/tenants/{appKey}:activate`
- `POST /internal/v1/tenants/{appKey}:close`
- `POST /internal/v1/tenants/{appKey}:reopen`

Notas de comportamiento
-----------------------

[](#notas-de-comportamiento)

- El controller usa `$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)` para firmar/verificar **sin querystring**.
- Si `nonce_enabled=true`, se usa `DbNonceStore` y un nonce repetido debe fallar en verificación HMAC.

Testing
-------

[](#testing)

- Unit tests del paquete (sin boot de CI3): `vendor/bin/phpunit`.
- Opcional: puedes usar `kenjis/ci-phpunit-test` para probar el controller stub dentro de una app CI3 real; no es requisito de este paquete.

Desarrollo en el workspace
--------------------------

[](#desarrollo-en-el-workspace)

Este paquete forma parte del workspace `sipro-internal-workspace` junto a `core/`, `api-laravel/` y `clone-db/`. Cuando trabajás en el workspace con todos los submodulos clonados, `composer install --dev` resuelve `sipro-internal-api-core` via `path` repository (symlink a `../core`), sin necesidad de red. Fuera del workspace, se instala desde el registro de Composer normalmente.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance85

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~20 days

Total

4

Last Release

80d ago

Major Versions

v0.1.0 → 1.0.12026-03-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/c642eee481d7256c466e884d7b0098c28e57e5309d3afd148fd90c9696bf9ea6?d=identicon)[PuyuPe](/maintainers/PuyuPe)

---

Top Contributors

[![velnae](https://avatars.githubusercontent.com/u/19869532?v=4)](https://github.com/velnae "velnae (13 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/puyu-pe-sipro-internal-api-ci3/health.svg)

```
[![Health](https://phpackages.com/badges/puyu-pe-sipro-internal-api-ci3/health.svg)](https://phpackages.com/packages/puyu-pe-sipro-internal-api-ci3)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k15](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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