import y from"@contractspec/lib.ui-link";import{jsx as q,jsxs as v}from"react/jsx-runtime";function A(){return v("div",{className:"space-y-8",children:[v("div",{className:"space-y-4",children:[q("h1",{className:"font-bold text-4xl",children:"Twilio"}),q("p",{className:"text-muted-foreground",children:"Send SMS notifications, alerts, and two-factor authentication codes using Twilio's reliable messaging platform."})]}),v("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Setup"}),q("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:q("pre",{children:`# .env
TWILIO_ACCOUNT_SID=...
TWILIO_AUTH_TOKEN=...
TWILIO_PHONE_NUMBER=+1234567890`})})]}),v("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Sending SMS"}),q("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:q("pre",{children:`capabilityId: twilio-send-sms
provider:
  type: twilio
  operation: sendSMS

inputs:
  to:
    type: string
    description: "Phone number in E.164 format"
  body:
    type: string
    description: "Message content (max 1600 chars)"

outputs:
  messageSid:
    type: string
  status:
    type: string`})})]}),v("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Use cases"}),v("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[q("li",{children:"Order confirmations and shipping updates"}),q("li",{children:"Two-factor authentication codes"}),q("li",{children:"Appointment reminders"}),q("li",{children:"Alert notifications"})]})]}),v("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Best practices"}),v("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[q("li",{children:"Always use E.164 format for phone numbers (+1234567890)"}),q("li",{children:"Keep messages under 160 characters to avoid splitting"}),q("li",{children:"Implement rate limiting to prevent spam"}),q("li",{children:"Handle delivery failures gracefully"}),q("li",{children:"Respect opt-out requests"})]})]}),v("div",{className:"flex items-center gap-4 pt-4",children:[q(y,{href:"/docs/integrations/s3",className:"btn-ghost",children:"Previous: S3 Storage"}),q(y,{href:"/docs/integrations/slack",className:"btn-primary",children:"Next: Slack Messaging"})]})]})}export{A as IntegrationsTwilioPage};
