Download the PHP package ometra/heimdal-sdk without Composer
On this page you can find all versions of the php package ometra/heimdal-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ometra/heimdal-sdk
More information about ometra/heimdal-sdk
Files in ometra/heimdal-sdk
Package heimdal-sdk
Short Description Laravel SDK for consuming Heimdal API v2.
License MIT
Informations about the package heimdal-sdk
Heimdal SDK Para Laravel
SDK Composer/Laravel para consumir Heimdal /api/v2 desde otros modulos HELA. El paquete encapsula autenticacion bearer, X-Correlation-ID, envelopes normalizados, excepciones tipadas y clientes por dominio.
Instalacion
Laravel descubre automaticamente el service provider y el facade.
Configuracion
Publica el archivo de configuracion:
Variables disponibles:
HEIMDAL_SDK_BASE_URL debe apuntar al host de Heimdal sin /api. El SDK agrega /api/v2 automaticamente.
Dos Niveles De Uso
El SDK expone dos superficies:
- Raw clients:
HeimdalSdk::subscribers(),HeimdalSdk::imei(),HeimdalSdk::batch(), etc. Devuelven el envelopeHeimdalResponseDtotal como lo responde Heimdal v2. - Contracts:
HeimdalSdk::contracts(). Devuelven DTOs de dominio estables y son la superficie recomendada para nuevos consumidores.
Uso Rapido Con Contratos
Uso Raw
Tambien se puede resolver desde el contenedor:
Correlation ID
El SDK genera X-Correlation-ID automaticamente. Para usar uno propio:
Para usar un token distinto en una llamada:
Data Objects
Los payloads criticos tienen objetos tipados:
Cambio de SIM:
Contratos Estables
Los contratos normalizan respuestas comunes de Altan sin perder el payload original en raw.
DTOs principales:
OperationResultDtoSubscriberProfileDtoSubscriberMsisdnChangeResultDtoImeiCompatibilityDtoHistoryCollectionDtoView360SearchResultDtoDeviceInfoDtoCoverageCheckResultDtoNumberValidationResultDtoBatchSubmissionDtoMonitoringHealthDto
Batch Con Records
Batch Con CSV
Tambien acepta resource y Illuminate\Http\UploadedFile.
Monitoreo
Manejo De Errores
Por default, el SDK lanza excepciones tipadas cuando Heimdal responde success=false o HTTP no exitoso:
Excepciones disponibles:
HeimdalRequestExceptionHeimdalValidationExceptionHeimdalUnauthorizedExceptionHeimdalForbiddenExceptionHeimdalProviderExceptionHeimdalTransportExceptionHeimdalSubscriberNotFoundExceptionHeimdalIncompatibleImeiException
Para desactivar throws en una cadena:
Clientes Disponibles
imei()subscribers()products()orders()landline()view360()msisdns()batch()monitoring()validation()contracts()
Cliente Raw
Para endpoints v2 que aun no tengan helper:
El cliente raw sigue usando /api/v2, bearer token, correlation id, normalizacion y excepciones.
Migrating Auster
No es necesario cambiar Auster en la primera adopcion. El mapeo recomendado para reemplazar gradualmente App\Domain\Vendor\Ometra\Hela\HeimdalAdapter es:
| HeimdalAdapter actual | Contrato SDK recomendado |
|---|---|
getProfile() |
HeimdalSdk::contracts()->subscribers()->profile($msisdn) |
topup($offerId) |
HeimdalSdk::contracts()->products()->topup($msisdn, $offerId) |
changeSimCard($iccid) |
HeimdalSdk::contracts()->subscribers()->changeSim($msisdn, ChangeSimData::fromFullIccid($iccid)) |
requestNewMsisdn($zone) |
HeimdalSdk::contracts()->subscribers()->changeMsisdn($msisdn, new ChangeMsisdnData($zone, '1')) |
checkImei($imei) |
HeimdalSdk::contracts()->imeis()->compatibility($imei) |
search($type, $value) |
HeimdalSdk::contracts()->view360()->search($type, $value) |
simHistory(...) |
HeimdalSdk::contracts()->history()->sim($msisdn, new DateRangeQuery(...)) |
operationHistory(...) |
HeimdalSdk::contracts()->history()->operation($msisdn, new DateRangeQuery(...)) |
La excepcion HeimdalSubscriberNotFoundException reemplaza el parseo manual de errorCode=1211000305 y mensajes The subscriber does not exist.
Pruebas
All versions of heimdal-sdk with dependencies
illuminate/http Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0