diff options
Diffstat (limited to 'webapp/app/api')
| -rw-r--r-- | webapp/app/api/twilio/numbers/route.ts | 31 | ||||
| -rw-r--r-- | webapp/app/api/twilio/route.ts | 6 | ||||
| -rw-r--r-- | webapp/app/api/twilio/webhook-local/route.ts | 3 |
3 files changed, 40 insertions, 0 deletions
diff --git a/webapp/app/api/twilio/numbers/route.ts b/webapp/app/api/twilio/numbers/route.ts new file mode 100644 index 0000000..53c13c8 --- /dev/null +++ b/webapp/app/api/twilio/numbers/route.ts @@ -0,0 +1,31 @@ +import twilioClient from "@/lib/twilio"; + +export async function GET() { + if (!twilioClient) { + return Response.json( + { error: "Twilio client not initialized" }, + { status: 500 } + ); + } + + const incomingPhoneNumbers = await twilioClient.incomingPhoneNumbers.list({ + limit: 20, + }); + return Response.json(incomingPhoneNumbers); +} + +export async function POST(req: Request) { + if (!twilioClient) { + return Response.json( + { error: "Twilio client not initialized" }, + { status: 500 } + ); + } + + const { phoneNumberSid, voiceUrl } = await req.json(); + const incomingPhoneNumber = await twilioClient + .incomingPhoneNumbers(phoneNumberSid) + .update({ voiceUrl }); + + return Response.json(incomingPhoneNumber); +} diff --git a/webapp/app/api/twilio/route.ts b/webapp/app/api/twilio/route.ts new file mode 100644 index 0000000..6313295 --- /dev/null +++ b/webapp/app/api/twilio/route.ts @@ -0,0 +1,6 @@ +export async function GET() { + const credentialsSet = Boolean( + process.env.TWILIO_ACCOUNT_SID && process.env.TWILIO_AUTH_TOKEN + ); + return Response.json({ credentialsSet }); +} diff --git a/webapp/app/api/twilio/webhook-local/route.ts b/webapp/app/api/twilio/webhook-local/route.ts new file mode 100644 index 0000000..2dc5420 --- /dev/null +++ b/webapp/app/api/twilio/webhook-local/route.ts @@ -0,0 +1,3 @@ +export async function GET() { + return Response.json({ webhookUrl: process.env.TWILIO_WEBHOOK_URL }); +} |
