Integration::convertToFormOptions

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Integration
  4. convertToFormOptions
  • Модуль: 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;
}

Добавить комментарий