Initialization
import { creantly } from '@creantly';
creantly.sms.init({
apiKey: process.env.CREANTLY_KEY,
environment: 'production', // or 'sandbox'
});Sending Messages
// Send an SMS message
await creantly.sms.messages.send({
to: '+15551234567',
from: '+15559876543',
body: 'Your verification code is 123456',
});Messages
// Retrieve a message
await creantly.sms.messages.retrieve('msg_abc123');
// List sent messages
await creantly.sms.messages.list({
to: '+15551234567',
});Phone Numbers
// Buy a new phone number
await creantly.sms.numbers.purchase({
country: 'US',
areaCode: '415',
});
// List owned numbers
await creantly.sms.numbers.list();
// Release a phone number
await creantly.sms.numbers.release('+15559876543');Webhooks
// Webhook events
creantly.sms.webhooks.on('message.delivered', (event) => {
console.log('Message delivered:', event.data);
});
creantly.sms.webhooks.on('message.failed', (event) => {
console.log('Message failed:', event.data);
});Utilities
// Validate webhook signature
const isValid = creantly.sms.utils.verifySignature({
payload: req.body,
signature: req.headers['creantly-sms-signature'],
secret: 'whsec_sms_123',
});