Я умею это делать через батч, но в данном случае нужен обычный метод, как такое сделать?
В формулировке "одного стандартного метода" никак.
Вы путаете интерфейсные возможности с возможностями REST, а это не одно и то же. Собсвтенно говоря в самом битриксе это тоже не один механизм - сначала выполняются задания контроллеров (т.е. создание контакта), а потом уже основное действие (создание сделки).
Битрикс в плане api досаточно примитивная система: при создании сделки вы создаете только сделку, а при создании контакта только контакт.
Таким образом есть 2 варианта как это можно сделать:
- Через батч (создать контакт, создать сделку указав CONTACT_ID)
- Через бизнес-процессы. Т.е. создать Н доп.полей в сделке и БП запускаемый при создании, который получит поля, создаст контакт и изменит сделку