[api] avoid unnecessary re-creation of product objects
[api] support source update hook via token

can be used for example for a github service integration