@flashsms/sdk
v0.1.0
Published
Official FlashSMS API client (v2) by Codeslaw Global Technologies
Maintainers
Readme
@flashsms/sdk
Official FlashSMS API client by Codeslaw Global Technologies.
- Prepaid:
FlashsmsClient→/api/v2(requiresbms_live_*v2 API key) - Enterprise:
EnterpriseClient→/api/enterprise(requiresent_live_*key)
All sendMessage / sendSms calls are live SMS billed to your credits. Use testConnection() / getBalance() to verify your key without sending SMS.
Install
npm install @flashsms/sdkQuickstart
import { FlashsmsClient } from '@flashsms/sdk';
const client = new FlashsmsClient({
apiKey: process.env.FLASHSMS_API_KEY!, // bms_live_... (v2 key)
});
// No SMS sent
const { data: balance } = await client.testConnection();
console.log('Credits:', balance.total);
// Live SMS — charges credits
const { data: sent } = await client.sendMessage({
message: 'Hello from FlashSMS',
phones: ['0201234567'],
senderId: 'YourBrand',
});Environment
| Variable | Description |
| ------------------ | -------------------------- |
| FLASHSMS_API_KEY | Prepaid key (bms_live_*) |
API v1
New v1 keys are no longer issued. Existing v1 keys continue to work on /api/v1 via REST; this SDK is v2 only.
Publishing (maintainers)
Package: @flashsms/sdk under the flashsms npm org.
One-time setup
- Add a GitHub Actions secret
NPM_TOKEN(granular npm automation/publish token) at
https://github.com/skaduteye/bms.codeslaw/settings/secrets/actions - Ensure your team (
developersorflashsms) can publish scoped packages under theflashsmsorg. - (Optional, preferred later) On npmjs.com → flashsms org → add a Trusted Publisher for
@flashsms/sdk:- Repository:
skaduteye/bms.codeslaw - Workflow:
publish-sdk.yml - Environment: (leave empty)
- Repository:
Local dry-run / emergency publish
npm run sdk:release # build + test + npm publish --dry-run
npm run sdk:publish # same, but real publish (clean tree + npm login)CI publish
After merging to dev, either:
- Push tag
sdk-v0.1.0(must matchversioninpackage.json), or - Actions → Publish SDK → Run workflow (optional version input must match
package.json).
The workflow runs tests, builds dist/, and publishes with --provenance via GitHub OIDC.
License
MIT © Codeslaw Global Technologies
