UploadFile - העלאת קובץ בAPI
-
@אופיר לא הסתדרתי. לא הבנתי איזה פרמטרים בדיוק משרשרים בURL.. תודה!
-
@Freund
token path וכו'
לדוגמה:https://www.call2all.co.il/ym/api/UploadFile?token=077266666666:123546&path=ivr2:4/000.wav
-
@אופיר עדיין מקבלת הודעת שגיאה:
{
"responseStatus": "ERROR",
"message": "System error",
"messageCode": 105,
"yemotAPIVersion": 6,
"success": false
}
זה הURL ששלחתי:
https://www.call2all.co.il/ym/api/UploadFile?token=0231313XX:XXXX&path=ivr2:/100/000.wavעם כותרתContent-Type multipart/form-data
ובbody את הcontent שהתקבל מget file content
-
יש מישהו? תודה מראשש
-
@eliyahu יכול אולי לעזור? תודה גדולה מראש
-
@Freund באיזו שפה את כותבת?
-
@אופיר multipart/form-data אבל לא ברור לי בדיוק איזה פרמטרים צריך לשלוח.... ובינתיים שום קריאה לא הצליחה
-
@Freund תוסיפי בתחילת הPOST:
Content-Disposition: form-data; name="file"; filename=
ושם הקובץ עם גרשיים. מעבר שורה ו:
Content-Type: application/octet-stream
מעבר שורה ותוכן הקובץ (ניסיתי עכשיו אצלי)
-
@אופיר תוכל לשלוח את כל הקריאה? לא הבנתי בדיוק ... אני שולחת דרך POWER AUTOMATE [ברעיון כמו MAKE] תודה רבה
-
@Freund כתב בUploadFile - העלאת קובץ בAPI:
POWER AUTOMATE
אני לא מכיר, אבל הנה הקוד ב-VBA. אפשר להעלות אותו ל-chatGPT ולבקש שיעשה לך את ההתאמה עבור הפלטפורמה הרצויה.
Sub SendFileViaPost() Dim http As Object Dim fileStream As Object Dim boundary As String Dim data As String Dim url As String Dim filePath As String Dim fileName As String Dim fileContent As String ' הגדרת כתובת ה-URL url = "https://call2all.co.il/ym/api/UploadFile?token=077**מערכת*:**סיסמה**&path=ivr2:002.wav" ' הגדרת נתיב הקובץ filePath = "C:\Users\User\Desktop\בין כוכבים.wav" fileName = "בין כוכבים.wav" ' קריאת תוכן הקובץ Set fileStream = CreateObject("ADODB.Stream") fileStream.Type = 1 ' adTypeBinary fileStream.Open fileStream.LoadFromFile filePath fileContent = fileStream.Read fileStream.Close Set fileStream = Nothing ' יצירת גבול multipart boundary = "------------------------" & Format(Now, "YYYYMMDDHHMMSS") ' יצירת תוכן הבקשה data = "--" & boundary & vbCrLf data = data & "Content-Disposition: form-data; name=""file""; filename=""" & fileName & """" & vbCrLf data = data & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf data = data & fileContent & vbCrLf data = data & "--" & boundary & "--" ' יצירת אובייקט HTTP Set http = CreateObject("MSXML2.XMLHTTP") http.Open "POST", url, False http.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & boundary ' שליחת הבקשה http.Send data ' בדיקת התשובה If http.Status = 200 Then MsgBox "ההעלאה הצליחה: " & http.responseText Else MsgBox "Failed to upload file. Status: " & http.Status & " - " & http.statusText End If ' שחרור אובייקט Set http = Nothing End Sub
-
@אופיר לא רואה פה את המקום של הcontent - אם אני לא מעלה מהמחשב אלא מהענן לא הבנתי איפה להכניס את התוכן של הקובץ ...
-
-
@Freund אפשר קישור לאתר שאת עובדת?
-
-
@Freund להלן קוד שעובד להעלאת קובץ:
<?php $url = "https://www.call2all.co.il/ym/api/UploadFile"; // Prepare multipart form data $data = [ "token" => "$username:$password", "path" => "ivr2:14/test.wav", "file" => new CURLFile("audio/test.wav", "audio/wav", "test.wav") // File upload ]; // Make the request $response = curl_post_request($url, $data); echo "Response: " . $response; # POST request helper function function curl_post_request(string $url, $data, array $headers = []) { // Initialize cURL $ch = curl_init(); // Set cURL options curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // Multipart data // Set headers (DO NOT manually set Content-Type for multipart) curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // Execute request $response = curl_exec($ch); // Handle errors if (curl_errno($ch)) { throw new Exception(curl_error($ch)); } else { return $response; } }