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