Relay SMS Platform
Installation

Sending Templates with Relay

Combine templates with the Messages API to send professional SMS messages.

Basic Integration

TypeScriptCode
import { getTemplate, renderTemplate } from '@relay-works/templates'; import { RelayAPI } from '@relay-works/sdk-js'; const relay = new RelayAPI({ apiKey: process.env.RELAY_API_KEY! }); async function sendOTP(phoneNumber: string, code: string) { // Get and render template const template = getTemplate('otp-verify'); const result = renderTemplate(template, { code, company: 'Acme' }); // Send via Relay const message = await relay.messages.send({ to: phoneNumber, message: result.text, from: process.env.RELAY_PHONE_NUMBER! }); console.log(`Sent ${result.segments} segment(s)`); return message; } // Usage await sendOTP('+15551234567', '482916');

Next.js Server Actions

TypeScriptCode
// app/actions/send-otp.ts 'use server'; import { getTemplate, renderTemplate } from '@relay-works/templates'; import { RelayAPI } from '@relay-works/sdk-js'; export async function sendOTP(phoneNumber: string, code: string) { const relay = new RelayAPI({ apiKey: process.env.RELAY_API_KEY! }); // Get and render template const template = getTemplate('otp-verify'); const result = renderTemplate(template, { code, company: 'Acme' }); // Send via Relay const message = await relay.messages.send({ to: phoneNumber, message: result.text, from: process.env.RELAY_PHONE_NUMBER! }); return { success: true, segments: result.segments }; }

Error Handling

Always validate template data and handle sending errors gracefully:

TypeScriptCode
import { validateTemplateData, renderTemplate } from '@relay-works/templates'; async function sendTemplate(templateId: string, data: any, recipient: string) { const template = getTemplate(templateId); // Validate first const validation = validateTemplateData(template, data); if (!validation.valid) { console.error('Validation failed:', validation.errors); return { success: false, errors: validation.errors }; } // Render const result = renderTemplate(template, data); // Send try { const message = await relay.messages.send({ to: recipient, message: result.text }); return { success: true, messageId: message.id }; } catch (error) { console.error('Send failed:', error); return { success: false, error: error.message }; } }

Next Steps:

Last modified on