puyu-pe / sipro-internal-api-ci3
Lightweight CI3 bridge for sipro internal API
Requires
- php: >=8.1
- puyu-pe/sipro-internal-api-core: ^1.4.0
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.0
- puyu-pe/sipro-internal-api-core: @dev || ^1.4.0
This package is auto-updated.
Last update: 2026-04-15 06:31:12 UTC
README
Bridge liviano para integrar puyu-pe/sipro-internal-api-core en aplicaciones CodeIgniter 3.
Integración rápida (CI3)
-
Activar Composer autoload en CI3:
application/config/config.php$config['composer_autoload'] = TRUE;o ruta avendor/autoload.php.
-
Copiar los stubs desde
stubs/ci3/hacia tu app (application/controllersyapplication/config). -
Configurar
application/config/internal_api.phpcon tuskeys(ideal: cargar secretos desde ENV/archivo fuera del repo). -
Implementar adapters SaaS:
ApplicationTenantAdapterque cumplaPuyuPe\SiproInternalApiCore\Contracts\Adapter\TenantProvisioningAdapterInterface.ApplicationTenantLifecycleAdapterque cumplaPuyuPe\SiproInternalApiCore\Contracts\Adapter\TenantLifecycleAdapterInterface.
El lifecycle adapter debe implementar los 5 métodos:
warnTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTOsuspendTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTOactivateTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTOcloseTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTOreopenTenant(string $appKey, TenantLifecycleRequestDTO $dto): TenantLifecycleResponseDTO
-
Probar con requests firmados desde SIPRO.
Rutas disponibles
POST /internal/v1/tenants— provisioningPOST /internal/v1/tenants/{appKey}:warnPOST /internal/v1/tenants/{appKey}:suspendPOST /internal/v1/tenants/{appKey}:activatePOST /internal/v1/tenants/{appKey}:closePOST /internal/v1/tenants/{appKey}:reopen
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 usaDbNonceStorey un nonce repetido debe fallar en verificación HMAC.
Testing
- Unit tests del paquete (sin boot de CI3):
vendor/bin/phpunit. - Opcional: puedes usar
kenjis/ci-phpunit-testpara probar el controller stub dentro de una app CI3 real; no es requisito de este paquete.
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.