dialogflowAPI / app /types /Respone.py
OnlyBiggg
Initial commit
e2b74e4
raw
history blame
975 Bytes
from fastapi.responses import JSONResponse
from pydantic import BaseModel
from typing import List, Dict, Any, Optional
class MessageText(BaseModel):
text: List[str]
class Message(BaseModel):
text: MessageText = None
payload: Optional[Dict[str, Any]] = None # Thêm trường payload tùy chọn
class FulfillmentResponse(BaseModel):
messages: List[Message]
class DialogflowResponse(BaseModel):
fulfillment_response: FulfillmentResponse
def DialogFlowResponseAPI(text: List[str], payload: Optional[Dict[str, Any]] = None):
"""
Hàm tạo JSON response cho Dialogflow CX, hỗ trợ payload tùy chỉnh.
"""
messages = []
messages.append(Message(text=MessageText(text=text)))
if payload:
messages.append(Message(payload=payload))
response_data = DialogflowResponse(
fulfillment_response=FulfillmentResponse(messages=messages)
)
return JSONResponse(content=response_data.model_dump())