@SergioMarquinha

Как выполнять метод crm.entity.mergeBatch автоматически?

Здравствуйте

Создаю через метод батч контакт, сделку и привязываю контакт к сделке:
$result = CRest::call('batch',
array(
    'halt' => false,
    'cmd'=> array(
    "create_contact"=>  'crm.contact.add?fields[NAME]='.$sName,
    "read_contact"=>  'crm.contact.get?id=$result[create_contact][ID]',
    "user_deal"=>  'crm.deal.add?fields[CONTACT_ID]=$result[create_contact][ID]&fields[TITLE]='.$sTitle.'&fields[CATEGORY_ID]='.$deal
)));


методы объединения дубликатов:

$result = CRest::call(
    'crm.entity.mergeBatch',
    [
        'params' =>[
            "entityTypeId"=> "2",
            "entityIds"=> ["177", "175","173"]
        ],
        
    ]
);

$result = CRest::call(
    'crm.entity.mergeBatch',
    [
        'params' =>[
            "entityTypeId"=> "3",
            "entityIds"=> ["81", "89", "91"]
        ],
        
    ]
);


Объединение проходит в данном коде статично, но как можно проверить наличие дубликатов автоматически? не нахожу для этого метод. И если они есть, то объединять с помощью этого метода crm.entity.mergeBatch
  • Вопрос задан
  • 380 просмотров
Решения вопроса 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
В Битрикс24 нет метода который бы прошелся по списку и вернул наборы сущностей "которые он посчитал дубликатами".
Есть метод на объединение уже известных и на изменение поиска (добавление в дубликаты своих полей).

Здесь работают 2 других механизма:
1. Автоматический поиск и объединение. Включается в настройках CRM, после чего сам проверяет актуальность.
2. Ручной поиск через `crm.duplicate.findbycomm` или `crm.*.list`.

Метод скорее выдан не для регулярного использования, а для точечного, когда например есть какие-то косвенные признаки (например приложение добавляет какой-нибудь уникальный ключ и потом в фоне по нему делает склейки).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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