2023-12-05 10:45:26 -03:00
|
|
|
from django.shortcuts import render
|
|
|
|
from django.http import JsonResponse
|
2023-12-05 13:53:31 -03:00
|
|
|
from os import environ
|
2023-12-05 10:45:26 -03:00
|
|
|
import requests
|
|
|
|
|
|
|
|
# app/views.py
|
|
|
|
|
|
|
|
|
|
|
|
def get_auth_token():
|
2023-12-05 13:53:31 -03:00
|
|
|
auth_url = f'{environ["TRANSPORTE_API"]}/auth/'
|
2023-12-05 10:45:26 -03:00
|
|
|
auth_data = {
|
2024-02-24 21:50:33 -03:00
|
|
|
"rut": environ["TRANSPORTE_USER"],
|
2023-12-05 13:53:31 -03:00
|
|
|
"password": environ["TRANSPORTE_PASS"]
|
2023-12-05 10:45:26 -03:00
|
|
|
}
|
|
|
|
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
|
2023-12-05 13:53:31 -03:00
|
|
|
api_url = f'{environ["TRANSPORTE_API"]}/dispositivos/getInfoDevice/'
|
2023-12-05 10:45:26 -03:00
|
|
|
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)
|
|
|
|
|