API-first yaklasim
Alexa istekleri icin ayrik bir giris noktasi bulunuyor. Bu da skill gelistirme, entegrasyon testi ve gelecekteki mobil veya web istemcileri icin yeniden kullanim imkani sagliyor.
EchoBridge, Alexa uzerinden kullanicidan gelen istegi alip dogrular, uygun intent'i route eder, guncel sterlin kurunu ceker ve Alexa uyumlu bir yanita donusturur. Kisa cevaplar, net akis ve test edilebilir servis mimarisi icin tasarlandi.
Alexa'nin telaffuzunu iyilestirmek icin cikti katmaninda SSML odakli bir cevap stratejisi kullaniliyor.
Request tipi, intent adi, request ID ve olusan cevap merkezi olarak loglanarak hata ayiklamayi hizlandiriyor.
Proje sadece bir webhook degil; sesli arayuz, servis entegrasyonu ve savunmaci uygulama tasarimini ayni yerde birlestiren temiz bir baslangic noktasi sunuyor.
Alexa istekleri icin ayrik bir giris noktasi bulunuyor. Bu da skill gelistirme, entegrasyon testi ve gelecekteki mobil veya web istemcileri icin yeniden kullanim imkani sagliyor.
Parsing, intent routing, response uretimi ve kur cekme adimlari birbirinden ayrilmis durumda. Kod okunabilirligi ve test kapsami bu sayede daha guclu.
Yeni intent'ler, farkli doviz turleri, ekstra verification katmani veya yeni sesli komutlar eklemek icin mevcut omurga yeterince esnek.
EchoBridge, kullanicinin sesli komutunu arkada kucuk ama net adimlarla isleyip tek bir Alexa uyumlu JSON cevabina donusturuyor.
Alexa, skill istegini `POST /api/alexa/webhook` endpoint'ine gonderiyor. Uygulama request tipi ve metadata bilgisini ayiklamaya hazirlaniyor.
Request parser payload yapisini normalize ediyor. Gecersiz istekler kontrollu sekilde reddediliyor ve anlamli bir Alexa cevabi uretiliyor.
Gelen `IntentRequest`, ilgili handler'a yonlendiriliyor. Desteklenmeyen intent'ler fallback yanitina dusuyor.
`GetExchangeRateIntent`, harici kur verisini cekiyor veya mock modda sabit veri kullaniyor; sonra bu veri sesli ifade icin formatlaniyor.
Response service, Alexa'nin bekledigi `version`, `outputSpeech` ve `shouldEndSession` alanlarini olusturarak yaniti tamamliyor.
Uygulamanin odaginda tek bir webhook bulunuyor. Bu sadelik, dokumantasyon yazmayi da entegrasyon yapmayi da kolaylastiriyor.
Alexa tarafindan gonderilen tipik bir `IntentRequest`, uygulamanin giris noktasina bu yapida ulasiyor.
{
"version": "1.0",
"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.intent.exchange-rate",
"locale": "tr-TR",
"intent": {
"name": "GetExchangeRateIntent"
}
}
}
Cevap, Alexa uyumlu JSON ve SSML uretimi ile sesli kullanima hazir sekilde donuyor.
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>Sterlin shoo an altmish leera doksan kurush</speak>"
},
"shouldEndSession": true
}
}
EchoBridge'in mevcut yapisi, yalnizca bir proof of concept degil; dogru yerlere ayrilmis sorumluluklar sayesinde rahatca genisletilebilecek bir cekirdek.
`AlexaRequestParserService`, `AlexaIntentRouterService`, `AlexaResponseService` ve `ExchangeRateService` birbirinden bagimsiz calisiyor.
Launch request, desteklenen intent, bilinmeyen intent ve bozuk payload senaryolari feature testlerle korunuyor.
Alexa signature verification middleware'i iskelet olarak hazir; uretim ortami icin sertlestirme asamasi planlanmis durumda.