narendrasinghd commited on
Commit
8a47c44
·
verified ·
1 Parent(s): 44a05d4

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -113
app.py CHANGED
@@ -1,11 +1,8 @@
1
  import os, json, random, requests
2
  from livekit import api
3
  from fastapi.responses import JSONResponse
4
- from twilio.twiml.messaging_response import MessagingResponse
5
  from fastapi.middleware.cors import CORSMiddleware
6
  from fastapi import FastAPI, Request
7
- from fastapi.responses import Response
8
- from pydantic import BaseModel, Field
9
  from dotenv import load_dotenv
10
  load_dotenv()
11
 
@@ -176,113 +173,4 @@ async def generate_token(request: Request):
176
  return JSONResponse(content={
177
  "accessToken": access_token,
178
  "url": LIVEKIT_WEBSCOKET_URL_NUNNA,
179
- })
180
-
181
- class MessageRequestValidate(BaseModel):
182
- from_phone: str = Field(default="+917389058485")
183
-
184
- @app.post('/realtor/validate')
185
- async def realtor_validate_user(request: MessageRequestValidate):
186
- print(request)
187
- if request.from_phone == "+917389058485":
188
- return JSONResponse(content="User is verified")
189
- return JSONResponse(content="user is not verified")
190
-
191
- class MessageRequestSignUP(BaseModel):
192
- from_phone: str = Field(default="+917389058485")
193
- agent_id: str = Field(default="agent_id1")
194
- full_name: str = Field(default="agent_full_name")
195
- broker_id: str = Field(default="broker_id1")
196
-
197
- @app.post('/realtor/singup')
198
- async def realtor_sign_up(request: MessageRequestSignUP):
199
- print(request)
200
- return JSONResponse(content="user is signed up sucessfully now you can contine to ask propertry related questions")
201
-
202
-
203
- @app.post('/chatbot/')
204
- async def whatsapp_webhook(request: Request):
205
- form_data = await request.form()
206
-
207
- num_media = int(form_data.get('NumMedia', 0))
208
- sender_number = form_data.get("From")[9:]
209
- profile_name = form_data.get("ProfileName")
210
- user_query = form_data.get("Body")
211
-
212
- print(f"num_media: {num_media}, sender_number: {sender_number}, ProfileName: {profile_name}, user_query: {user_query}")
213
-
214
- payload = {
215
- "input_value": json.dumps({"from_phone": sender_number, "msg": user_query}),
216
- "session_id": sender_number
217
- }
218
- print(f"Payload: {payload}")
219
- headers = {
220
- 'Content-Type': 'application/json'
221
- }
222
- url = "https://workflows.kickcall.ai/api/v1/run/c94b14f5-d7a7-4fc8-89d8-eb672716c778?stream=false&user_id=1"
223
-
224
- try:
225
- response = requests.post(url, headers=headers, data=json.dumps(payload))
226
- print(f"[Langflow][run] Response status code received: {response.status_code}")
227
-
228
- if response.status_code == 200:
229
- response_json = response.json()
230
- print(f"[Langflow][run] Response: {response_json}")
231
- output_text = response_json["outputs"][0]["outputs"][0]["results"]["message"]["data"]["text"]
232
-
233
- bot_resp = MessagingResponse()
234
- msg = bot_resp.message()
235
- msg.body(output_text)
236
-
237
- return Response(content=str(bot_resp), media_type="application/xml")
238
- else:
239
- print(f"Error: Received status code {response.status_code}")
240
- bot_resp = MessagingResponse()
241
- msg = bot_resp.message()
242
- msg.body("I'm sorry, I couldn't process your request at the moment. Please try again later.")
243
- return Response(content=str(bot_resp), media_type="application/xml")
244
-
245
- except Exception as e:
246
- print(f"Error in processing user query: {e}")
247
- bot_resp = MessagingResponse()
248
- msg = bot_resp.message()
249
- msg.body("I'm sorry, an unexpected error occurred. Please try again later.")
250
- return Response(content=str(bot_resp), media_type="application/xml")
251
-
252
-
253
- class MessageRequestRunFlow(BaseModel):
254
- from_phone: str = Field(default="+917389058485")
255
- user_query: str = Field(default="Hello")
256
-
257
- @app.post('/realtor/run_flow')
258
- async def realtor_validate_user(request: MessageRequestRunFlow):
259
- print(f"body: {request}")
260
- user_query = request.user_query
261
- print(f"user_query: {user_query}")
262
- payload = {
263
- "input_value": json.dumps({"from_phone": request.from_phone, "msg": user_query}),
264
- "session_id": request.from_phone
265
- }
266
- print(f"Payload: {payload}")
267
- headers = {
268
- 'Content-Type': 'application/json'
269
- }
270
- url = "https://workflows.kickcall.ai/api/v1/run/c94b14f5-d7a7-4fc8-89d8-eb672716c778?stream=false&user_id=1"
271
-
272
- try:
273
- response = requests.post(url, headers=headers, data=json.dumps(payload))
274
- print(f"[Langflow][run] Response status code received: {response.status_code}")
275
-
276
- if response.status_code == 200:
277
- response_json = response.json()
278
- print(f"[Langflow][run] Response: {response_json}")
279
- output_text = response_json["outputs"][0]["outputs"][0]["results"]["message"]["data"]["text"]
280
- return JSONResponse(content=output_text)
281
- else:
282
- print(f"Error: Received status code {response.status_code}")
283
- msg ="I'm sorry, I couldn't process your request at the moment. Please try again later."
284
- return JSONResponse(content=msg)
285
- except Exception as e:
286
- print(f"Error in processing user query: {e}")
287
- msg = "I'm sorry, an unexpected error occurred. Please try again later."
288
- return JSONResponse(content=msg)
 
1
  import os, json, random, requests
2
  from livekit import api
3
  from fastapi.responses import JSONResponse
 
4
  from fastapi.middleware.cors import CORSMiddleware
5
  from fastapi import FastAPI, Request
 
 
6
  from dotenv import load_dotenv
7
  load_dotenv()
8
 
 
173
  return JSONResponse(content={
174
  "accessToken": access_token,
175
  "url": LIVEKIT_WEBSCOKET_URL_NUNNA,
176
+ })