(20250807) - Fixed Number validation issue for whatsapp nimbus whatsapp send - for value recipientNo.

This commit is contained in:
yatmesh
2025-08-07 11:08:58 +05:30
parent e72b6b5aa7
commit 1732e12adf
4 changed files with 50 additions and 9 deletions
@@ -157,7 +157,8 @@ class AsyncNimbusWhatsapp:
pdf_url: str = None,
image_0_url: str = None,
image_1_url: str = None,
schedule_on: datetime.datetime = None
schedule_on: datetime.datetime = None,
country_code: str = None
) -> NimbusWhatsappSendMessageResponse:
"""
@@ -168,6 +169,7 @@ class AsyncNimbusWhatsapp:
:param image_0_url: A URL to an image file that should be sent to the recipient.
:param image_1_url: A URL to an image file that should be sent to the recipient.
:param schedule_on: The date-time (UTC) to schedule the message delivery at.
:param country_code: Country Code for send wa.
:return: A structured response.
"""
@@ -178,7 +180,8 @@ class AsyncNimbusWhatsapp:
pdfUrl = pdf_url,
image0Url = image_0_url,
image1Url = image_1_url,
scheduleTs = schedule_on
scheduleTs = schedule_on,
countryCode = country_code
)
try:
@@ -221,12 +224,13 @@ if __name__ == "__main__":
# sender = AsyncNimbusWhatsapp(api_key = "2c6175138e964ee8a6adc2af8faab727") # ... TCAOFF 1
# sender = AsyncNimbusWhatsapp(api_key = "28ee15ef6df14105a855e8840540a791") # ... TCAOFF 2
sender = AsyncNimbusWhatsapp(api_key = "af82dd816b6c42958d052548f40ba5f9") # ... Mr. Gaurav Gupta
# sender = AsyncNimbusWhatsapp(api_key = "2b6aa961ad734611b932a8bd54747403") # ... Mr. Sumeet Shirke
# sender = AsyncNimbusWhatsapp(api_key = "af82dd816b6c42958d052548f40ba5f9") # ... Mr. Gaurav Gupta
sender = AsyncNimbusWhatsapp(api_key = "cde7141633864434bdcf45778076cd78") # ... Mr. Sumeet Shirke
api_result = await sender.send_whatsapp(
recipient_number = "7972314099",
message = f"Hello, Yatmesh ({datetime.datetime.now()})",
recipient_number = "+919307317825",
message = f"Hello, Kalyani ({datetime.datetime.now()})",
country_code="91"
# image_0_url = r"https://cdn.britannica.com/39/226539-050-D21D7721/Portrait-of-a-cat-with-whiskers-visible.jpg"
)
print("WHATSAPP API RESULT:", api_result)
@@ -177,6 +177,12 @@ class NimbusWhatsappSendMessageResponse(BaseModel):
default = None
)
countryCode : str | None = Field(
description="",
frozen=True,
default="91"
)
# ┏┓ ┏•
# ┃ ┏┓┏┓╋┓┏┓
# ┗┛┗┛┛┗┛┗┗┫
@@ -198,6 +204,16 @@ class NimbusWhatsappSendMessageResponse(BaseModel):
if isinstance(value, str): value = [value]
return value
# @field_validator("countryCode", mode="before")
# def validate_country_code(cls, value):
# if not isinstance(value, str):
# raise ValueError("Country code must be a string.")
#
# if any(c.alpha2 == value for c in countries):
# return value
#
# raise ValueError(f"Invalid country code: {value}")
# ┏┓ ┏┓
# ┃ ┓┏┏╋┏┓┏┳┓ ┣ ┓┏┏┓┏┏
# ┗┛┗┻┛┗┗┛┛┗┗ ┻ ┗┻┛┗┗┛
@@ -222,6 +238,9 @@ class NimbusWhatsappSendMessageResponse(BaseModel):
timezone = date_time.TIMEZONE_IST
).strftime("%Y%m%d%H%M")
# For country code:
if self.countryCode: api_input["country"] = self.countryCode
# Done here:
return api_input