Custom API for updating products

Right now I’m thinking of using Query Engine API to populate the collection with the incoming data. Would that be a better approach?