здравствуйте! Делаю интеграцию с Омнидеском и столкнулся со следующей проблемой: необходимо отправлять комментарий с прикрепленным файлом. В доках Омнидеска описано так:
Важно! Содержание отправляемого запроса должно быть в виде multipart/form-data.{
"message" : {
"message_id" : 2001,
"user_id" : 0,
"staff_id" : 123,
"content" : "I need help",
"content_html" : "",
"attachments" : [
{
"file_id" : 345,
"file_name" : "test.jpg",
"file_size" : 40863,
"mime_type" : "image/jpeg",
"url" : "https://[domain].omnidesk.ru/some_path_here/345"
},
{
"file_id" : 346,
"file_name" : "new.jpg",
"file_size" : 50863,
"mime_type" : "image/jpeg",
"url" : "https://[domain].omnidesk.ru/some_path_here/346"
}
],
"note" : false,
"created_at" : "Mon, 06 May 2014 00:15:17 +0300",
}
}
}
и пример:
curl -u [staff_email]:[api_key] -F "message[attachments][0]=@/path/to/file1.ext" -F "message[attachments][1]=@/path/to/file2.ext" -F "message[content]=I need help" -F "message[staff_id]=123" -X POST https://[domain].omnidesk.ru/api/cases/200/messages.json
Я формирую массив для отправки:
$request = array(
"message" => array(
"staff_id" => "xxxxx",
"content_html" => $resultMessage
)
);
if (!empty($messageArray['attach'])) {
foreach ($messageArray['attach'] as $key => $attach) {
$attachArray = array();
$attachArray['file_id'] = $key;
$attachArray['file_name'] = $attach['name'];
$attachArray['url'] = $attach['url'];
$request['message']['attachments'][] = $attachArray;
}
}
$queryData = http_build_query($request);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_USERPWD => "xxx@xxx.ru:" . self::TOKEN,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_HTTPHEADER => array('Content-Type: multipart/form-data'),
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => $queryData,
CURLOPT_URL => $url
));
$result = curl_exec($curl);
curl_close($curl);
В $request['message']['attachments'] - всё есть, сообщение в Омнидеск уходит, но вот файл - нет. Заголовок на формдату тоже не меняется.
Смотрю логи, а там исходящий запрос выглядит так:
"message": {
"message_id": 45609717,
"user_id": 0,
"staff_id": xxxxx,
"content": "",
"content_html": "ss",
"attachments": [],
"note": false,
"sent_via_rule": false,
"created_at": "Fri, 09 Nov 2018 17:49:16 +0200",
"parent_id": 0
}
}
Спасибо!