Получить идентификатор записи HTML-данных POST в CRM - PullRequest
0 голосов
/ 27 августа 2018

Часть действия моей 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";

Я не нашел никаких подсказок о том, как это сделать.

Буду признателен за советы по извлечению идентификатора записи. Если бы вы могли указать верное направление, это было бы здорово.

Спасибо!

...