POST is supposed to create a new content, while PUT is used to update the content. Technically POST is idempotent so you can call it multiple times.
You can set that metafield to null to clear the value (if the MF allows null). If you want to remove the metafield from the metaclass, it's another story and cannot be done by ServiceAPI (you would need Commerce Manager or write something yourself to take care of that)
Re StartDate/EndDate/Epi_StartPublish, Epi_StopPublish it is a long story that requires a full blog post to explain. I'll get back to you later.
Yes I just do POST on every Update, works fine for products, as it dosent rely on internal incremental ID, like prices.
I think the solution will be to control publishing of products from ERP.
So what is the simplest "swicth like" solution for this?
Can I just put 1/1/1753 in StartDate and 1/1/2099 in EndDate on first creation, and den update IsActive or Epi_IsPublished to Unpublish and Publish.
I think that is possible. You can use Epi_IsPublished to control the state of the content. (TBO I'm not 100% sure, the version/state is a bit complicated, but it's worth a try)
It seems to work when changing state of Epi_IsPublished, and all dates set to 1753 and 9999.
Can you confirm that IsActive is ignored in 11.2, it dosent seem to have any effect on Publishing state, or does it have another function?
I know at blog post on its own ;-)
Im trying to wrap my head around the StartDate, EndDate, IsActive and the metadata Epi_StartPublish, Epi_StopPublish and Epi_IsPublished.
Can anyone explain how this works?
It seems that the first time i POST a product with StartDate and EndDate set, they are copied to the Epi_ fields. But if i POST a product again with a new EndDate, its not updated on the metadata fields. Whats the story?
What if I do all publish related calculation in ERP, can I just use IsActive, and some fictive dates?
Btw. whats the difference between POST and PUT on a Catalog Entry?
Using POST all the time seems fine!
Is there a way to owerwrite the entire product/entry. Say we deleted a metadata field, and that field is not sent during next POST, the field still remains in EPi? (I think this relates to the first quenstion about dates)