Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -937,7 +937,7 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
937 |
}
|
938 |
data = {
|
939 |
'phone_number': phone_number,
|
940 |
-
'message_body':
|
941 |
}
|
942 |
|
943 |
logger.info(f"[WhatsJet] Attempting multipart upload for {phone_number}")
|
@@ -962,22 +962,6 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
962 |
|
963 |
response.raise_for_status()
|
964 |
logger.info(f"[WhatsJet] Media image sent successfully via multipart upload to {phone_number}")
|
965 |
-
|
966 |
-
# Send caption as separate text message
|
967 |
-
if message.strip():
|
968 |
-
for chunk in split_message_for_whatsapp(message):
|
969 |
-
try:
|
970 |
-
text_payload = {"phone_number": phone_number, "message_body": chunk}
|
971 |
-
text_response = httpx.post(
|
972 |
-
url,
|
973 |
-
json=text_payload,
|
974 |
-
timeout=15
|
975 |
-
)
|
976 |
-
text_response.raise_for_status()
|
977 |
-
logger.info(f"[WhatsJet] Text chunk (caption) sent successfully to {phone_number}")
|
978 |
-
except Exception as e:
|
979 |
-
logger.error(f"[WhatsJet] Exception sending text chunk (caption): {e}")
|
980 |
-
return False
|
981 |
return True
|
982 |
|
983 |
except Exception as e:
|
@@ -991,7 +975,7 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
991 |
"media_type": media_type,
|
992 |
"media_content": media_b64,
|
993 |
"media_filename": filename or os.path.basename(media_path) if not media_path.startswith('http') else filename or 'image.jpg',
|
994 |
-
"message_body":
|
995 |
}
|
996 |
|
997 |
logger.info(f"[WhatsJet] Attempting base64 upload for {phone_number}")
|
@@ -999,7 +983,7 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
999 |
logger.info(f"[WhatsJet] Base64 payload - phone_number: {payload['phone_number']}")
|
1000 |
logger.info(f"[WhatsJet] Base64 payload - media_type: {payload['media_type']}")
|
1001 |
logger.info(f"[WhatsJet] Base64 payload - media_filename: {payload['media_filename']}")
|
1002 |
-
logger.info(f"[WhatsJet] Base64 payload - message_body: '{payload['message_body']}'")
|
1003 |
logger.info(f"[WhatsJet] Base64 payload - media_content length: {len(payload['media_content'])} chars")
|
1004 |
|
1005 |
response = httpx.post(
|
@@ -1019,22 +1003,6 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
1019 |
|
1020 |
response.raise_for_status()
|
1021 |
logger.info(f"[WhatsJet] Media image sent successfully via base64 to {phone_number}")
|
1022 |
-
|
1023 |
-
# Send caption as separate text message
|
1024 |
-
if message.strip():
|
1025 |
-
for chunk in split_message_for_whatsapp(message):
|
1026 |
-
try:
|
1027 |
-
text_payload = {"phone_number": phone_number, "message_body": chunk}
|
1028 |
-
text_response = httpx.post(
|
1029 |
-
url,
|
1030 |
-
json=text_payload,
|
1031 |
-
timeout=15
|
1032 |
-
)
|
1033 |
-
text_response.raise_for_status()
|
1034 |
-
logger.info(f"[WhatsJet] Text chunk (caption) sent successfully to {phone_number}")
|
1035 |
-
except Exception as e:
|
1036 |
-
logger.error(f"[WhatsJet] Exception sending text chunk (caption): {e}")
|
1037 |
-
return False
|
1038 |
return True
|
1039 |
|
1040 |
except Exception as e:
|
@@ -1042,7 +1010,7 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
|
|
1042 |
# Fallback: send text only
|
1043 |
logger.warning(f"[WhatsJet] Both image methods failed, sending text only for {phone_number}")
|
1044 |
return send_whatsjet_message(phone_number, message)
|
1045 |
-
|
1046 |
except Exception as e:
|
1047 |
logger.error(f"[WhatsJet] Exception preparing media image: {str(e)}")
|
1048 |
# Fallback: send text only
|
|
|
937 |
}
|
938 |
data = {
|
939 |
'phone_number': phone_number,
|
940 |
+
'message_body': message # Include the message body with the image
|
941 |
}
|
942 |
|
943 |
logger.info(f"[WhatsJet] Attempting multipart upload for {phone_number}")
|
|
|
962 |
|
963 |
response.raise_for_status()
|
964 |
logger.info(f"[WhatsJet] Media image sent successfully via multipart upload to {phone_number}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
965 |
return True
|
966 |
|
967 |
except Exception as e:
|
|
|
975 |
"media_type": media_type,
|
976 |
"media_content": media_b64,
|
977 |
"media_filename": filename or os.path.basename(media_path) if not media_path.startswith('http') else filename or 'image.jpg',
|
978 |
+
"message_body": message # Include the message body with the image
|
979 |
}
|
980 |
|
981 |
logger.info(f"[WhatsJet] Attempting base64 upload for {phone_number}")
|
|
|
983 |
logger.info(f"[WhatsJet] Base64 payload - phone_number: {payload['phone_number']}")
|
984 |
logger.info(f"[WhatsJet] Base64 payload - media_type: {payload['media_type']}")
|
985 |
logger.info(f"[WhatsJet] Base64 payload - media_filename: {payload['media_filename']}")
|
986 |
+
logger.info(f"[WhatsJet] Base64 payload - message_body: '{payload['message_body'][:50]}...'")
|
987 |
logger.info(f"[WhatsJet] Base64 payload - media_content length: {len(payload['media_content'])} chars")
|
988 |
|
989 |
response = httpx.post(
|
|
|
1003 |
|
1004 |
response.raise_for_status()
|
1005 |
logger.info(f"[WhatsJet] Media image sent successfully via base64 to {phone_number}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1006 |
return True
|
1007 |
|
1008 |
except Exception as e:
|
|
|
1010 |
# Fallback: send text only
|
1011 |
logger.warning(f"[WhatsJet] Both image methods failed, sending text only for {phone_number}")
|
1012 |
return send_whatsjet_message(phone_number, message)
|
1013 |
+
|
1014 |
except Exception as e:
|
1015 |
logger.error(f"[WhatsJet] Exception preparing media image: {str(e)}")
|
1016 |
# Fallback: send text only
|