Skip to content

SendFileByUrl#

Test

השיטה מיועדת לשליחת קובץ שהועלה על ידי Url. ההודעה תתווסף לתור השליחה. ההודעה תישמר 24 שעות בתור ותשלח מיד לאחר אישור טלפוני. קצב שליחת ההודעות מהתור מנוהל על ידי עיכוב בשליחת הודעה פָּרָמֶטֶר.

אנו ממליצים להשתמש באחסון הקבצים החיצוני שלנו דרך ה UploadFile שִׁיטָה.

קבצי וידאו, אודיו ותמונה הזמינים לצפייה והאזנה נשלחים כמו ב-WhatsApp במצב מקורי. מסמכים נשלחים באותו אופן כמו ב-WhatsApp במצב מקורי. סוג הקובץ היוצא ושיטת השליחה נקבעים לפי סיומת הקובץ. תיאור נוסף רק לתמונות ולווידאו.

הגודל המרבי של קבצים יוצאים הוא 100 MB.

שליחת קבצים מרובים עם בקשה אחת אינה אפשרית. נשלח קובץ אחד עם הודעה אחת בלבד. היכולת לשלוח מספר קבצים בו זמנית נוצרת רק בצד של אפליקציית WhatsApp.

אין הגבלות על רזולוציות תמונה. עם זאת, בעת שליחת תמונות דרך ה-API ברזולוציה העולה על 3000x3000 פיקסלים, תמונות ממוזערות לא יופקו.

בַּקָשָׁה#

כדי לשלוח קובץ, עליך לבצע בקשה בכתובת:

POST
{{apiUrl}}/waInstance{{idInstance}}/sendFileByUrl/{{apiTokenInstance}}
TEST

לפרמטרים של בקשת apiUrl, idInstance ו-apiTokenInstance, עיין ב לפני שמתחילים סָעִיף.

בקש פרמטרים#

פָּרָמֶטֶר סוּג הֶכְרֵחִי תֵאוּר
chatId string כֵּן זיהוי צ'אט
urlFile string כֵּן קישור לקובץ יוצא
fileName string כֵּן שם הקובץ. חייב להכיל את סיומת הקובץ. דורש קידוד UTF-8 ללא BOM. לְדוּגמָה: test.jpg
caption string לֹא כיתוב קובץ. כיתוב נוסף לסרטון, תמונות. אורך השדה המרבי הוא 20000 תווים.
quotedMessageId string לֹא מזהה הודעה מצוטט. אם קיימת, ההודעה תישלח בציטוט הודעת הצ'אט שצוינה

הערה

  • המלצות לפורמט קישור

    1. ניתן להשתמש בסמלים a-z, A-Z, 0-9, - (מקף), _ (קו תחתון) בקישור
    2. אסור שהקישור יכיל תווים מיוחדים ~$€%#£?! ומרווחים
    3. קידוד תו קישור UTF-8 ללא BOM
    4. נדרש להעביר קישורים לא מקודדים (המערכת מקודדת את הקישור בעצמה)
    5. נדרש שהקישור יפנה לקובץ מסוים, ולא לעמוד ה-html
    6. נדרש להשתמש באחסון מהיר, ללא הגבלה על מספר בקשות הקבצים
  • שם קובץ שדה

    יש לציין את השדה fileName עם סיומת הקובץ הנכונה.

    זיהוי סוג קובץ על ידי המערכת:

    1. לפי הסיומת שצוינה בשם הקובץ, בשדה fileName
    2. אם השדה fileName אינו מכיל סיומת, אזי סוג הקובץ מתקבל על ידי Content-Type מכותרת הקישור
    3. אם השדה Content-Type בכותרת חסר או מכיל סוג קובץ שאינו קיים, המערכת תנסה לקבוע את סוג הקובץ על סמך הבתים של הקובץ
    4. אם המערכת לא יכולה לקבוע את סוג הקובץ, הוא יישלח עם סוג ברירת המחדל (קובץ בינארי)

הגיע הזמן לשלוח קובץ

