Thank you! Yes, this was doing the trick, In the menatime I had other problems with the brevo webhook (the json structure changes depending of the event and I need Int64, a date is formated very special and so on ).
So I used now a TStream and the good old TJSONObject.ParseJSONValue(payload);
V := TJSONObject.ParseJSONValue(S);
if v <>nil then
begin
V.TryGetValue<string>('event', event);
V.TryGetValue<string>('email', email);
V.TryGetValue<integer>('id', id);
V.TryGetValue<integer>('ts', ts);
V.TryGetValue<string>('message-id', messageid);
V.TryGetValue<string>('subject', subject);
V.TryGetValue<string>('reason', reason);
end;