- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/options/integration.php
- Класс: Bitrix\Crm\WebForm\Options\Integration
- Вызов: Integration::convertToFormOptions
static function convertToFormOptions(?array $data): array
{
$result = array_map(
static function(array $integrationOption) : array {
return [
'ADS_TYPE' => $integrationOption['providerCode'],
'LINK_DIRECTION' => $integrationOption['linkDirection'],
'ADS_ACCOUNT_ID' => $integrationOption['account']['id'],
'ADS_ACCOUNT_NAME' => $integrationOption['account']['name'],
'ADS_FORM_ID' => $integrationOption['form']['id'],
'ADS_FORM_NAME' => $integrationOption['form']['name'] ?: 'Default name',
'FIELDS_MAPPING' => array_map(
static function(array $raw) : array {
return [
'ADS_FIELD_KEY' => $raw['adsFieldKey'],
'CRM_FIELD_KEY' => $raw['crmFieldKey'],
'ITEMS' => $raw['items'],
];
},
$integrationOption['fieldsMapping'] ?? []
),
];
},
$data['cases'] ?? []
);
$result = array_filter(
$result,
function (array $item)
{
return !empty($item['ADS_TYPE'])
&& !empty($item['ADS_ACCOUNT_ID'])
&& !empty($item['ADS_FORM_ID'])
;
}
);
return $result;
}