Hey & frohes Neues Jahr erstmal!
Die Position ist da schon die richtige Lösung: Sie wird allerdings nicht für den User angelegt, aber du beschreibst es mit person_id und company_id schon richtig. Die Positions halten bei uns Firmen und Personen zusammen. Sobald eine Person nicht mehr in der Firma arbeitet kann die Position auf ehemalig gestellt werden (former: true).
Hier mal ein CURL-Bsp, wo die Position direkt bei der Erstellung der Person erfolgt.
--header 'Content-Type: application/json' \
--data-raw '{"person" : {"name" : "Example", "positions_attributes" : [{"company_id": 101, "name" :"Sales-Dude"}]}, "includes": "positions"}'
Du kannst btw auch einen company_name innerhalb der Position übergeben, wenn es die Company noch nicht gibt und du keine weiteren Details zur Firma anlegen willst außer den Firmennamen:
curl --location --request POST '
http://demo.cscrm.localhost:3001/api/people.json?apikey=XYZ' \
--header 'Content-Type: application/json' \
--data-raw '{"person" : {"name" : "Example", "positions_attributes" : [{"company_name": "new company name", "name" :"Sales-Dude"}]}, "includes": "positions"}'
Ich hoffe das hilft?
Gruß
Axel