integrax / integrax-php
Send SMS, RCS & OTP messages via API. Bulk SMS, OTP verification, phone number lookup — zero dependencies.
dev-main
2026-04-12 16:01 UTC
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
This package is not auto-updated.
Last update: 2026-04-13 14:31:22 UTC
README
SDK oficial da Integrax para PHP — SMS, RCS, OTP e consultas via API REST.
- Zero dependencias (usa
curlnativo) - PHP 8.1+ com named arguments, readonly properties
- PSR-4 autoload
Obtendo seu token
- Crie uma conta gratuita em integrax.app
- Após o cadastro, acesse o menu API e crie um token
Pronto, você já pode integrar!
Se receber
MESSAGE_NOT_ALLOWED, entre em contato com o suporte pelo WhatsApp e solicite a liberação.
Instalacao
composer require integrax/integrax-php
Quick start
require_once 'vendor/autoload.php'; use Integrax\Integrax; $ix = new Integrax("seu-token-aqui"); // Enviar SMS $res = $ix->sms->send(["5511999999999"], "Pedido #4821 confirmado!"); echo $res["data"][0]["messageId"]; // "82816396"
Configuracao
$ix = new Integrax( token: "seu-token", baseUrl: "https://sms.aresfun.com", // padrao timeout: 15, // padrao: 30s );
SMS
// Envio simples (usa shortcode padrao da conta) $res = $ix->sms->send(["5511999999999", "5521888888888"], "Sua mensagem aqui"); // Com shortcode customizado $res = $ix->sms->send(["5511999999999"], "Ola!", from: "29094"); // $res["code"] == "SMS_SENT" // $res["data"][0]["status"] == "SENT_TO_OPERATOR" // $res["data"][0]["messageId"] == "82816396"
DLR (webhook)
Configure seu webhook para receber o status de entrega:
{
"message_id": "82816396",
"status": "DELIVRD",
"number": "5511999999999"
}
OTP
Duas chamadas: enviar codigo e verificar.
// 1. Envio minimo (usa todos os defaults: 6 digitos numericos, expira em 10min) $ix->otp->send("5511999999999"); // 1b. Personalizado $ix->otp->send( "5511999999999", messageDefault: "Use [code] pra confirmar sua conta", // padrao: "Seu codigo: [code]" from: "29094", // se omitido, usa o padrao da conta qtdDigits: 5, // padrao: 6 withText: true, // alfanumerico (padrao: false = so numeros) expiresIn: 5, // minutos (padrao: 10) ); // 2. Verificar codigo digitado pelo usuario $res = $ix->otp->verify("1MP5L", "5511999999999"); if ($res["status"] === "verified") { echo "Codigo valido!"; }
RCS
BASIC (so texto)
$ix->rcs->send( ["5511999999999"], "Ola! Mensagem RCS basica.", "IntegraX", rcsType: "BASIC", );
RICH (card com midia e botoes)
$ix->rcs->send( ["5511999999999"], "Confira nossa oferta!", "IntegraX", rcsMessage: [ "card" => [ "title" => "Black Friday", "description" => "Ate 60% OFF em todos os produtos.", "media" => [ "file" => ["url" => "https://exemplo.com/banner.png"], "height" => "MEDIUM", ], "suggestions" => [ [ "type" => "OPEN_URL", "text" => "Ver ofertas", "url" => "https://exemplo.com/ofertas", "postbackData" => "click_ofertas", ], ], ], ], );
Creditos
$saldo = $ix->credits->balance(); print_r($saldo);
Consultas
Por CPF
$res = $ix->consult->cpf(["00000000001"], showPhoneValid: true, showRestrictions: true);
Por telefone
$res = $ix->consult->phone(["551199999999"]);
Telefone premium (dados enriquecidos)
$res = $ix->consult->phonePremium(["551199999999"]);
Números internacionais
- Para números de outros países, insira
+na frente do número (ex:+34992000000). - Para envios internacionais, é necessário solicitar a ativação da rota através do suporte.
- Alguns países permitem
frompersonalizado. Se permitido, basta informar ofromno payload.
Tratamento de erros
use Integrax\Integrax; use Integrax\IntegraxException; try { $ix->sms->send(["551100000000"], "teste"); } catch (IntegraxException $e) { echo $e->status; // HTTP status (ex: 401, 422) echo $e->errorCode; // codigo da API (ex: "INVALID_TOKEN") print_r($e->body); // corpo completo da resposta }
Licenca
MIT