ometra/hela-sdk
Composer 安装命令:
composer require ometra/hela-sdk
包简介
Laravel package for the Ometra HELA SDK.
README 文档
README
Paquete Laravel para integrar apps de Ometra HELA. El primer cliente incluido es para consumir la API de Auster desde otros modulos.
Instalacion
Instala el paquete desde Packagist:
composer require ometra/hela-sdk:dev-master
Laravel descubre automaticamente el service provider y el facade.
Configuracion
Publica el archivo de configuracion:
php artisan vendor:publish --tag=hela-sdk-config
Variables disponibles:
HELA_SDK_APP_NAME=heimdal HELA_AUSTER_URL=https://auster.example.test HELA_AUSTER_TOKEN= HELA_SDK_TIMEOUT=30 HELA_SDK_RETRY_TIMES=0 HELA_SDK_RETRY_SLEEP=100
HELA_AUSTER_URL debe apuntar al host de Auster sin el sufijo /api.
El token se envia como Authorization: Bearer, igual que espera el middleware
App\Http\Middleware\Auth\API\ValidateAccessToken de Auster.
Para clients-api, Auster usa ValidateClientToken, que espera un bearer con
formato {tipo}-{token}. SelfService trabaja con ClientUserToken, asi que el
SDK no requiere un token global para esa seccion: llama clientsApiAsUser($token)
y el SDK lo envia como USR-{token}. Si un flujo administrativo necesita un
token de ClientsApiTokens, pasalo explicitamente con clientsApiAsClient($token)
y se enviara como API-{token}.
Uso
use Ometra\HelaSdk\Facades\HelaSdk; $offers = HelaSdk::auster()->offers(status: 'active'); $service = HelaSdk::auster()->serviceByMsisdn('525512345678'); $order = HelaSdk::auster()->order(100); $firstOffer = $offers->first(); $price = $firstOffer?->publicPrice;
Los helpers tipados devuelven DTOs, no respuestas HTTP crudas:
- Listados:
Ometra\HelaSdk\Dtos\DtoCollection - Recursos:
OfferDto,ServiceDto,OrderDto,UserProfileDto, etc. - Acciones sin recurso principal:
ApiResponseDto
Cada DTO conserva el payload original en attributes, expone toArray() y
permite leer campos no tipados con get($key) o acceso magico ($dto->campo).
Tambien puedes hacer llamadas directas al API de Auster cuando el SDK todavia
no tenga un helper especifico. Esas llamadas directas siguen devolviendo
Illuminate\Http\Client\Response:
$response = HelaSdk::auster()->post('/api/log-event/example', [ 'payload' => ['status' => 'ok'], ]);
Atajos disponibles inicialmente:
offers()yoffer($id)portabilitiesByMsisdn($msisdn)serviceByMsisdn($msisdn),serviceSupplementaries($msisdn)yserviceReplacements($msisdn)validateActivationKey($data),validateSimCard($data)yactivateService($data)createOrder($data),order($id),orderByMsisdn($msisdn),orderPayment($id),publishOrder($id),processOrder($id),cancelOrder($id)yaddOrderPayment($id, $data)validatePayment($id)ycancelPayment($id)
Clients API de Auster
use Ometra\HelaSdk\Facades\HelaSdk; $profile = HelaSdk::auster()->clientsApi()->clientProfile(); $services = HelaSdk::auster()->clientsApi()->services(filter: '525512345678'); $service = HelaSdk::auster()->clientsApi()->service('525512345678');
Las busquedas textuales en Auster usan el query param filter. Usa ese nombre
en listados como catalogOffers(filter: 'Plan 20'),
services(filter: '525512345678'), orders(filter: '5551234567'),
simCards(filter: 'ICCID'), invoices(filter: 'folio') y
cfdi(filter: 'UUID'). Los metodos siguen aceptando array $query = [] para
compatibilidad y los named arguments tienen precedencia sobre ese arreglo.
Para llamar con un token de usuario devuelto por login:
$login = HelaSdk::auster()->clientsApi()->login([ 'email' => 'cliente@example.test', 'password' => 'secret', ]); $userProfile = HelaSdk::auster() ->clientsApiAsUser($login->token) ->userProfile();
Atajos disponibles para clients-api:
login($data),signup($data),requestPasswordReset($data),validatePasswordResetToken($token),resetPassword($token, $data),logout()ylogoutAll()clientProfile(),userProfile()ysimCards($query)heartbeat($data)balance($query),invoices($query),invoice($id)ydownloadInvoice($id)catalogOffers($query)cfdi($query),cfdiOrders(),requestCfdi($data)ydownloadCfdi($uid, $format)orders($query),order($id)ycreateOrder($data)portabilities($query),portability($id),portabilityTransitories(),requestPortability($data)ydeletePortability($id)services($query),service($msisdn),serviceProfile($msisdn),serviceBags($msisdn),replacementOptions($msisdn),activateOptions($msisdn),topupOptions($msisdn),renewOptions($msisdn),activateService($msisdn, $data),topupService($msisdn, $data),renewService($msisdn, $data),replaceOffer($msisdn, $data),replaceSimCard($msisdn, $data),updateServiceName($msisdn, $data),suspendService($msisdn),resumeService($msisdn),imeiLock($imei)yimeiUnlock($imei)users($query),user($uri),createUser($data),updateUser($uri, $data)ydeleteUser($uri)
El servicio tambien se puede resolver desde el contenedor:
use Ometra\HelaSdk\HelaSdk; $sdk = app(HelaSdk::class); $sdk->auster()->offers();
Pruebas
composer test
ometra/hela-sdk 适用场景与选型建议
ometra/hela-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 78 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 ometra/hela-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ometra/hela-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 78
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-08