Examples
SMS Development Examples
Ready-to-use examples for popular frameworks and common SMS development patterns.
Framework Integration
Quick Start
Send Your First SMS
Basic example of sending an SMS message using sms-dev
// Start sms-dev first sms-dev // Then in your application: const response = await fetch('http://localhost:4001/v1/messages', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ to: '+1234567890', from: '+1987654321', body: 'Hello from sms-dev!' }) }); const message = await response.json(); console.log('Message sent:', message.id);
Handle Webhook Replies
Process incoming SMS replies from the Virtual Phone UI
// Configure webhook URL sms-dev start --webhook-url http://localhost:3000/webhook // Handle webhook in your app (Express.js example) app.post('/webhook', (req, res) => { const { from, to, body } = req.body; console.log(`Received reply from ${from}: ${body}`); // Process the reply if (body.toLowerCase().includes('help')) { // Send help message sendSMS(to, from, 'Available commands: STOP, HELP, INFO'); } res.status(200).send('OK'); });
React Testing Hook
Custom React hook for testing SMS workflows
function useSMSTest() { const [messages, setMessages] = useState([]); const [loading, setLoading] = useState(false); const sendMessage = async (to, from, body) => { setLoading(true); try { const response = await fetch('http://localhost:4001/v1/messages', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ to, from, body }) }); const message = await response.json(); setMessages(prev => [...prev, message]); return message; } finally { setLoading(false); } }; return { messages, sendMessage, loading }; } // Usage in component function SMSTestComponent() { const { sendMessage, messages, loading } = useSMSTest(); return ( <button onClick={() => sendMessage('+1234567890', '+1987654321', 'Test message')} disabled={loading} > {loading ? 'Sending...' : 'Send Test SMS'} </button> ); }