paraderos_backend/app/views.py

54 lines
1.4 KiB
Python

from django.shortcuts import render
from django.http import JsonResponse
from os import environ
import requests
# app/views.py
def get_auth_token():
auth_url = f'{environ["TRANSPORTE_API"]}/auth/'
auth_data = {
"rut": environ["TRANSPORTE_USER"],
"password": environ["TRANSPORTE_PASS"]
}
response = requests.post(auth_url, json=auth_data)
if response.status_code == 200:
token = response.json().get('token')
return token
else:
return None
def paradero_info(request):
id_paradero = request.GET.get('id')
token = get_auth_token()
# Realiza una solicitud a la API GetInfoDevice para obtener la información
api_url = f'{environ["TRANSPORTE_API"]}/dispositivos/getInfoDevice/'
headers = {
'Authorization': f'Bearer {token}'
}
data = {
"GetInfoDevice": {
"idDispositivo": id_paradero,
"KeyAuthorizacion": "token"
}
}
response = requests.post(api_url, json=data,headers=headers)
if response.status_code == 200:
# Procesa la respuesta de la API
data = response.json()["GetInfoDeviceResponse"]
return JsonResponse(data)
else:
error_message = "No se pudo obtener información del paradero."
# Devuelve un mensaje de error en formato JSON
return JsonResponse({'error': error_message}, status=400)