@rafikisms/sdk
v1.0.0
Published
TypeScript/JavaScript SDK for the RafikiSMS Vendor API (X-API-Key auth)
Maintainers
Readme
@rafikisms/sdk
TypeScript/JavaScript SDK for the RafikiSMS Vendor API (X-API-Key auth).
Developer docs: https://developers.rafikisms.com/
OpenAPI JSON: https://developers.rafikisms.com/v1/docs/openapi.json
Requirements
- Node.js 18+
Install
npm install @rafikisms/sdkOr as a path dependency from this monorepo:
{
"dependencies": {
"@rafikisms/sdk": "file:../../sdk/js"
}
}Usage
import { createRafikismsClient } from "@rafikisms/sdk";
const client = createRafikismsClient({
apiKey: process.env.RAFIKISMS_API_KEY!,
});
const result = await client.sendSms({
phone: "255712345678",
message: "Hello from RafikiSMS!",
sender_id: "MYBRAND",
});
if (result.success) {
console.log("SMS queued");
} else {
console.error(result.error_code, result.message);
}OTP
const otp = await client.generateOtp({ phone_number: "255712345678", sender_id: "MYBRAND" });
const verified = await client.verifyOtp({
phone_number: "255712345678",
otp_code: "482916",
reference_id: otp.data?.reference_id,
});Strict errors
Pass throwOnError: true to throw RafikismsApiError on non-2xx or success: false.
API
| Method | Endpoint |
|--------|----------|
| sendSms | POST /v1/vendor/send-sms |
| sendBulkSms | POST /v1/vendor/send-bulk-sms |
| generateOtp | POST /v1/otp/generate |
| verifyOtp | POST /v1/otp/verify |
| getBalance | GET /v1/vendor/balance |
| getSmsLogs | GET /v1/vendor/sms-logs |
| getDeliveryReport | GET /v1/vendor/delivery-reports |
| getSenderNames | GET /v1/vendor/sender-names |
| requestSenderName | POST /v1/sender-names/request |
| updateDeliveryWebhook | PUT /v1/vendors/delivery-webhook |
License
MIT.
