Download the PHP package texhub/oson-sms without Composer
On this page you can find all versions of the php package texhub/oson-sms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download texhub/oson-sms
More information about texhub/oson-sms
Files in texhub/oson-sms
Package oson-sms
Short Description OsonSMS gateway SDK for any PHP framework with first-class Laravel support: send SMS, bulk messaging, delivery responses and optional SHA-256 request signing.
License MIT
Homepage https://texhub.pro
Informations about the package oson-sms
TexHub · OsonSMS
English · Русский
A clean, framework-agnostic PHP SDK for the OsonSMS gateway — send single and bulk SMS — with first-class Laravel support.
Works in plain PHP and any framework. Laravel gets auto-discovery, a config file and a facade for free.
Features
- Send SMS with a fluent message builder or a one-line shortcut
- Bulk send that never throws — each result carries its own success/error
- Bearer-token auth or SHA-256
str_hashsigning — whichever your account uses - Pluggable HTTP transport — cURL by default; inject your own for testing
- Typed responses & exceptions (
ApiExceptionwith code / message / error_type) - Fully unit-tested, no network needed
Installation
Requirements: PHP ≥ 8.2 with the curl, json and hash extensions.
Quick start (plain PHP)
Fluent builder
Bulk (tolerant — never throws)
Authentication
By default the SDK authenticates with the Bearer token in the Authorization header (as in the OsonSMS sample), sending these parameters:
| Param | Source |
|---|---|
from |
sender (config or per-message) |
phone_number |
recipient |
msg |
text |
txn_id |
idempotency key (auto) |
login |
config login |
Optional str_hash signature
If your account requires a signed request, set a hash secret and the SDK appends a str_hash parameter:
Accounts issued only a hash secret and no Bearer token leave token empty — the
SDK then signs with str_hash and sends no Authorization header:
At least one of token or hash_secret must be present.
If your terminal uses a different field order, compute it yourself with
new Signature($secret)->hash($yourString).
Error handling
The API signals errors with a JSON body: { "error": { "code": ..., "msg": "...", "error_type": "..." } }.
Laravel
The service provider and OsonSms facade are auto-discovered. Publish the config:
Add credentials to .env:
Use the facade:
…or inject it:
Testing
Inject the fake transport to test without hitting the network:
Run the package test suite:
Architecture
License
MIT © TexHub Pro — built by Mahmudi Shodmehr.
All versions of oson-sms with dependencies
ext-curl Version *
ext-json Version *
ext-hash Version *