שליחת קבצים מתרחשת במספר שלבים:

  1. קבלו את הקובץ
  2. העלאת קובץ לשרת WhatsApp
  3. בקשה לשלוח קובץ לוואטסאפ

זמן שליחת הקובץ תלוי בגודל הקובץ, מהירות קבלת הקובץ ועיבוד הקובץ בוואטסאפ. בהתאם לגורמים אלה, הזמן לשליחת קובץ יכול להשתנות בין 1 ל-20 שניות.

בקשת גוף לדוגמה#

שליחת הודעה לצ'אט אישי:

{
    "chatId": "11001234567@c.us",
    "urlFile": "https://my.site.com/img/horse.png",
    "fileName": "horse.png",
    "caption": "Little horse"
}

שליחת הודעה לצ'אט קבוצתי:

{
    "chatId": "11001234567-1581234048@g.us",
    "urlFile": "https://my.site.com/img/horse.png",
    "fileName": "horse.png",
    "caption": "Little horse"
}

שליחת הודעה מצוטטת:

{
    "chatId": "11001234567@с.us",
    "urlFile": "https://my.site.com/img/horse.png",
    "fileName": "horse.png",
    "caption": "Little horse",
    "quotedMessageId": "361B0E63F2FDF95903B6A9C9A102F34B"
}

תְגוּבָה#

פרמטרי תגובה#

פָּרָמֶטֶר סוּג תֵאוּר
idMessage string מזהה הודעה יוצאת

גוף לדוגמא תגובה#

{
    "idMessage": "3EB0C767D097B7C7C030"
}

SendFileByUrl שגיאות#

לרשימה של שגיאות משותפות לכל השיטות, עיין ב Common errors סָעִיף

בקש דוגמאות#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/sendFileByUrl/{{apiTokenInstance}}"

payload = "{\r\n   \t\"chatId\": \"11001234567@c.us\",\r\n\t\"urlFile\": \"https://avatars.mds.yandex.net/get-pdb/477388/77f64197-87d2-42cf-9305-14f49c65f1da/s375\",\r\n\t\"fileName\": \"horse.png\",\r\n\t\"caption\": \"little horse\"\r\n}"
headers = {
  'Content-Type': 'application/json'
}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/sendFileByUrl/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "12345678910@c.us",
    "urlFile": "https://avatars.mds.yandex.net/get-pdb/477388/77f64197-87d2-42cf-9305-14f49c65f1da/s375",
    "fileName": "horse.png",
    "caption": "лошадка"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendFileByUrl/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\r\n   \t\"chatId\": \"11001234567@c.us\",\r\n\t\"urlFile\": \"https://avatars.mds.yandex.net/get-pdb/477388/77f64197-87d2-42cf-9305-14f49c65f1da/s375\",\r\n\t\"fileName\": \"horse.png\",\r\n\t\"caption\": \"little horse\"\r\n}";

var requestEntity = new HttpEntity<>(jsonBody, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendFileByUrl/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\r\n   \t\"chatId\": \"11001234567@c.us\",\r\n\t\"urlFile\": \"https://avatars.mds.yandex.net/get-pdb/477388/77f64197-87d2-42cf-9305-14f49c65f1da/s375\",\r\n\t\"fileName\": \"horse.png\",\r\n\t\"caption\": \"little horse\"\r\n}")
    .asString();

System.out.println(response);
Sub SendFileByUrl()
    Dim url As String
    Dim RequestBody As String
    Dim http As Object

    ' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
    url = "{{apiUrl}}/waInstance{{idInstance}}/SendFileByUrl/{{apiTokenInstance}}"

    ' chatId is the number to send the message (@c.us for private chats, @g.us for group chats), urlFile - url link, fileName - file name with extension, caption - title
    RequestBody = "{""chatId"":""90123456789@c.us"",""urlFile"":""https://my.site.com/img/horse.png"",""fileName"":""horse.png"",""caption"":""horse""}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .Send RequestBody
    End With

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    ' Range("A1").Value = response

    Set http = Nothing
End Sub