One way you can experiment and learn is to use the webhook.site webapp, which will generate a public API URL that you can use in SNS and see the data as it's coming in.
I'm not sure what you mean by query parameters, but I use a constant URL for the endpoint and rely on tags to identify the specific recipient. So when I send an email, I create a db row, which gives me the row ID from the database insert id. Then I use that ID as a tag in the destination. Then when I send the email, AWS SES returns the message ID, which I update the db row. And when the SQS message comes through, the tag is part of the message, which helps me match up the database row.
SES Monitoring using SNS: What filtering can be done by subscriberasked 4 months ago
SNS HTTPS Subscription - Invalid parameter: Unreachable Endpointasked 6 months ago
Can't understand how to get SNS event data via HTTPS API endpoint protocolasked a month ago
API call via SDK to send SES email via interface endpointasked 5 months ago
Some of my domains set in SES didn't send notifications to my SNS topic.asked 2 years ago
Issue sending email updates to encrypted SNS topicasked 3 years ago
Default configuration set with SES IAM userasked a year ago
How to add headers and commonHeaders in SES?asked 2 months ago
How to receive only one sns notification triggered via autoscaling event.Accepted Answerasked 3 months ago
Sensing SNS email notifications from my domainasked 6 months ago