Для связывания сделки с контактом при использовании метода crm.deal.contact.add вам сначала нужно создать сделку и контакт в CRM, а затем воспользоваться указанным методом для установления связи между ними.
Пример самого простого способа создания сделки и контакта в CRM, а затем их связывания на PHP:
```php
<?php
// Подключение к CRM Битрикс24
$domain = 'Ваш_домен'; // Например, mycompany.bitrix24.ru
$auth = 'Ваш_ключ_аутентификации'; // Найдите в настройках вашего приложения CRM
$queryUrl = "https://$domain/rest/1/$auth/";
$queryData = http_build_query(array(
'fields' => array(
'TITLE' => 'Название сделки',
'TYPE_ID' => 'SALE',
'STAGE_ID' => 'NEW',
'CONTACT_ID' => array('Созданный_контакт_ID')
),
));
// Создание сделки
$dealAdd = file_get_contents($queryUrl . 'crm.deal.add', false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'ignore_errors' => true,
'content' => $queryData
),
)));
// Получение ID созданной сделки
$dealId = json_decode($dealAdd, true)['result'];
// Создание контакта
$queryData = http_build_query(array(
'fields' => array(
'NAME' => 'Имя контакта',
'LAST_NAME' => 'Фамилия контакта',
'PHONE' => array(
array(
'VALUE' => 'Телефон контакта',
'VALUE_TYPE' => 'WORK'
)
),
'EMAIL' => array(
array(
'VALUE' => 'Email контакта',
'VALUE_TYPE' => 'WORK'
)
)
),
));
$contactAdd = file_get_contents($queryUrl . 'crm.contact.add', false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'ignore_errors' => true,
'content' => $queryData
),
)));
// Получение ID созданного контакта
$contactId = json_decode($contactAdd, true)['result'];
// Связывание сделки с контактом
$queryData = http_build_query(array(
'ID' => $dealId,
'fields' => array(
'CONTACT_ID' => $contactId
),
));
$dealContactAdd = file_get_contents($queryUrl . 'crm.deal.contact.add', false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'ignore_errors' => true,
'content' => $queryData
),
)));
// Результаты операций
var_dump($dealAdd, $contactAdd, $dealContactAdd);
?>
```
Этот пример демонстрирует создание сделки, создание контакта и последующее связывание их между собой. Не забудьте заменить значения 'Ваш_домен', 'Ваш_ключ_аутентификации', 'Название сделки', 'Телефон контакта', 'Email контакта', 'Имя контакта' и 'Фамилия контакта' на свои реальные данные.