Как правильно отправлять изображения или видео с помощью WhatsApp Cloud API?Python

Программы на Python
Ответить
Anonymous
 Как правильно отправлять изображения или видео с помощью WhatsApp Cloud API?

Сообщение Anonymous »

Я пытаюсь отправить изображение нескольким контактам WhatsApp с помощью Meta (Facebook) WhatsApp Cloud API.
У меня есть файл Excel с номерами телефонов и именами, и я хочу персонализировать каждое сообщение, включив имя контакта в текст сообщения.
Вот код Python, который я использую (упрощенный):

Код: Выделить всё

import pandas as pd
import requests
import time

ACCESS_TOKEN = ""
EXCEL_FILE = "contacts.xlsx"
PHONE_COLUMN = "phone"
NAME_COLUMN = "name"
IMAGE_LINK = "https://raw.githubusercontent.com/ghazdevlper-ux/Images/main/Independece.JPG"
DELAY_SECONDS = 5

df = pd.read_excel(EXCEL_FILE)
contacts = df[[PHONE_COLUMN, NAME_COLUMN]].dropna()
url = "https://graph.facebook.com/v22.0//messages"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}",
"Content-Type": "application/json"
}

for _, row in contacts.iterrows():
phone = str(row[PHONE_COLUMN])
name = str(row[NAME_COLUMN])

payload = {
"messaging_product": "whatsapp",
"to": phone,
"type": "template",
"template": {
"name": "image_template",
"language": {"code": "en"},
"components": [
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {"link": IMAGE_LINK}
}
]
},
{
"type": "body",
"parameters": [
{"type": "text", "text": name}
]
}
]
}
}

try:
response = requests.post(url, headers=headers, json=payload)
print(f"Sent to {phone}: {response.status_code} - {response.text}")
except Exception as e:
print(f"Error sending to {phone}: {e}")

time.sleep(DELAY_SECONDS)

Я ожидал, что каждый контакт получит изображение (и имя в теле сообщения), но API либо не работает, либо не отправляет изображение, либо возвращает отправленное сообщение, но телефон получателя его не показывает.
Что я пробовал до сих пор:
  • Дважды проверил мой ACCESS_TOKEN и идентификатор номера телефона
  • Пытался использовать прямой URL-адрес изображения из GitHub (общедоступный)
  • Проверено, что мой шаблон сообщения имеет заголовок типа image


Подробнее здесь: https://stackoverflow.com/questions/797 ... -cloud-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»