При этом купон (код) генерируется автоматически. Подскажите как добраться до поля, чтобы при создании купона записать свой код, сгенерированный по моему шаблону?
С помощью этого метода можете посмотреть список доступных полей. Я так понимаю вам нужно поле под ключом COUPON, просто добавьте его определение в ваш массив параметров, например:
Код
$fields['COUPON'] = array( // массив $data 'DISCOUNT_ID' => 6, // id правила корзины
'ACTIVE_FROM' => null, // выставляем без ограничения к началу даты активности купона
'ACTIVE_TO' => null, // выставляем без ограничения к окончанию даты активности купона
'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER, // выставляем тип купона TYPE_ONE_ORDER - использовать на один заказ, TYPE_MULTI_ORDER - использовать на несколько заказов
'MAX_USE' => 1, // выставляем максимальное кол-во применений купона
'COUPON' => $myCoupon
);