Задать вопрос
@SergioMarquinha

Как получить документ из сделки?

Здравствуйте, нужно получить документ из битрикс24 на сайт.
Сейчас вывожу только документ по его ID:
$result = CRest::call('crm.documentgenerator.document.get',['id' => 219] );

echo '<pre>';
print_r($result['result']['document']);
echo '</pre>';


Но как можно выводить документ из сделки?
В данном методе только один параметр - ID документа.
В целом нужно, чтобы клиент со стороны сайта видел свои документы, которые в сделке в б24. Как это реализовать, что использовать?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Сложный Комментировать
Решения вопроса 1
dancha
@dancha
Обожаю python
Чтобы получить все документы, связанные с конкретной сделкой в Bitrix24, зная её ID, нужно использовать метод crm.documentgenerator.document.list с фильтром по ENTITY_ID.

Адаптируй под себя:
<?php

$webhookUrl = 'https://<your_domain>.bitrix24.ru/rest/<user_id>/<webhook>/';
$dealId = <your_deal_id>; // Замените на ID вашей сделки

// Функция для выполнения запросов к API Bitrix24
function bitrix24Request($method, $params = [])
{
    global $webhookUrl;
    $url = $webhookUrl . $method;
    $queryData = http_build_query($params);
    $response = file_get_contents($url . '?' . $queryData);
    return json_decode($response, true);
}

// Получаем список документов для указанной сделки
$documentParams = [
    'filter' => [
        'ENTITY_TYPE_ID' => 2, // 2 - для сделок
        'ENTITY_ID' => $dealId
    ],
    'select' => ['ID', 'TITLE', 'TEMPLATE_ID', 'NUMBER']
];

$documentsResponse = bitrix24Request('crm.documentgenerator.document.list', $documentParams);
$documents = $documentsResponse['result'] ?? [];

echo "Documents for deal ID {$dealId}: \n";
print_r($documents);

?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы