jaxisdev / sdk-php
Official Jaxis SDK for PHP - developer-first APIs for SMS, WhatsApp and Billing.
v1.1.4
2026-08-25 23:04 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^10.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
El Jaxis SDK oficial para PHP. Misma API y comportamiento que @jaxisdev/sdk (Node.js), adaptado a PHP: integración con SMS Gateway, WhatsApp API y Billing (próximamente).
Construido para aplicaciones de alto rendimiento con negociación automática de JWT y un cliente HTTP basado en Guzzle.
🚀 Features
- Autenticación invisible: pasa un token de servicio por tenant o tus credenciales de Cognito, y el SDK gestiona la inyección y rotación del token automáticamente.
- SMS Gateway SDK: envío instantáneo de SMS con tracking.
- WhatsApp API: acceso directo a la infraestructura de mensajería de negocio de WhatsApp.
- Billing & Account Flow: (Próximamente) integración nativa con Stripe y los módulos de facturación de Jaxis.
📦 Instalación
composer require jaxisdev/sdk-php
Requiere PHP 8.1 o superior.
⚡ Quick Start
<?php require 'vendor/autoload.php'; use Jaxis\Jaxis; // 1. Inicializa el SDK // Recomendado: un token de servicio por tenant emitido desde el panel admin v2, // independiente de cualquier login de usuario -- pensado para integraciones // servidor-a-servidor. $jaxis = new Jaxis([ 'serviceToken' => 'jaxis_sk_live_xxxxxx', // Alternativa: login humano via Cognito (panel admin / scripts): // 'auth' => ['username' => 'hello@company.com', 'password' => 'super-secret-password'], ]); // 2. Envía un SMS try { $response = $jaxis->sms->send([ // Puede ser un string o un array: ['+1234567', '+9876543'] 'to' => '+1234567890', 'text' => 'Welcome to Jaxis!', ]); echo 'Message subid: ' . $response['subid']; } catch (\Throwable $e) { echo 'Failed to send SMS: ' . $e->getMessage(); } // 3. Envía un mensaje de WhatsApp (templateId desde jaxis.templates -- propio o genérico) $templateResponse = $jaxis->whatsapp->send([ 'to' => '+1234567890', 'templateId' => 'tmpl_abc123', 'params' => ['nombre' => 'Ana'], ]); echo 'Message ID: ' . $templateResponse['id'];
🔧 Compatibilidad
| Entorno | Soportado |
|---|---|
| PHP 8.1 | ✅ |
| PHP 8.2 | ✅ |
| PHP 8.3 | ✅ |
Depende de guzzlehttp/guzzle para las peticiones HTTP.
🛠️ API Reference
auth
Gestionado internamente. También puedes disparar logins explícitos con $jaxis->auth->signIn($username, $password).
sms
$jaxis->sms->send(['to' => ..., 'text' => ...]): envía un SMS saliente.
whatsapp
$jaxis->whatsapp->send(['to' => ..., 'templateId' => ..., 'params' => [...]]): envía una plantilla de WhatsApp a un destinatario.$jaxis->whatsapp->sendBatch(['destinations' => [...], 'templateId' => ..., ...]): igual, para múltiplesdestinationsen una sola llamada.$jaxis->whatsapp->checkNumber($phone): valida si un número tiene WhatsApp antes de mandarle una plantilla. Genera un costo por llamada.
📝 License
MIT License. Ver LICENSE para más detalles.