Часть действия моей HTML-формы следующая:
- данные формы отправляются в CRM (Zoho) через php Curl, где создается новый контакт
Когда данные успешно вставлены и контакт создан, мой браузер возвращает следующий ответ:
Запись успешно добавлена34425260000003590072018-08-24 14: 44: 482018-08-24 14:44:48 1
Среди прочего, ответ повторяет ID записи контакта (18-значный номер): 3442526000000359007
Впоследствии я хочу выполнить следующее действие:
- загрузить файл .docx во вновь созданный контакт
У меня есть код, который также использует php Curl, который может загружать файлы в определенные контакты на основе их идентификаторов записей, однако есть один недостаток. Каждый раз, когда создается новый контакт, CRM присваивает уникальный идентификатор записи этому контакту.
Я не могу понять, как изменить мой код, чтобы он выбирал идентификатор записи вновь созданного контакта (который может использоваться для загрузки файла в правильный контакт (на основе его идентификатора записи) после выполнения ).
Это фрагмент кода, который загружает файл в контакт:
<code><?php
$recordId = "3442526000000328222";
$auth = "abcdefghijklmnopQRSTU";
$module = "Contacts";
$file_name="./../kundenanfragen/'.$firstname.' '.$lastname.'.docx";
$theurl = "https://crm.zoho.com/crm/private/xml/$module/uploadFile?authtoken=$auth&scope=crmapi";
$ch=curl_init();
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_VERBOSE,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch,CURLOPT_URL,$theurl);
curl_setopt($ch,CURLOPT_POST,true);
$post=array("id"=>$recordId,"content"=>curl_file_create($file_name,'image/jpeg' , basename( $file_name)));
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
$response=curl_exec($ch);
/* RESPONSE SHOWN ON PAGE */
echo "<hr />RESPONSE<pre>"; print_r($response); echo "
";
curl_close ($ ч);
Перед этим следующий код отправляет данные html-формы и создает контакт:
<?php
$auth = "abcdefghijklmnopQRSTU";
$xml = "
<Contacts>
<row no=\"1\">
<FL val=\"First Name\">".$firstname."</FL>
<FL val=\"Last Name\">".$lastname."</FL>
</row>
</Contacts>
";
$result = insert($auth,$xml);
print_r($result);
function insert($auth,$xml)
{
$curl_url = "https://crm.zoho.com/crm/private/xml/Contacts/insertRecords?";
$curl_post_fields = "authtoken=". $auth ."&scope=crmapi&xmlData=". $xml ."";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curl_post_fields);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
У вас есть какие-либо советы о том, как получить идентификатор записи при создании контакта?
Я где-то читал, что ответ от того, когда контакт создан ( Записи добавлены успешно) 34425260000003590072018-08-24 14: 44: 482018-08-24 14:44:48 1 ) сохраняется в файле XML, к которому можно получить доступ, чтобы извлечь из него идентификатор записи и вставить его в фрагмент кода 'upload file' :
$recordId = "Record-Id which was fetched from XML file right here";
Я не нашел никаких подсказок о том, как это сделать.
Буду признателен за советы по извлечению идентификатора записи. Если бы вы могли указать верное направление, это было бы здорово.
Спасибо!