The Suggestion:
I would like to suggest that IGDB includes two specific fields in the JSON payload of every webhook: the operation type (create, update, or delete) and the source endpoint name (e.g., games, covers, etc.).
The Problem:
Currently, to differentiate between different entities and operations, I have to set up a unique listener URL for every combination of endpoint and action. Since there are approximately 71 endpoints, multiplying them by the 3 operations (create, update, and delete) would require me to create approximately 213 different listener endpoints. Managing this many listeners is extremely inefficient and creates unnecessary infrastructure and networking complexity.
The Solution:
If the operation and the endpoint were included directly in the payload, I could use a single open port and a single listener URL to receive all responses. This would allow me to handle all the routing logic internally in my application code, rather than having to configure and maintain over 200 separate listeners.
Benefits:
This change would greatly simplify infrastructure management and make it much more scalable. It is the only practical way to handle multiple webhooks without creating massive overhead in the development and deployment process.
Example:
{
"operation": "update",
"endpoint": "games",
"timestamp": 1711486400,
"id": 12345,
"name": "Elden Ring",
"summary": "Rise, Tarnished...",
"platforms": [6, 130, 167]
}