Closed schabe77 closed 3 years ago
@schabe77 , could you please share how do you reproduce this issue? I just do not understand why a datetime for PromotionEnd could be set to 'delete_value'.
To reproduce it you need to have a promotion in your account. When you delete it via API the response contains these values.
Here the EntityRecords I received as response for my delete request (I suppose the CampaignServiceInvalidAdExtensionId occurs, because the deleted promotion was still mapped to a campaign).
Can you share a TrackingId/requestid? which you can find from the soap response
I just did a delete operation with the Id c7a652b6-d37a-413b-85ae-70bd7a655522
I tried but did not reproduce yet. did you change the PromotionStart/PromotionEnd when you tried to delete that ad extension?
Thanks again @schabe77 for reporting this. I confirm repro the issue. could you please try avoid unset Start/End date when delete promotion ad extension? We will try to send a fix soon.
Ah, now I understand! My request already contains this StringTable.DeleteValue
because the BulkMapping writes it when the dates are null. Unfortunately the moment I create the delete operation I don't have start and end date.
private BulkPromotionAdExtension getDeleteOperation(Long promotionId) {
final PromotionAdExtension promotionAdExtension = new PromotionAdExtension();
promotionAdExtension.setId(promotionId);
promotionAdExtension.setStatus(AdExtensionStatus.DELETED);
final BulkPromotionAdExtension result = new BulkPromotionAdExtension();
result.setPromotionAdExtension(promotionAdExtension);
return result;
}
But because I don't care about deleted entries, as a workaround I can set the PromotionStart and PromotionEnd to a non-null (and non 0/0/0000) value. I tested it and there are no more exceptions printed to my console 👍.
👍 let's keep this issue open until we publish a new version(please expect 13.0.10 soon).
13.0.11 published.
If I delete an PromotionAdExtension via API, reading the response leads to a stack trace that is printed to STDERR due to the usage of magic string delete_value.
Please remove all 3 occurrences of
(at least if the provided value is the magic string)