diff --git a/apps/users/tasks.py b/apps/users/tasks.py index 5bcb1d9..2ad24ca 100644 --- a/apps/users/tasks.py +++ b/apps/users/tasks.py @@ -9,35 +9,46 @@ logger = logging.getLogger(__name__) def _send_sms(receptor, pattern_code, variables: list = None): """ - Send OTP SMS using SMS.ir pattern-based API + Send OTP SMS using SMS.ir verify API """ SMS_ENDPOINT = "https://api.sms.ir/v1/send/verify" variables = variables or [] - headers = {"Content-Type": "application/json", "Accept": "text/plain", "x-api-key": settings.SMS_APIKEY} + + headers = { + "Content-Type": "application/json", + "Accept": "application/json", + "x-api-key": settings.SMS_APIKEY, + } + payload = { "mobile": receptor, - "templateId": str(pattern_code), + "templateId": int(pattern_code), "parameters": variables, } - logger.info(f"Sending SMS to {receptor} with payload: {payload}") + logger.info("Sending SMS to %s with payload: %s", receptor, payload) try: - response = requests.post(SMS_ENDPOINT, data=payload, headers=headers, timeout=10) + response = requests.post( + SMS_ENDPOINT, + json=payload, + headers=headers, + timeout=10, + ) - logger.info(f"Response status: {response.status_code}") - logger.info(f"Response text: {response.text}") + logger.info("Response status: %s", response.status_code) + logger.info("Response text: %s", response.text) if response.status_code == 200: result = response.json() if str(result.get("status", "")) == "1": - logger.info(f"SMS sent successfully to {receptor}") + logger.info("SMS sent successfully to %s", receptor) else: - logger.error(f"SMS.ir API error: {result}") + logger.error("SMS.ir API error: %s", result) else: - logger.error(f"HTTP error sending SMS: {response.status_code} - {response.text}") + logger.error("HTTP error sending SMS: %s - %s", response.status_code, response.text) return response