Files
backend-v1/core/services/tech_passport.py

71 lines
1.7 KiB
Python

import requests
import logging
logger = logging.getLogger(__name__)
class TechPassportService:
BASE_URL = "https://api-test.gross.uz/api/v1/osago/check-tech-data"
@classmethod
def get_auto_info(
cls,
autonumber: str,
tech_pass_number: str,
tech_pass_series: str
):
payload = {
"tech_data": {
"autonumber": autonumber,
"tech_pass_number": tech_pass_number,
"tech_pass_series": tech_pass_series,
},
"payload": {
"promo": "",
"autotype": 1,
"citizen": 1,
"number": 1,
"period": 1,
"region": 1,
"coeff": 1
}
}
headers = {
"Content-Type": "application/json"
}
try:
response = requests.post(
cls.BASE_URL,
json=payload,
headers=headers,
timeout=30,
verify=False
)
logger.info(
f"Tech passport response status: {response.status_code}"
)
try:
response_data = response.json()
except ValueError:
response_data = {
"detail": "Invalid response from external service"
}
return {
"status_code": response.status_code,
"data": response_data
}
except requests.exceptions.RequestException as e:
logger.error(str(e))
return {
"status_code": 500,
"data": {
"detail": str(e)
}
}